123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- <?php
- namespace Api\Controller;
- use Common\Controller\ApiController;
- class ShareController extends ApiController {
- public function __construct(){
- parent::__construct();
- }
-
- //好友动态、我的动态(不用传uid)
- public function user(){
- $uid = I('uid');
- if (empty($uid)){
- $uid = $this->userId;
- $condition = array('s.user_id'=>$uid);
- }else{
- $groupInfo = M('GroupUser')->where(array('user_id'=>$uid))->group('group_id')->field('group_id')->select();
- if (function_exists('array_column')){
- $groupIdArr = array_column($groupInfo, 'group_id');
- }else{
- foreach ($groupInfo as $r){
- $groupIdArr[] = $r['group_id'];
- }
- }
- $groupIdArr[] = 0;
- $condition = array('s.user_id'=>$uid,'share_status'=>1,'group_id'=>array('IN',$groupIdArr));
- }
- $lastId = I('last_id',0);
- $pageSize = I('page_size',15);
- if (empty($uid) || $uid<1000000){
- $data = array('code'=>1,'msg'=>'用户ID错误');
- $this->returnData($data);exit;
- }
- if ($lastId>0){
- $condition['share_id'] = array('LT',$lastId);
- }
- $courseJoin = ' s LEFT JOIN t_course c ON s.course_id=c.course_id';
- $res = M('Share')->join($courseJoin)->where($condition)->field('share_id,share_content,s.course_id,c.course_name,share_type as course_flag,s.operate_dt')->order('share_id desc')->limit($pageSize)->select();
- //echo M('Share')->getLastSql();exit;
- if ($res == NULL){
- $data = array('code'=>0,'msg'=>'', 'data'=>array());
- $this->returnData($data);exit;
- }
- $userNicknameArr = $this->getUserNickname();
- foreach ($res as $k=>$r){
- $shareRes = M('ShareUser')->join('sw LEFT JOIN t_user u ON sw.user_id=u.user_id')
- ->where(array('share_id'=>$r['share_id']))
- ->field('sw.user_id,u.user_icon,u.user_name')->select();
- foreach ($shareRes as $key=>$item){
- if(isset($userNicknameArr[$item['user_id']])){
- $shareRes[$key]['user_nickname'] = $userNicknameArr[$item['user_id']];
- }else{
- $shareRes[$key]['user_nickname'] = '';
- }
- $shareRes[$key]['user_icon'] = empty($item['user_icon'])?'':$item['user_icon'];
- $shareRes[$key]['user_name'] = empty($item['user_name'])?'':$item['user_name'];
- }
- $res[$k]['user_list'] = $shareRes;
- }
- $data = array('code'=>0,'msg'=>'', 'data'=>$res);
- $this->returnData($data);exit;
- }
-
- //全部好友动态
- public function index(){
- $lastId = I('last_id',0);
- $pageSize = I('page_size',15);
- $condition = array('share_status'=>1);
- if ($lastId>0){
- $condition['share_id'] = array('LT',$lastId);
- }
-
- $condition['user_id|ref_user_id'] = $this->userId;
- $condition['friend_status'] = 2;
- $friendRes = M('Friend')->where($condition)->field('user_id,ref_user_id,user_nickname,ref_user_nickname')->order('friend_id desc')->limit($pageSize)->select();
- if ($friendRes!=NULL){
- $userIdArr = array();
- $userNickArr = array();
- foreach ($friendRes as $r){
- if ($r['user_id']==$this->userId){
- $userIdArr[] = $r['ref_user_id'];
- $userNickArr[$r['ref_user_id']] = $r['ref_user_nickname'];
- }else{
- $userIdArr[] = $r['user_id'];
- $userNickArr[$r['user_id']] = $r['user_nickname'];
- }
- }
- }
- $userIdArr[] = $this->userId;
- if (count($userIdArr)==0){
- $data = array('code'=>1,'msg'=>'暂时没有好友', 'data'=>array());
- $this->returnData($data);exit;
- }
- $userIdArr = array_unique($userIdArr);
- $cons['s.user_id'] = array('IN',implode(',', $userIdArr));
- //获取我所在的群组
- $groupInfo = M('GroupUser')->where(array('user_id'=>$this->userId))->group('group_id')->field('group_id')->select();
- if (function_exists('array_column')){
- $groupIdArr = array_column($groupInfo, 'group_id');
- }else{
- foreach ($groupInfo as $r){
- $groupIdArr[] = $r['group_id'];
- }
- }
- $groupIdArr[] = 0;
- $cons['group_id'] = array('IN',$groupIdArr);
- $res = M('Share')->join(' s LEFT JOIN t_user u ON s.user_id=u.user_id LEFT JOIN t_course c ON s.course_id=c.course_id')
- ->where($cons)->field('share_id,s.user_id,share_content,s.course_id,c.course_name,share_type as course_flag,s.operate_dt,u.user_name,u.user_icon')
- ->order('share_id desc')->limit($pageSize)->select();
- //echo M('Share')->getLastSql();exit;
- if ($res == NULL){
- $data = array('code'=>0,'msg'=>'', 'data'=>array());
- $this->returnData($data);exit;
- }
- $userNicknameArr = $this->getUserNickname();
- foreach ($res as $k=>$r){
- if (empty($r['user_name'])){
- $res[$k]['user_name'] = '';
- }
- if (isset($userNickArr[$r['user_id']])){
- $res[$k]['user_nickname'] = $userNickArr[$r['user_id']];
- }else{
- $res[$k]['user_nickname'] = '';
- }
- if (empty($r['user_icon'])){
- $res[$k]['user_icon'] = '';
- }
- //获取好友点赞
- $shareRes = M('ShareUser')->join('sw LEFT JOIN t_user u ON sw.user_id=u.user_id')
- ->where(array('share_id'=>$r['share_id']))
- ->field('sw.user_id,u.user_icon,u.user_name')->select();
- foreach ($shareRes as $key=>$item){
- if(isset($userNicknameArr[$item['user_id']])){
- $shareRes[$key]['user_nickname'] = $userNicknameArr[$item['user_id']];
- }else{
- $shareRes[$key]['user_nickname'] = '';
- }
- $shareRes[$key]['user_icon'] = empty($item['user_icon'])?'':$item['user_icon'];
- $shareRes[$key]['user_name'] = empty($item['user_name'])?'':$item['user_name'];
- }
- $res[$k]['user_list'] = $shareRes;
- }
- $data = array('code'=>0,'msg'=>'', 'data'=>$res);
- $this->returnData($data);exit;
- }
-
- //分享自由记
- public function notepad(){
- $groupId = I('group_id');
- $courseId = I('course_id');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'自由记ID错误');
- $this->returnData($data);exit;
- }
-
- /* $shareInfo = M('Share')->where(array('course_id'=>$courseId,'user_id'=>$this->userId,'share_type'=>2))->field('share_id')->find();
- if ($shareInfo!=NULL){
- $data = array('code'=>1,'msg'=>'该自由记已经分享过了');
- $this->returnData($data);exit;
- } */
- $info = M('Course')->where(array('course_id'=>$courseId))->field('course_name')->find();
- $shareContent = '发现了一个好的自由记《'.$info['course_name'].'》,推荐给你,拿去不谢!';
- $saveData = array('user_id'=>$this->userId,'course_id'=>$courseId,'group_id'=>$groupId,'share_content'=>$shareContent,'operate_dt'=>time(),'share_type'=>2);
- $share_id = M('Share')->add($saveData);
- $data = array('code'=>0,'msg'=>'分享自由记成功', 'data'=>'');
- $this->returnData($data);exit;
- }
-
- //分享课程
- public function course(){
- $groupId = I('group_id');
- $courseId = I('course_id');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- /* $shareInfo = M('Share')->where(array('course_id'=>$courseId,'user_id'=>$this->userId,'share_type'=>1))->field('share_id')->find();
- if ($shareInfo!=NULL){
- $data = array('code'=>1,'msg'=>'该课程已经分享过了');
- $this->returnData($data);exit;
- } */
- $info = M('Course')->where(array('course_id'=>$courseId))->field('course_name')->find();
- $shareContent = '发现了一门好的课程《'.$info['course_name'].'》,推荐给你,拿去不谢!';
- $saveData = array('user_id'=>$this->userId,'course_id'=>$courseId,'group_id'=>$groupId,'share_content'=>$shareContent,'operate_dt'=>time(),'share_type'=>1);
- $share_id = M('Share')->add($saveData);
- $data = array('code'=>0,'msg'=>'分享课程成功', 'data'=>'');
- $this->returnData($data);exit;
- }
- //分享课程给用户
- public function course_user(){
- $user_id = I('user_id');
- $courseId = I('course_id');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
-
- if(!$user_id){
- $data = array('code'=>1,'msg'=>'用户ID错误');
- $this->returnData($data);exit;
- }
-
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_name')->find();
- $info = M('Course')->where(array('course_id'=>$courseId))->field('*')->find();
- $noticeContent = $userInfo['user_name']."给你分享了课程《".$info['course_name']."》";
- $userarr=explode(',',$user_id);
- $temp=$info;
- foreach($userarr as $k=>$uid){
- M('Notice')->add(array('ref_user_id'=>$uid,'user_id'=>$this->userId,'notice_flag'=>3,'notice_status'=>3,'notice_type'=>1,'notice_title'=>'课程分享','notice_content'=>$noticeContent,'operate_dt'=>time(),'extra'=>json_encode($temp)));
- M('User')->where(array('user_id'=>$uid))->setInc('friend_notice');
-
- $data = json_encode(array('type'=>1,'msg'=>$noticeContent,'data'=>array('title'=>$noticeContent,'course_id'=>$courseId,'course_name'=>$info['course_name'])));
-
- $this->umengPush($uid, $data);
- }
- $data = array('code'=>0,'msg'=>'分享课程成功', 'data'=>'');
- $this->returnData($data);exit;
- }
- //分享社区给用户
- public function choice_user(){
- $user_id = I('user_id');
- $choiceId = I('choice_id');
- if (empty($choiceId) || $choiceId<1000000){
- $data = array('code'=>1,'msg'=>'社区ID错误');
- $this->returnData($data);exit;
- }
-
- if(!$user_id){
- $data = array('code'=>1,'msg'=>'用户ID错误');
- $this->returnData($data);exit;
- }
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_name')->find();
- $info = M('Choice')->where(array('choice_id'=>$choiceId))->field('*')->find();
- $noticeContent = $userInfo['user_name']."给你分享了文章《".$info['choice_name']."》";
- $userarr=explode(',',$user_id);
- $temp=$info;
- foreach($userarr as $k=>$uid){
- M('Notice')->add(array('ref_user_id'=>$uid,'user_id'=>$this->userId,'notice_flag'=>4,'notice_status'=>3,'notice_type'=>1,'notice_title'=>'文章分享','notice_content'=>$noticeContent,'operate_dt'=>time(),'extra'=>json_encode($temp)));
- M('User')->where(array('user_id'=>$uid))->setInc('friend_notice');
-
- $data = json_encode(array('type'=>1,'msg'=>$noticeContent,'data'=>array('title'=>$noticeContent,'choice_id'=>$choiceId,'choice_name'=>$info['choice_name'])));
- $this->umengPush($uid, $data);
- }
-
- $data = array('code'=>0,'msg'=>'分享社区文章成功', 'data'=>'');
- $this->returnData($data);exit;
- }
- //分享对战结果
- public function pk(){
- $groupId = I('group_id');
- $recordId = I('record_id');
- $shareContent = I('share_content');
- if (empty($recordId)){
- $data = array('code'=>1,'msg'=>'对战ID错误');
- $this->returnData($data);exit;
- }
- if (empty($shareContent)){
- $data = array('code'=>1,'msg'=>'分享内容不能为空');
- $this->returnData($data);exit;
- }
- /* $shareInfo = M('Share')->where(array('record_id'=>$recordId,'user_id'=>$this->userId,'share_type'=>3))->field('share_id')->find();
- if ($shareInfo!=NULL){
- $data = array('code'=>1,'msg'=>'该对战已经分享过了');
- $this->returnData($data);exit;
- } */
- //$shareContent = '经过1分58秒的对战,我轻松赢得跟xxx的单词对抗赛,我就想问:还有谁!';
- $saveData = array('user_id'=>$this->userId,'course_id'=>$recordId,'group_id'=>$groupId,'share_content'=>$shareContent,'operate_dt'=>time(),'share_type'=>3);
- $share_id = M('Share')->add($saveData);
- $data = array('code'=>0,'msg'=>'分享对战成功', 'data'=>'');
- $this->returnData($data);exit;
- }
-
- //好友动态点赞
- public function zan(){
- $shareId = I('share_id');
- $info = M('ShareUser')->where(array('user_id'=>$this->userId,'share_id'=>$shareId))->field('sw_id')->find();
- if ($info!=NULL){
- $data = array('code'=>1,'msg'=>'请不要重复点赞');
- $this->returnData($data);exit;
- }
- $shareInfo = M('Share')->where(array('share_id'=>$shareId))->field('user_id')->find();
- if ($shareInfo==NULL){
- $data = array('code'=>1,'msg'=>'该分享不存在');
- $this->returnData($data);exit;
- }
- /* if ($shareInfo['user_id']==$this->userId){
- $data = array('code'=>0,'msg'=>'点赞成功');
- $this->returnData($data);exit;
- } */
- $noticeTitle = '占消息';
- $noticeContent = '您的好友给你点赞了,请查看吧。';
- M('User')->where(array('user_id'=>$shareInfo['user_id']))->setInc('zan_notice');
- M('Notice')->add(array('ref_user_id'=>$shareInfo['user_id'],'user_id'=>$this->userId,'share_type'=>3,'notice_title'=>$noticeTitle,'notice_content'=>$noticeContent,'operate_dt'=>time()));
- M('ShareUser')->add(array('user_id'=>$this->userId,'share_id'=>$shareId,'operate_dt'=>time()));
- $data = array('code'=>0,'msg'=>'点赞成功');
- $this->returnData($data);exit;
- }
-
- //删除分享
- public function del(){
- $shareId = I('share_id');
- $shareInfo = M('Share')->where(array('share_id'=>$shareId))->field('user_id')->find();
- if ($shareInfo==NULL && $shareInfo['user_id']!=$this->userId){
- $data = array('code'=>1,'msg'=>'无权删除该分享');
- $this->returnData($data);exit;
- }
- M('Share')->where(array('share_id'=>$shareId))->delete();
- $data = array('code'=>0,'msg'=>'分享删除成功');
- $this->returnData($data);exit;
- }
-
- //删除点赞
- public function delZan(){
- $swId = I('sw_id');
- $shareInfo = M('ShareUser')->where(array('sw_id'=>$swId))->field('user_id')->find();
- if ($shareInfo==NULL){
- $data = array('code'=>0,'msg'=>'已删除');
- $this->returnData($data);exit;
- }
- M('ShareUser')->where(array('sw_id'=>$swId))->delete();
- $data = array('code'=>0,'msg'=>'已删除');
- $this->returnData($data);exit;
- }
-
- public function url(){
- $url = 'http://www.hanlinyuanonline.com/api/download';
- $data = array('code'=>0,'msg'=>'','data'=>array('url'=>$url,'title'=>'碰词儿, 全能的单词助手'));
- $this->returnData($data);exit;
- }
- }
|