Example #1
0
 public static function addMemberMsgRecord($wechatId, $activityTypeId, $managerId, $memberId, $memberMsg, $replyParamName)
 {
     $param = BaseActivity::getActivityParam($wechatId, $activityTypeId, $managerId, 'member_msg_records');
     $records = $param['param'];
     $key = time();
     //时间戳作为记录的key
     $records[$memberId][$key] = ['send' => $memberMsg, 'reply' => $replyParamName];
     $isUpdate = BaseActivity::updateActivityParam($wechatId, $activityTypeId, $managerId, 'member_msg_records', $records);
     if ($isUpdate) {
         return true;
     }
     return false;
 }
Example #2
0
 public static function answerKsh($app, $user, $replyArr)
 {
     //权限检查
     if ($user['type'] != UserOpenid::TYPE_DOCTOR) {
         return KshNotice::replyText($app, $user, KshParams::ksh_error['error_no_authority_answer_question']);
     }
     //答案编号是否为空
     if (!array_key_exists('cmd_number', $replyArr)) {
         return KshNotice::replyText($app, $user, KshParams::ksh_error['error_empty_member_answer_code']);
     }
     //因为答案中可能有数字相同的编号, 所以多个题目的答案中间不能有分隔符
     $answerString = $replyArr['cmd_number'][0];
     $answerArr = [];
     for ((int) ($i = 0); $i < strlen($answerString); $i++) {
         $answerArr[] = $answerString[$i];
     }
     //获取当前活动session
     $typeId = Event::getActivityTypeId($replyArr['event_id']);
     $result = BaseActivity::memberGetActivitySession($app['id'], $typeId, $user['id']);
     switch ($result['status']) {
         case ErrorCode::err_activity_manager_not_found:
             return KshNotice::replyText($app, $user, KshParams::ksh_error['error_member_not_in_activity']);
             break;
         case ErrorCode::err_activity_not_exist:
         case ErrorCode::err_activity_session_not_exist:
             return KshNotice::replyText($app, $user, KshParams::ksh_error['error_activity_not_exist']);
             break;
         case ErrorCode::success:
             //答题前检查
             $activity = $result['param']['activity'];
             $checkRes = KshUtils::checkBeforeAnswer($app, $typeId, $activity['activity_manager_id'], $user, $answerArr, $replyArr['cmd_original']);
             if ($checkRes != 'success') {
                 return $checkRes;
             }
             //答题
             $answerRes = KshUtils::answer($app['id'], $typeId, $activity['activity_manager_id'], $user['id'], $answerArr);
             if ($answerRes != 'success') {
                 KshUtils::addMemberMsgRecord($app['id'], $typeId, $activity['activity_manager_id'], $user['id'], $replyArr['cmd_original'], 'error_update_activity_status');
                 return KshNotice::replyText($app, $user, KshParams::ksh_error['error_update_activity_status']);
             } else {
                 KshUtils::addMemberMsgRecord($app['id'], $typeId, $activity['activity_manager_id'], $user['id'], $replyArr['cmd_original'], 'success_answer_activity_question');
                 return KshNotice::replyText($app, $user, KshParams::ksh_success['success_answer_activity_question']);
             }
             break;
     }
     return false;
 }