Example #1
0
 /**
  * 用户忘记密码后使用手机号获得验证码重置密码
  * @param $mobile
  * @param $password
  * @param $checkNum
  * @return array|int
  */
 public function resetPassword($mobile, $password, $checkNum)
 {
     //        $passwordMd5 = md5($password);
     $data = array();
     try {
         $userId = self::getUserByMobile($mobile);
         if (!$userId) {
             return 10006;
             //  MSG_ERR_UN_REGISTER_MOBILE
         }
         $mobile_checkcode = LogMobileCheckcode::model()->checkCode($mobile, $checkNum);
         if (!$mobile_checkcode) {
             return 10005;
             //  MSG_ERR_CODE_OVER_TIME
         }
         //手机号码已注册且验证码正确  update
         Yii::app()->cnhutong_user->createCommand()->update('user', array('password' => $password), 'mobile = :mobile', array(':mobile' => $mobile));
         //修改成功,验证码使用后改变验证码status状态
         Yii::app()->cnhutong_user->createCommand()->update('log_mobile_checkcode', array('status' => 1), 'mobile = :mobile', array(':mobile' => $mobile));
         //userId
         $data['userId'] = $userId;
         //token
         $data['token'] = UserToken::model()->getToken($userId);
         //用户昵称,积分,等级
         $userMessage = self::getUserMessageByUserId($userId);
         $data['mobile'] = $userMessage['mobile'];
         $data['nickname'] = $userMessage['username'];
         $data['points'] = $userMessage['score'];
         $data['level'] = $userMessage['level'];
         //members
         $data['members'] = UserMember::model()->getMembers($userId);
         if (!$data['members']) {
             $data['members'] = [];
         }
     } catch (Exception $e) {
         error_log($e);
     }
     return $data;
 }
 /**
  * action_id : 2110
  * 用户解除绑定学员信息      actionRemoveMember()
  * @memberId $memberId string       --绑定学员对应ID
  * @token  $token  string       --登录token
  * @userId  $userId int         --用户id(APP中用户的唯一标识)
  * @return result          调用返回结果
  * @return msg             调用返回结果说明
  * @return data             调用返回数据
  */
 public function actionRemoveMember()
 {
     if (!isset($_REQUEST['userId']) || !isset($_REQUEST['token']) || !isset($_REQUEST['memberId'])) {
         $this->_return('MSG_ERR_LESS_PARAM');
     }
     $userId = Yii::app()->request->getParam('userId', NULL);
     $token = Yii::app()->request->getParam('token', NULL);
     $memberId = Yii::app()->request->getParam('memberId', NULL);
     // 解除绑定学员id
     $data = UserMember::model()->removeMember($userId, $token, $memberId);
     if ($data === 20008) {
         $this->_return('MSG_ERR_FAIL_USER');
     } elseif ($data === 20007) {
         $this->_return('MSG_ERR_FAIL_TOKEN');
     } elseif ($data === 20017) {
         $this->_return('MSG_ERR_FAIL_MEMBER');
     }
     // TODO : add log
     $actionId = 2110;
     $params = '';
     foreach ($_REQUEST as $key => $value) {
         $params .= $key . '=' . $value . '&';
     }
     LogUserAction::model()->userAction($userId, $actionId, $params);
     $this->_return('MSG_SUCCESS', $data);
 }
 /**
  * 学员对上过的课时进行评价和打分
  * @param $userId                   -- 用户ID
  * @param $token                    -- 用户验证token
  * @param $memberId                 -- 用户当前绑定的学员对对应的ID
  * @param $lessonStudentId          -- 课时唯一编号
  * @param $score                    -- 学员给课时的评分,1-5分
  * @param $stateComment             -- 课时评价,可以为空
  * @return array|int
  */
 public function lessonStudent($userId, $token, $memberId, $lessonStudentId, $score, $stateComment)
 {
     $data = array();
     try {
         // 用户ID验证
         $user = User::model()->IsUserId($userId);
         if (!$user) {
             return 10010;
             // MSG_ERR_FAIL_USER
         }
         // 用户token验证
         $userToken = UserToken::model()->IsToken($userId, $token);
         //            var_dump($userToken);exit;
         if (!$userToken) {
             return 10009;
             // MSG_ERR_FAIL_TOKEN
         }
         $isExistUserMemberId = UserMember::model()->IsExistMemberId($userId, $memberId);
         if (!$isExistUserMemberId) {
             return 40003;
             // MSG_ERR_FAIL_MEMBER
         }
         $isLessonStudentId = self::IsLessonStudentId($memberId, $lessonStudentId);
         if (!$isLessonStudentId) {
             return 60002;
         }
         if ($score < 0 || $score > 5) {
             return 70001;
         }
         $result = Yii::app()->cnhutong->createCommand()->update('ht_lesson_student', array('student_rating' => $score, 'student_comment' => $stateComment), 'student_id = :studentId And id = :id', array(':studentId' => $memberId, ':id' => $lessonStudentId));
         if (empty($result)) {
             $data[] = [];
         }
         //            $data = $result;
     } catch (Exception $e) {
         error_log($e);
     }
     return $data;
 }
 /**
  * 用户解除绑定学员信息      actionRemoveMember()
  * @salt $memberId string       --绑定学员对应ID
  * @token  $token  string       --登录token
  * @userId  $userId int         --用户id(APP中用户的唯一标识)
  * @return result          调用返回结果
  * @return msg             调用返回结果说明
  * @return data             调用返回数据
  */
 public function actionRemoveMember()
 {
     if (!isset($_REQUEST['userId']) || !isset($_REQUEST['token']) || !isset($_REQUEST['memberId'])) {
         $this->_return('MSG_ERR_LESS_PARAM');
     }
     $userId = Yii::app()->request->getParam('userId', NULL);
     $token = Yii::app()->request->getParam('token', NULL);
     $memberId = Yii::app()->request->getParam('memberId', NULL);
     $version = Yii::app()->request->getParam('version', NULL);
     $deviceId = Yii::app()->request->getParam('deviceId', NULL);
     $platform = Yii::app()->request->getParam('platform', NULL);
     $channel = Yii::app()->request->getParam('channel', NULL);
     $appVersion = Yii::app()->request->getParam('appVersion', NULL);
     $osVersion = Yii::app()->request->getParam('osVersion', NULL);
     $appId = Yii::app()->request->getParam('appId', NULL);
     // 解除绑定学员id
     $data = UserMember::model()->removeMember($userId, $token, $memberId);
     if ($data === 10009) {
         $this->_return('MSG_ERR_FAIL_TOKEN');
     } elseif ($data === 10010) {
         $this->_return('MSG_ERR_FAIL_USER');
     } elseif ($data === 40003) {
         $this->_return('MSG_ERR_FAIL_MEMBER');
     }
     //记录log
     $this->_return('MSG_SUCCESS', $data);
 }
 /**
  * 学员在APP中对自己的课时进行请假或者取消请假的操作
  * @param $userId
  * @param $token
  * @param $memberId
  * @param $lessonStudentId
  * @param $leaveType
  * @return array|int
  */
 public function lessonStudentLeave($userId, $token, $memberId, $lessonStudentId, $leaveType)
 {
     $nowTime = date("Y-m-d H-i-s");
     $data = array();
     try {
         // 用户ID验证
         $user = User::model()->IsUserId($userId);
         if (!$user) {
             return 20008;
             // MSG_ERR_FAIL_USER
         }
         // 用户token验证
         $userToken = UserToken::model()->IsToken($userId, $token);
         //            var_dump($userToken);exit;
         if (!$userToken) {
             return 20007;
             // MSG_ERR_FAIL_TOKEN
         }
         $isExistUserMemberId = UserMember::model()->IsExistMemberId($userId, $memberId);
         if (!$isExistUserMemberId) {
             return 20017;
             // MSG_ERR_FAIL_MEMBER
         }
         $isLessonStudentId = self::IsLessonStudentId($memberId, $lessonStudentId);
         if (!$isLessonStudentId) {
             return 20021;
             // MSG_ERR_LESSON_STUDENT_ID
         }
         // step 状态  0 - 等待确认,1 - 取消请假,3 - 锁定,2 - 请假完成
         $aStep = array(0, 1, 2, 3);
         // 学员请假
         if ($leaveType == 1) {
             $reminder = self::getHtReminder($memberId, $lessonStudentId);
             // 测试memberId = 410, lessonStudentId = 82
             if ($reminder) {
                 // 请假记录存在
                 $step = $reminder['step'];
                 if ($step == 1) {
                     // 学员请假后,客服未处理。学员又取消了请假,此时可以请假
                     self::setStep($memberId, $lessonStudentId, 0);
                     // 设置请假状态 为请假
                 } else {
                     return 20032;
                     //MSG_ERR_NO_LEAVE
                 }
             } else {
                 // 请假记录不存在
                 self::insertLeave($memberId, $lessonStudentId);
                 // 增加请假记录
             }
             //                var_dump($reminder['step']);
         } elseif ($leaveType == 2) {
             $reminder = self::getHtReminder($memberId, $lessonStudentId);
             if (!$reminder) {
                 // 请假记录不存在,当然不能取消请假
                 return 20033;
                 // MSG_ERR_NO_CANCEL_LEAVE
             } else {
                 // 请假记录存在,且 step = 0 则可以取消请假
                 $step = $reminder['step'];
                 if ($step == 0) {
                     self::setStep($memberId, $lessonStudentId, 1);
                     // 设置请假状态 为取消请假
                 } else {
                     return 20033;
                     // MSG_ERR_NO_CANCEL_LEAVE
                 }
             }
             //                var_dump(7);
         } else {
             return 20031;
         }
     } catch (Exception $e) {
         error_log($e);
     }
     return $data;
 }