123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756 |
- <?php
- namespace Api\Controller;
- use Common\Controller\ApiController;
- class UserController extends ApiController {
- public function __construct(){
- parent::__construct();
- }
- //完善个人资料
- public function edit(){
- $userSex = I('user_sex');
- $userIcon = I('user_icon');
- $userName = I('user_name');
- $userBirthdate = I('user_birthdate');
- $userAddress = I('user_address');
- $userCity = I('user_city');
- $userProvince = I('user_province');
- $userIntro = I('user_intro');
- $saveData = array();
- if (!empty($userName)){
- if (mb_strlen($userName,'UTF8')<2 || mb_strlen($userName,'UTF8')>12){
- $data = array('code'=>1,'msg'=>'昵称长度2到12个字符之间');
- $this->returnData($data);exit;
- }
- $saveData['user_name'] = $userName;
- }
- if (!empty($userSex)){
- $saveData['user_sex'] = $userSex;
- }
- if (!empty($userIcon)){
- $saveData['user_icon'] = $userIcon;
- }
- if (!empty($userBirthdate)){
- $saveData['user_birthdate'] = strtotime(date('Y-m-d',$userBirthdate));
- }
- if (!empty($userAddress)){
- $saveData['userAddress'] = $userAddress;
- }
- if (!empty($userCity)){
- $saveData['user_city'] = $userCity;
- }
- if (!empty($userProvince)){
- $saveData['user_province'] = $userProvince;
- }
- if (!empty($userIntro)){
- if (mb_strlen($userIntro,'UTF8')>140){
- $data = array('code'=>1,'msg'=>'个人介绍不能超过140字符');
- $this->returnData($data);exit;
- }
- $saveData['user_intro'] = $userIntro;
- }
- if (count($saveData)){
- M('User')->where(array('user_id'=>$this->userId))->save($saveData);
- $info = M('User')->where(array('user_id'=>$this->userId))->field('user_id,user_phone,user_name,user_intro,user_level,user_sex,user_icon,user_city,user_province,user_birthdate,user_score,zan_notice,friend_notice,operate_dt')->find();
- $levelInfo = M('UserLevel')->where(array('level_id'=>$info['user_level']))->field('level_name,min_score,max_score')->find();
- if ($levelInfo['min_score']<=$info['user_score'] && $info['user_score']<$levelInfo['max_score']){
- $info['level_name'] = $levelInfo['level_name'];
- }else{
- $levelRes = M('UserLevel')->field('level_name,min_score,max_score')->select();
- //修改等级
- foreach ($levelRes as $level){
- if ($level['min_score']<=$info['user_score'] && $info['user_score']<$level['max_score']){
- $info['level_name'] = $levelInfo['level_name'];
- M('User')->where(array('user_id'=>$info['user_id']))->save(array('user_level'=>$level['level_id']));
- break;
- }
- }
- }
- $fansCount = M('Fans')->where(array('fans_user_id'=>$info['user_id']))->count();
- $info['fans_nums'] = $fansCount==NULL?0:$fansCount;
- $fansCount = M('Fans')->where(array('user_id'=>$info['user_id']))->count();
- $info['fans_user_nums'] = $fansCount==NULL?0:$fansCount;
- $data = array('code'=>0,'msg'=>'','data'=>$info);
- $this->returnData($data);exit;
- }else{
- $data = array('code'=>1,'msg'=>'没有修改任何内容');
- $this->returnData($data);exit;
- }
- }
-
- //添加到我的课程列表
- public function course(){
- $uwType = I('uw_type');
- $uid = I('user_id');
- if(!$uid)$uid=$this->userId;
-
- //$this->userId = 1000001;
- $condition = array(
- 'uw.user_id'=>$uid,
- 'uw.is_delete'=>1,
- 'uw.is_show'=>1,
- //'c.course_status'=>3,
- 'c.course_flag'=>1,
- 'c.is_delete'=>1,
- );
- if (!empty($uwType)){
- $condition['uw.uw_type'] = $uwType;
- }
- //我收藏的课程
- $join = 'uw LEFT JOIN t_course c ON uw.course_id=c.course_id';
- $res1 = M('UserWords')->join($join)->where($condition)->field('c.course_id,c.user_id,c.course_name,c.course_intro,c.course_num,c.course_join,c.course_flag,c.course_status,uw.operate_dt,uw.uw_id,uw.uw_type')->order('uw_id desc')->select();
- $courseList = array();
- foreach ($res1 as $row){
- $courseList[$row['course_id']] = $row;
- }
- if (empty($uwType)){
- //我添加的课程
- $res2 = M('Course')->where(array('user_id'=>$uid,'course_flag'=>1,'is_delete'=>1,'is_show'=>1,))->field('course_id,user_id,course_name,course_intro,course_num,course_join,course_status,course_flag,operate_dt,0 as uw_id,0 as uw_type')->order('course_id desc')->select();
- foreach ($res2 as $row){
- if (isset($courseList[$row['course_id']])){
- continue;
- }else{
- if($row['course_name']=='易错单词'){
- array_unshift($courseList,$row);
- }else{
- $courseList[$row['course_id']] = $row;
- }
- }
- }
- }
- $res = array();
- foreach ($courseList as $r){
- if ($r['course_name']=='易错单词' || $r['course_name']=='重点单词'){
- $r['is_special'] = 1;
- }else{
- $r['is_special'] = 0;
- }
- $res[] = $r;
- }
- $data = array('code'=>0,'msg'=>'','data'=>$res);
- $this->returnData($data);exit;
- }
- //好友列表
- public function friend(){
- $lastId = I('last_id',0);
- $groupId = I('group_id');
- $pageSize = I('page_size',10);
- if (empty($this->userId) || $this->userId<1000000){
- $data = array('code'=>1,'msg'=>'用户ID错误');
- $this->returnData($data);exit;
- }
- if ($lastId>0){
- $condition['friend_id'] = array('GT',$lastId);
- }
- $condition['user_id|ref_user_id'] = $this->userId;
- $condition['friend_status'] = 2;
- $res = M('Friend')->where($condition)->field('user_id,ref_user_id,user_nickname,ref_user_nickname')->order('friend_id desc')->limit($pageSize)->select();
- if ($res==NULL){
- $data = array('code'=>0,'msg'=>'','data'=>array());
- $this->returnData($data);exit;
- }
- $userIdArr = array();
- $userNameArr = array();
- foreach ($res as $r){
- if ($r['user_id']==$this->userId){
- $userIdArr[] = $r['ref_user_id'];
- $userNameArr[$r['ref_user_id']] = $r['ref_user_nickname'];
- }else{
- $userIdArr[] = $r['user_id'];
- $userNameArr[$r['user_id']] = $r['user_nickname'];
- }
- }
- $cons = array('user_id'=>array('IN',implode(',', $userIdArr)),'is_delete'=>1);
- $resList = M('User')->where($cons)->order('user_id desc')->field('user_id,user_phone,user_name,user_level,user_sex,user_icon')->select();
- if (!empty($groupId)){
- $groupInfo = M('GroupUser')->where(array('group_id'=>$groupId))->field('user_id')->select();
- if ($groupInfo==NULL){
- $groupUserIdArr = array();
- }else{
- if (function_exists('array_column')){
- $groupUserIdArr = array_column($groupInfo, 'user_id');
- }else{
- foreach ($groupInfo as $r){
- $groupUserIdArr[] = $r['user_id'];
- }
- }
- }
- }
- //添加备注名
- foreach ($resList as $key=>$res){
- $resList[$key]['user_nickname'] = $userNameArr[$res['user_id']];
- if (!empty($groupId)){
- if (in_array($res['user_id'], $groupUserIdArr)){
- $resList[$key]['is_add'] = 1;
- }else{
- $resList[$key]['is_add'] = 0;
- }
- }
- }
- if ($resList==NULL){
- $resList = array();
- }
- $data = array('code'=>0,'msg'=>'','data'=>$resList);
- $this->returnData($data);exit;
- }
-
- //获取好友基本信息
- public function getInfoByUserId(){
- $uid = I('uid');
- /*
- if ($uid>0 && $uid<1000000){
- $data = array('code'=>1,'msg'=>'用户ID错误');
- $this->returnData($data);exit;
- }
-
- if ($uid<$this->userId){
- $field = 'u.user_id,user_phone,user_intro,user_name,user_level,user_sex,user_birthdate,user_score,user_city,user_province,user_icon,f.user_nickname,ul.level_name';
- $info = M('Friend')->join(' f LEFT JOIN t_user u ON f.user_id=u.user_id LEFT JOIN t_user_level ul ON u.user_level=ul.level_id')
- ->where(array('f.user_id'=>$uid,'ref_user_id'=>$this->userId,'friend_status'=>2))
- ->field($field)->find();
- }else{
- $field = 'u.user_id,user_phone,user_intro,user_name,user_level,user_sex,user_birthdate,user_score,user_city,user_province,user_icon,f.ref_user_nickname as user_nickname,ul.level_name';
- $info = M('Friend')->join(' f LEFT JOIN t_user u ON f.ref_user_id=u.user_id LEFT JOIN t_user_level ul ON u.user_level=ul.level_id')
- ->where(array('ref_user_id'=>$uid,'f.user_id'=>$this->userId,'friend_status'=>2))
- ->field($field)->find();
- }
- */
- if ($info==NULL){
- $info = M('User')->join(' u LEFT JOIN t_user_level ul ON u.user_level=ul.level_id')->where(array('user_id'=>$uid))->field('user_id,user_phone,user_intro,user_name,user_level,user_sex,user_icon,user_birthdate,user_score,user_city,user_province,"" as user_nickname,ul.level_name')->find();
- if ($info==NULL){
- $data = array('code'=>1,'msg'=>'用户不存在',);
- $this->returnData($data);exit;
- }
- }
- $FriendCount = M('Friend')->where(array('ref_user_id'=>$this->userId,'user_id'=>$uid,'friend_status'=>2))->count();
- if($FriendCount){
- $info['is_friend'] = 1;
- }else{
- $info['is_friend'] = 0;
- }
-
- //认证作者判断
-
- $AuthCount = M('choice')->where(array('user_id'=>$uid,'choice_status'=>3,'choice_type'=>2))->count();
- if($AuthCount){
- $info['is_auth'] = 1;
- }else{
- $AuthCount = M('course')->where(array('user_id'=>$uid,'course_status'=>3))->count();
- if($AuthCount){
- $info['is_auth'] = 1;
- }else{
- $info['is_auth'] = 0;
- }
- }
-
- if ($uid!=$this->userId){
- $fansInfo = M('Fans')->where(array('user_id'=>$this->userId,'fans_user_id'=>$uid))->field('fans_id')->find();
- $info['is_fans'] = $fansInfo==NULL?0:1;
-
- }else{
- $info['is_fans'] = 2;
-
- }
- $fansCount = M('Fans')->where(array('fans_user_id'=>$uid))->count();
- $info['fans_nums'] = $fansCount==NULL?0:$fansCount;
- $fansCount = M('Fans')->where(array('user_id'=>$uid))->count();
- $info['fans_user_nums'] = $fansCount==NULL?0:$fansCount;
-
- $data = array('code'=>0,'msg'=>'','data'=>$info);
- $this->returnData($data);exit;
- }
-
- //修改好友备注名
- public function editNicknameByUserId(){
- $uid = I('uid','');
- $userNickname = I('user_nickname');
- if ($uid==''){
- $data = array('code'=>1,'msg'=>'用户ID错误');
- $this->returnData($data);exit;
- }
- if (mb_strlen($userNickname,'UTF8')<2 || mb_strlen($userNickname,'UTF8')>12){
- $data = array('code'=>1,'msg'=>'备注长度2到12个汉字之间');
- $this->returnData($data);exit;
- }
- if ($uid<$this->userId){
- $condition = array('user_id'=>$uid);
- $upData = array('user_nickname'=>$userNickname);
- }else{
- $condition = array('ref_user_id'=>$uid);
- $upData = array('ref_user_nickname'=>$userNickname);
- }
- M('Friend')->where($condition)->save($upData);
- //删除昵称缓存
- S($this->userId.'_user_nickname',null);
- $data = array('code'=>0,'msg'=>'备注修改成功','data'=>array('user_nickname'=>$userNickname));
- $this->returnData($data);exit;
- }
-
- //搜索用户信息
- public function search(){
- $keyword = I('keyword');
- if (empty($keyword)){
- $data = array('code'=>1,'msg'=>'搜索关键词不能为空');
- $this->returnData($data);exit;
- }
- $condition['user_id|user_phone'] = $keyword;
- $join = ' u LEFT JOIN t_user_level ul ON u.user_level=ul.level_id';
- $info = M('User')->join($join)->where($condition)->field('user_id,user_phone,user_name,user_level,user_sex,user_icon,ul.level_name')->select();
- if ($info == NULL){
- $data = array('code'=>1,'msg'=>'未搜索到用户信息');
- $this->returnData($data);exit;
- }
- foreach ($info as $key=>$row){
- if ($row['user_id']<$this->userId){
- $cons = array('user_id'=>$row['user_id'],'ref_user_id'=>$this->userId);
- }else{
- $cons = array('user_id'=>$this->userId,'ref_user_id'=>$row['user_id']);
- }
- $res = M('Friend')->where($cons)->field('friend_id,friend_status,user_nickname,ref_user_nickname')->find();
- if ($res==NULL || $res['friend_status']!=2){
- $info[$key]['is_friend'] = 0;
- }else{
- if ($row['user_id']<$this->userId){
- $info[$key]['user_nickname'] = $res['user_nickname'];
- }else{
- $info[$key]['user_nickname'] = $res['ref_user_nickname'];
- }
- $info[$key]['is_friend'] = 1;
- }
- }
- $data = array('code'=>0,'msg'=>'','data'=>$info);
- $this->returnData($data);exit;
- }
-
- //我的自由记
- public function notepad(){
- /* $lastId = I('last_id',0);
- $pageSize = I('page_size',100);
- $condition = array('course_flag'=>2,'user_id'=>$this->userId);
- if ($lastId>0){
- $condition['course_id'] = array('GT',$lastId);
- }
-
- $res = M('Course')->where($condition)->order('course_id desc')->limit($pageSize)->field('course_id,user_id,course_name,course_join,course_content,course_source,operate_dt')->select();
- $data = array('code'=>0,'msg'=>'','data'=>$res);
- $this->returnData($data);exit; */
- $condition = array(
- 'uw.user_id'=>$this->userId,
- 'uw.is_delete'=>1,
- 'uw.is_show'=>1,
- //'c.course_status'=>3,
- 'c.course_flag'=>2,
- 'c.is_delete'=>1,
- );
- //我收藏的课程
- $join = 'uw LEFT JOIN t_course c ON uw.course_id=c.course_id';
- $res1 = M('UserWords')->join($join)->where($condition)->field('c.course_id,c.user_id,c.course_name,c.course_num,c.course_join,c.course_content,c.course_flag,c.course_status,uw.operate_dt,uw.uw_id,uw.uw_type')->order('uw_id desc')->select();
- //echo M('UserWords')->getLastSql();exit;
- $courseList = array();
- foreach ($res1 as $row){
- $courseList[$row['course_id']] = $row;
- }
-
- //我添加的课程
- $res2 = M('Course')->where(array('user_id'=>$this->userId,'course_flag'=>2,'is_delete'=>1,'is_show'=>1,))->field('course_id,user_id,course_name,course_num,course_join,course_content,course_status,course_flag,operate_dt,0 as uw_id,0 as uw_type')->order('course_id desc')->select();
- //echo M('Course')->getLastSql();exit;
- foreach ($res2 as $row){
- if (isset($courseList[$row['course_id']])){
- continue;
- }else{
- $courseList[$row['course_id']] = $row;
- }
- }
-
- $res = array();
- foreach ($courseList as $r){
- $res[] = $r;
- }
- $data = array('code'=>0,'msg'=>'','data'=>$res);
- $this->returnData($data);exit;
- }
-
- //删除好友
- public function friendDel(){
- $uid = I('uid');
- if ($uid>$this->userId){
- M('Friend')->where(array('user_id'=>$this->userId,'ref_user_id'=>$uid))->delete();
- }else{
- M('Friend')->where(array('ref_user_id'=>$this->userId,'user_id'=>$uid))->delete();
- }
- $data = array('code'=>0,'msg'=>'','data'=>'');
- $this->returnData($data);exit;
- }
-
- //添加好友
- public function add(){
- $uid = I('uid');
- if (empty($uid)){
- $uid=0;
- }
- if ($uid<$this->userId){
- $condition = array('user_id'=>$uid,'ref_user_id'=>$this->userId);
- }else{
- $condition = array('user_id'=>$this->userId,'ref_user_id'=>$uid);
- }
-
- $info = M('Friend')->where($condition)->field('friend_id')->find();
- if ($info==NULL){
- //查询用户详细信息
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_name')->find();
- $saveData = $condition;
- $saveData['operate_dt'] = time();
- $friendId = M('Friend')->add($saveData);
- $noticeContent = $userInfo['user_name'].'请求添加成为您的好友!';
- M('Notice')->add(array('ref_user_id'=>$uid,'user_id'=>$this->userId,'notice_flag'=>1,'notice_status'=>3,'notice_type'=>1,'notice_title'=>'请求添加','notice_content'=>$noticeContent,'operate_dt'=>time()));
- M('User')->where(array('user_id'=>$uid))->setInc('friend_notice');
-
- $data = json_encode(array('type'=>1,'msg'=>$noticeContent,'data'=>array('title'=>$noticeContent,'friend_id'=>$friendId)));
- $this->umengPush($uid, $data);
- $data = array('code'=>0,'msg'=>'','data'=>'');
- $this->returnData($data);exit;
- }else{
- if($info['friend_status']==1){
- $data = array('code'=>1,'msg'=>'已申请, 等待对方同意','data'=>'');
- }elseif($info['friend_status']==2){
- $data = array('code'=>1,'msg'=>'该用户已经是好友,无需重复申请','data'=>'');
- }elseif($info['friend_status']==3){
- $data = array('code'=>1,'msg'=>'该用户拒绝了您的好友申请','data'=>'');
- }
-
- $this->returnData($data);exit;
- }
- }
-
- //是否同意加好友
- public function friendAgree(){
- $uid = I('uid');
- $friendStatus = I('friend_status');
- if (empty($uid)){
- $data = array('code'=>1,'msg'=>'好友user_id不能为空','data'=>'');
- $this->returnData($data);exit;
- }
- if (!in_array($friendStatus, array(2,3))){
- $data = array('code'=>1,'msg'=>'修改好友关系状态错误','data'=>'');
- $this->returnData($data);exit;
- }
- if ($this->userId>$uid){
- $info = M('Friend')->where(array('user_id'=>$uid,'ref_user_id'=>$this->userId))->field('friend_id,user_id,ref_user_id')->find();
- }else{
- $info = M('Friend')->where(array('user_id'=>$this->userId,'ref_user_id'=>$uid))->field('friend_id,user_id,ref_user_id')->find();
- }
- if ($info==NULL){
- $data = array('code'=>1,'msg'=>'好友关系user_id错误','data'=>'');
- $this->returnData($data);exit;
- }
- M('Friend')->where(array('friend_id'=>$info['friend_id']))->save(array('friend_status'=>$friendStatus));
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_name')->find();
- $userName = '';
- if ($userInfo!=NULL){
- $userName = $userInfo['user_name'];
- }
- if ($friendStatus==2){
- $noticeTitle = '好友申请通过';
- $noticeContent = $userName.'已经同意您的好友添加申请了。';
- }else{
- $noticeTitle = '好友申请失败';
- $noticeContent = $userName.'已经拒绝了您的好友添加申请了。';
- }
- M('Notice')->where(array('user_id'=>$uid,'ref_user_id'=>$this->userId,))->save(array('notice_status'=>2));
- M('User')->where(array('user_id'=>$uid))->setInc('friend_notice');
- M('Notice')->add(array('ref_user_id'=>$uid,'user_id'=>$this->userId,'notice_flag'=>2,'notice_type'=>2,'notice_title'=>$noticeTitle,'notice_content'=>$noticeContent,'operate_dt'=>time()));
- $data = array('code'=>0,'msg'=>'好友关系修改成功','data'=>'');
- $this->returnData($data);exit;
- }
-
- //设置为当前正在学习的课程
- public function currentCourse(){
- $courseId = I('course_id');
- $wordsId = I('words_id','');
- $with_list = I('with_list','');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $condition = array(
- 'uw_type'=>2,
- 'current_course'=>2,
- 'is_show'=>1,
- 'user_id'=>$this->userId,
- );
- $partInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- $courseInfo = M('Course')->where(array('course_id'=>$courseId))->field('course_num')->find();
- if ($courseInfo==NULL){
- $data = array('code'=>1,'msg'=>'当前课程还未添加单词');
- $this->returnData($data);exit;
- }else{
- $courseNum = $courseInfo['course_num'];
- }
- if ($partInfo==null){
- $userPart = 15;
- }else{
- $userPart = $partInfo['user_part'];
- }
- $partNum = ceil($courseNum/$userPart);
- $uwInfo = M('UserWords')->where($condition)->field('course_id,uw_id')->find();
- if (empty($userPart)){
- $userPart = 15;
- }
- $saveData = array(
- 'uw_type'=>2,
- 'current_course'=>2,
- 'user_part'=>$userPart,
- 'part_num'=>$partNum,
- 'course_id'=>$courseId,
- 'user_id'=>$this->userId,
- 'operate_dt'=>time(),
- );
- if ($uwInfo==NULL){
- M('UserWords')->add($saveData);
- }else if($uwInfo['course_id']!=$courseId){
- M('UserWords')->where(array('user_id'=>$this->userId,'current_course'=>2))->save(array('current_course'=>1));
- M('UserWords')->where(array('uw_id'=>$uwInfo['uw_id']))->save($saveData);
- }
- //$res = M('UserWords')->where($condition)->field('course_id,uw_id')->find();
- $cons = array(
- 'current_course'=>2,
- 'uw.is_show'=>1,
- 'uw.user_id'=>$this->userId,
- );
- $join = 'uw LEFT JOIN t_course c ON uw.course_id=c.course_id';
- $res = M('UserWords')->join($join)->where($cons)->field('uw.course_id,uw.user_id,course_join,course_num,course_name,uw_id,uw.user_part,uw.part_num')->find();
- if ($res==NULL){
- $data = array('code'=>0,'msg'=>'暂未设置正在学习的课程');
- $this->returnData($data);exit;
- }
- $res['user_part'] = empty($res['user_part'])?'0':$res['user_part'];
- //获取指定章节的单词
- if (!empty($wordsId)){
- $dataArr = $this->getPartWords($res['course_id'], $wordsId);
- if ($dataArr){
- //$res['list'] = $dataArr['partWordsList'];
- $res['part'] = $dataArr['part'];
- }
- }
- $data = array('code'=>0,'msg'=>'','data'=>$res);
- $this->returnData($data);exit;
- }
-
- //获取当前正在学习的课程
- public function getCurrentCourse(){
- $wordsId = I('words_id','');
- $with_list = I('with_list','');
- $condition = array(
- 'current_course'=>2,
- 'uw.is_show'=>1,
- 'uw.user_id'=>$this->userId,
- );
- $join = 'uw LEFT JOIN t_course c ON uw.course_id=c.course_id';
- $res = M('UserWords')->join($join)->where($condition)->field('uw.course_id,uw.user_id,course_join,course_num,course_name,uw_id,uw.user_part,uw.part_num')->find();
- if ($res==NULL){
- $data = array('code'=>0,'msg'=>'暂未设置正在学习的课程');
- $this->returnData($data);exit;
- }
- $res['user_part'] = empty($res['user_part'])?'0':$res['user_part'];
- $studyInfo = M('StudyWords')->where(array('user_id'=>$this->userId))->field('study_id,words_id,course_id')->find();
- if ($studyInfo!=NULL && empty($wordsId)){
- $wordsId = $studyInfo['words_id'];
- }
- //获取指定章节的单词
- if (!empty($wordsId)){
- $dataArr = $this->getPartWords($res['course_id'], $wordsId);
- if ($dataArr){
- //$res['list'] = $dataArr['partWordsList'];
- if (function_exists('array_column')){
- $wordsIdArr = array_column($dataArr['partWordsList'], 'words_id');
- }else{
- foreach ($dataArr['partWordsList'] as $wRow){
- $wordsIdArr[] = $wRow['words_id'];
- }
- }
- $res['position'] = array_search($wordsId,$wordsIdArr);
- $res['part'] = $dataArr['part'];
- $res['words_id'] = $wordsId;
- }
- }
- $info = M('WordsSort')->where(array('course_id'=>$res['course_id'],'user_id'=>$this->userId,'sort_status'=>1))->field('sort_id')->find();
- if ($info!=NULL){
- $res['set_sort'] = 1;
- }else{
- $res['set_sort'] = 0;
- }
- if ($res['course_name']=='易错单词' || $res['course_name']=='重点单词'){
- $wordsPart = M('Words')->where(array('course_id'=>$res['course_id']))->field('operate_dt')->group('operate_dt')->select();
- $res['part_num'] = count($wordsPart);
- $res['is_special'] = 1;
- }else{
- $res['is_special'] = 0;
- }
- $data = array('code'=>0,'msg'=>'','data'=>$res);
- $this->returnData($data);exit;
- }
-
- //获取指定单词所在章节单词
- private function getPartWords($courseId,$wordsId){
- //判断是否设置乱序
- $sortInfo = M('WordsSort')->where(array('course_id'=>$courseId,'user_id'=>$this->userId,'sort_status'=>1))->find();
- if ($sortInfo==NULL){
- $wordsInfo = M('Words')->where(array('course_id'=>$courseId))->order('words_id asc')->select();
- }else{
- $orderby = 'field(words_id,'. $sortInfo['word_ids'] .')';
- $wordsInfo = M('Words')->where(array('course_id'=>$courseId))->order($orderby)->select();
- //$wordsInfo = explode(',', $sortInfo['word_ids']);
- }
- $partInfo = M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->field('user_part,part_num')->find();
- if ($partInfo==NULL){
- //$partInfo['user_part'] = 15;
- return false;
- }
- if ($partInfo['user_part']==15&&$partInfo['part_num']==0){
- return false;
- }
- $total = M('Words')->where(array('course_id'=>$courseId))->count();
- //每章节单词数量(10/3)=4 3,3,3,1
- $partWordsNum = ceil($total/$partInfo['user_part']);
- $firstPartWordsList = array();
- for($i=1;$i<=$partWordsNum;$i++){
- $page = ($i-1)*$partInfo['user_part'];
- //截取每章节单词
- $partWordsList = array_slice($wordsInfo,$page,$partInfo['user_part']);
- if ($i==1){
- $firstPartWordsList = $partWordsList;
- }
- if (empty($wordsId)){
- return array('partWordsList'=>$firstPartWordsList,'part'=>1);
- }
- foreach ($partWordsList as $r){
- if($r['words_id']==$wordsId){
- return array('partWordsList'=>$partWordsList,'part'=>$i);
- }
- }
- }
- return array('partWordsList'=>$firstPartWordsList,'part'=>1);
- }
-
- //获取当前正在学习课程的章节
- private function getCurrentPart(){
- $partInfo = M('UserWords')->where(array('current_course'=>2,'user_id'=>$this->userId))->field('course_id,user_part,part_num')->find();
- if ($partInfo==NULL){
- $data = array('code'=>-1,'msg'=>'暂未设置正在学习的课程');
- $this->returnData($data);exit;
- }
- $res = M('Course')->where(array('course_id'=>$partInfo['course_id'],'is_delete'=>1))->field('course_id,user_id,course_name,course_join,course_num,operate_dt')->find();
- $res['part_num'] = $partInfo['part_num'];
- $res['user_part'] = empty($partInfo['user_part'])?'0':$partInfo['user_part'];
- $data = array('code'=>0,'msg'=>'','data'=>$res);
- $this->returnData($data);exit;
- }
-
- //获取已经添加的课程或者自由记
- public function square(){
- $uwType = I('uw_type',0);
- if (!in_array($uwType, array(0,1,2))){
- $data = array('code'=>1,'msg'=>'类型错误');
- $this->returnData($data);exit;
- }
- $condition = array('user_id'=>$this->userId);
- if (!empty($uwType)){
- $condition['uw_type'] = $uwType;
- }
- $res = M('UserWords')->where($condition)->field('course_id')->select();
- $data = array('code'=>0,'msg'=>'','data'=>$res);
- $this->returnData($data);exit;
- }
-
- //修改友盟token
- public function umengToken(){
- $accessToken = I('access_token');
- M('User')->where(array('user_id'=>$this->userId))->save(array('access_token'=>$accessToken));
- $data = array('code'=>0,'msg'=>'修改友盟token成功','data'=>array());
- $this->returnData($data);exit;
- }
-
- //获取等级列表
- public function getLevel() {
- $info = M('UserLevel')->field('level_id,level_name,min_score,max_score')->select();
- $data = array('code'=>0,'msg'=>'','data'=>$info);
- $this->returnData($data);exit;
- }
-
- //获取通知
- public function getPrompt(){
- $info = M('User')->where(array('user_id'=>$this->userId))->field('sys_notice,friend_notice,zan_notice,reply_notice,praise_notice')->find();
- $data = array('code'=>0,'msg'=>'','data'=>$info);
- $this->returnData($data);exit;
- }
-
- //获取用户信息
- public function info(){
- $info = M('User')->where(array('user_id'=>$this->userId))->field('user_id,user_phone,user_intro,user_pwd,user_name,user_level,user_sex,user_icon,user_city,user_province,user_birthdate,user_score,zan_notice,sys_notice,friend_notice,reply_notice,operate_dt,forbidden,admin_id')->find();
- $levelInfo = M('UserLevel')->where(array('level_id'=>$info['user_level']))->field('level_name,min_score,max_score')->find();
- if ($levelInfo['min_score']<=$info['user_score'] && $info['user_score']<$levelInfo['max_score']){
- $info['level_name'] = $levelInfo['level_name'];
- }else{
- $levelRes = M('UserLevel')->field('level_name,min_score,max_score')->select();
- //修改等级
- foreach ($levelRes as $level){
- if ($level['min_score']<=$info['user_score'] && $info['user_score']<$level['max_score']){
- $info['level_name'] = $levelInfo['level_name'];
- M('User')->where(array('user_id'=>$info['user_id']))->save(array('user_level'=>$level['level_id']));
- break;
- }
- }
- }
- $pkInfo = M('PkRecord')->where(array('user_id|ref_user_id'=>$this->userId))->field('record_id')->find();
- if ($pkInfo==NULL){
- $info['level_name'] = '暂无称号';
- }
- session('user_id', $info['user_id']);
- $fansCount = M('Fans')->where(array('fans_user_id'=>$info['user_id']))->count();
- $info['fans_nums'] = $fansCount==NULL?0:$fansCount;
- $fansCount = M('Fans')->where(array('user_id'=>$info['user_id']))->count();
- $info['fans_user_nums'] = $fansCount==NULL?0:$fansCount;
- if($info['admin_id']){
- $info['is_admin']=1;
- }else{
- $info['is_admin']=0;
- }
- $data = array('code'=>0,'msg'=>'','data'=>$info);
- $this->returnData($data);exit;
- }
- //用户禁言
- public function forbidden(){
- $info = M('User')->where(array('user_id'=>$this->userId))->field('user_id,user_phone,user_intro,user_pwd,user_name,user_level,user_sex,user_icon,user_city,user_province,user_birthdate,user_score,zan_notice,sys_notice,friend_notice,reply_notice,operate_dt,forbidden,admin_id')->find();
- if(!$info['admin_id']){
- $data = array('code'=>-1,'msg'=>'权限受限');
- $this->returnData($data);exit;
- }
- $userId = I('user_id','');
- $days = I('days','0');
- if (empty($userId) || $userId<1000000){
- $data = array('code'=>-1,'msg'=>'用户错误');
- $this->returnData($data);exit;
- }
- M('user')->where(array('user_id'=>$userId))->save(array('forbidden'=>time()+$days*24*60*60));
- $data = array('code'=>0,'msg'=>'','data'=>array());
- $this->returnData($data);exit;
- }
- //管理员删除评论
- public function del_reply(){
- $info = M('User')->where(array('user_id'=>$this->userId))->field('user_id,user_phone,user_intro,user_pwd,user_name,user_level,user_sex,user_icon,user_city,user_province,user_birthdate,user_score,zan_notice,sys_notice,friend_notice,reply_notice,operate_dt,forbidden,admin_id')->find();
- /*if(!$info['admin_id']){
- $data = array('code'=>-1,'msg'=>'权限受限');
- $this->returnData($data);exit;
- }*/
- $id = I('reply_id','');
- $type = I('type','0');
- if($type==1){
- M('choice_reply')->where(array('cr_id'=>$id))->delete();
- }elseif($type==2){
- M('course_praise')->where(array('cp_id'=>$id))->delete();
- }
- $data = array('code'=>0,'msg'=>'','data'=>array());
- $this->returnData($data);exit;
- }
- }
|