/** * 察看详细 */ public function actionQualityDetail() { #------初始化------# $this->_modelQuality = $this->_getGlobalData('Model_Quality', 'object'); #------初始化------# if ($this->_isPost()) { switch ($_POST['submit_type']) { case '0': //质检 $this->_utilMsg->showMsg(false); break; case '1': //申诉 if ($this->_modelQuality->update(array('status' => $_POST['status'], 'complain_content' => $_POST['complain_content'], 'complain_time' => CURRENT_TIME), "Id={$_POST['Id']}")) { #------添加日志------# $this->_modelOrderLog = $this->_getGlobalData('Model_OrderLog', 'object'); $this->_modelOrderLog->addLog(array('Id' => $_POST['work_order_id']), Model_OrderLog::AGAIN); #------添加日志------# $this->_utilMsg->showMsg(false); } else { $this->_utilMsg->showMsg(Tools::getLang('APPEAL_ERROR', __CLASS__), -2); } break; default: //默认回复申诉 $updateArr = array('status' => $_POST['status'], 'reply_content' => $_POST['reply_content'], 'reply_time' => CURRENT_TIME); if ($_POST['status'] == 3) { $updateArr['scores'] = '0'; } //如果申诉为同意申诉,将把扣分设置为0,不扣分; if ($this->_modelQuality->update($updateArr, "Id={$_POST['Id']}")) { $this->_utilMsg->showMsg(false); } else { $this->_utilMsg->showMsg(Tools::getLang('REPLY_APPEAL_ERROR', __CLASS__), -2); } break; } } else { #------初始化------# $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object'); $this->_modelSysconfig = $this->_getGlobalData('Model_Sysconfig', 'object'); $this->_modelGameSerList = $this->_getGlobalData('Model_GameSerList', 'object'); $this->_modelOperatorList = $this->_getGlobalData('Model_OperatorList', 'object'); $this->_modelQuestionType = $this->_getGlobalData('Model_QuestionType', 'object'); $this->_utilRbac = $this->_getGlobalData('Util_Rbac', 'object'); $user = $this->_getGlobalData('user'); $this->_utilRbac = $this->_getGlobalData('Util_Rbac', 'object'); #------初始化------# #------质检详细------# $qualityOptions = $this->_getGlobalData('quality_options'); $qualityList = $this->_modelQuality->findByQaId($_GET['qa_id']); $qualityList['word_option_id'] = $qualityOptions[$qualityList['option_id']]; $qualityList['word_status'] = $this->_statusOptions[$qualityList['status']]; $qualityList['word_quality_user_id'] = $user[$qualityList['quality_user_id']]['full_name']; $qualityList['word_again_user_id'] = $user[$qualityList['again_user_id']]['full_name']; $qualityList['reply_time'] = $qualityList['reply_time'] ? date('Y-m-d H:i:s', $qualityList['reply_time']) : ''; $qualityList['quality_time'] = $qualityList['quality_time'] ? date('Y-m-d H:i:s', $qualityList['quality_time']) : ''; $qualityList['complain_time'] = $qualityList['complain_time'] ? date('Y-m-d H:i:s', $qualityList['complain_time']) : ''; $qualityList['again_time'] = $qualityList['again_time'] ? date('Y-m-d H:i:s', $qualityList['again_time']) : ''; #------质检详细------# $dataList = $this->_modelWorkOrder->findByIdDetail($_GET['work_order_id']); //获取工单整个数组,包括关联表 if (!$dataList) { $this->_utilMsg->showMsg(Tools::getLang('CONTENT_ERROR', __CLASS__), -2); } //防止错误 $dialogArr = $dataList; //客服与用户的对话数组 $dataList = $dataList[0]; //列表详细 #------载入缓存------# $gameTypeArr = Model::getTtwoArrConvertOneArr($this->_modelSysconfig->getValueToCache('game_type'), 'Id', 'name'); //游戏类型 $workOrderSourceArr = $this->_modelSysconfig->getValueToCache('workorder_source'); //工单来源 $workOrderStatusArr = $this->_modelSysconfig->getValueToCache('workorder_status'); //工单状态 $gameSerList = $this->_modelGameSerList->findById($dataList['game_server_id']); $operatorList = $this->_modelOperatorList->findById($dataList['operator_id']); #------载入缓存------# foreach ($dialogArr as &$list) { $list['qa_time'] = date('Y-m-d H:i:s', $list['qa_time']); $list['word_reply_name'] = $user[$list['user_id']]['nick_name']; } $workOrderDetailArr = unserialize($dataList['detail']); //获取工单的详细信息 $userData = $workOrderDetailArr['user_data']; //获取提交工单用户的详细信息 $userData['register_date'] = date('Y-m-d H:i:s', $userData['register_date']); $userQuestionDetail = $workOrderDetailArr['form_detail']; //获取提问类型工单的值 $questionDetail = $this->_modelQuestionType->findById($dataList['question_type']); //查找问题类型 #------跟椐ID转换文字显示------# $dataList['word_question_type'] = $questionDetail['title']; //获取问题类型的中文名称以方便显示 $dataList['word_game_type'] = $gameTypeArr[$dataList['game_type']]; $dataList['word_source'] = $workOrderSourceArr[$dataList['source']]; $dataList['word_status'] = $workOrderStatusArr[$dataList['status']]; $dataList['word_game_server_id'] = $gameSerList['server_name']; $dataList['word_operator_id'] = $operatorList['operator_name']; $dataList['create_time'] = date('Y-m-d H:i', $dataList['create_time']); $dataList['word_quality_id'] = $user[$dataList['quality_id']]['full_name']; #------跟椐ID转换文字显示------# $questionDetail = $questionDetail['form_table']; //获取问题类型的表单配置值 $userQuestionDetailArr = array(); //初始化显示提交问题类型数组 if (count($questionDetail)) { foreach ($questionDetail as $value) { //将表单转换为key/value方式,方便显示 if ($value['type'] == 'game_server_list') { continue; } //如果为服务器列表将跳过,因为已经在工单上面有了. switch ($value['type']) { case 'select': $userQuestionDetailArr[$value['title']] = $value['options'][$userQuestionDetail[$value['name']]]; break; default: $userQuestionDetailArr[$value['title']] = $userQuestionDetail[$value['name']]; break; } } } #------日志------# $this->_modelOrderLog = $this->_getGlobalData('Model_OrderLog', 'object'); $this->_view->assign('log', $this->_modelOrderLog->getLog($_GET['work_order_id'])); #------日志------# $this->_view->assign('scorce', $this->_modelQuality->getScorce()); $this->_view->assign('qualityOptions', $qualityOptions); $this->_view->assign('qualityList', $qualityList); $this->_view->assign('workOrderStatusArr', $workOrderStatusArr); $this->_view->assign('userData', $userData); $this->_view->assign('userQuestionDetailArr', $userQuestionDetailArr); //问题类型显示 $this->_view->assign('dialogArr', $dialogArr); //对话详细 $this->_view->assign('data', $dataList); //表单详细信息 $this->_view->assign('userClass', $this->_utilRbac->getUserClass()); $this->_utilMsg->createNavBar(); $this->_view->display(); } }
/** * 查看工单详细 */ public function actionDetail() { $dataList = $this->_modelWorkOrder->findByIdToDetail($_GET['Id']); $_REQUEST['operator_id'] = $dataList['operator_id']; $this->_checkOperatorAct(true); $dialogList = $this->_modelWorkOrderQa->findByWorkOrderId($_GET['Id']); #------载入缓存------# $gameTypeArr = Model::getTtwoArrConvertOneArr($this->_modelSysconfig->getValueToCache('game_type'), 'Id', 'name'); //游戏类型 $workOrderSourceArr = $this->_modelSysconfig->getValueToCache('workorder_source'); //工单来源 $workOrderStatusArr = $this->_modelSysconfig->getValueToCache('workorder_status'); //工单状态 $gameServerList = $this->_getGlobalData('gameser_list'); $TimeDifference = intval($gameServerList[$dataList['game_server_id']]['time_zone']) * 3600; //时差 $gameServerList = Model::getTtwoArrConvertOneArr($gameServerList, 'Id', 'server_name'); $operatorList = $this->_getGlobalData('operator_list'); $operatorList = Model::getTtwoArrConvertOneArr($operatorList, 'Id', 'operator_name'); $user = $this->_getGlobalData('user_all'); $departmentList = $this->_getGlobalData('department'); $departmentList = Model::getTtwoArrConvertOneArr($departmentList, 'Id', 'name'); #------载入缓存------# #------跟椐ID转换文字显示------# $dataList['word_status'] = $workOrderStatusArr[$dataList['status']]; $dataList['word_game_type'] = $gameTypeArr[$dataList['game_type']]; $dataList['word_source'] = $workOrderSourceArr[$dataList['source']]; $dataList['word_game_server_id'] = $gameServerList[$dataList['game_server_id']]; $dataList['word_operator_id'] = $operatorList[$dataList['operator_id']]; $dataList['create_time'] = date('Y-m-d H:i:s', $dataList['create_time'] + $TimeDifference); if ($TimeDifference) { $dataList['create_time'] .= '(' . Tools::getLang('GAME_SERVER_TIME', 'Common') . ')'; } $dataList['word_quality_id'] = $dataList['quality_id'] < 0 ? $user[$dataList['quality_id']]['nick_name'] . "[{$departmentList[$user[$dataList['quality_id']]['department_id']]}]" : '未质检'; $dataList['url_nick_name_detail_list'] = Tools::url('MyTask', 'Index', array('view_type' => 2, 'user_nickname' => $dataList['user_nickname'])); $dataList['url_change_verify'] = Tools::url(CONTROL, 'ChangeVerify', array('Id' => $dataList['Id'], 'verify' => $dataList['is_verify'] ? 0 : 1)); #------跟椐ID转换文字显示------# foreach ($dialogList as &$list) { $list['create_time'] = date('Y-m-d H:i:s', $list['create_time'] + $TimeDifference); if ($TimeDifference) { $list['create_time'] .= '(' . Tools::getLang('GAME_SERVER_TIME', 'Common') . ')'; } $list["image"] = json_decode($list["image"], true); $list['word_reply_name'] = $user[$list['user_id']]['full_name']; } $workOrderDetailArr = unserialize($dataList['content']); //获取工单的详细信息 $userData = $workOrderDetailArr['user_data']; //获取提交工单用户的详细信息 // $userData ['register_date'] =$userData ['register_date']? date ( 'Y-m-d H:i:s', $userData ['register_date'] ):''; if ($userData['register_date']) { $userData['register_date'] = date('Y-m-d H:i:s', $userData['register_date'] + $TimeDifference); if ($TimeDifference) { $userData['register_date'] .= '(' . Tools::getLang('GAME_SERVER_TIME', 'Common') . ')'; } } else { $userData['register_date'] = ''; } if ($dataList['evaluation_status'] != 0) { //如果已经评价 $playerEvaluation = $this->_getGlobalData('player_evaluation'); $evaluation = $playerEvaluation[$dataList['evaluation_status']]; $evaluation = $evaluation['title']; if ($dataList['evaluation_status'] == 3) { $evaluation .= ': ' . $playerEvaluation[3]['Description'][$dataList['evaluation_desc']]; } $this->_view->assign('evaluation', $evaluation); } $userQuestionDetail = $workOrderDetailArr['form_detail']; //获取提问类型工单的值 $questionDetail = $this->_modelQuestionType->findById($dataList['question_type']); //查找问题类型 $dataList['word_question_type'] = $questionDetail['title']; //获取问题类型的中文名称以方便显示 if ($dataList['source'] != 2) { //如果工单不是从游戏里面来的话 $questionDetail = $questionDetail['form_table']; //获取问题类型的表单配置值 $userQuestionDetailArr = array(); //初始化显示提交问题类型数组 if ($questionDetail) { foreach ($questionDetail as $value) { //将表单转换为key/value方式,方便显示 if ($value['type'] == 'game_server_list') { continue; } //如果为服务器列表将跳过,因为已经在工单上面有了. switch ($value['type']) { case 'select': $userQuestionDetailArr[$value['title']] = $value['options'][$userQuestionDetail[$value['name']]]; break; default: $userQuestionDetailArr[$value['title']] = $userQuestionDetail[$value['name']]; break; } } } } #------发送短消息URL------# $sendMsgUrl = array(1 => '', 2 => Tools::url('MasterFRG', 'SendMail', array('UserId[1]' => $userData['user_id'], 'server_id' => $dataList['game_server_id'], 'lock' => 1)), 3 => Tools::url('GmSftx', 'SendMsg', array('users[1]' => $userData['user_id'], 'server_id' => $dataList['game_server_id'], 'lock' => 1))); $this->_view->assign('sendMsgUrl', $sendMsgUrl[$dataList['game_type']]); //url #------发送短消息URL------# #------日志------# $this->_modelOrderLog = $this->_getGlobalData('Model_OrderLog', 'object'); $this->_view->assign('log', $this->_modelOrderLog->getLog($_GET['Id'])); #------日志------# unset($workOrderStatusArr[1]); //删除待处理状态 unset($workOrderStatusArr[4]); //删除被玩家删除状态 //玩家附加的信息(腾讯数据) if (isset($workOrderDetailArr['ext'])) { $this->_view->assign('userExt', $workOrderDetailArr['ext']); } $this->_view->assign('workOrderStatusArr', $workOrderStatusArr); $this->_view->assign('userData', $userData); $this->_view->assign('userQuestionDetailArr', $userQuestionDetailArr); //问题类型显示 $this->_view->assign('dialogArr', $dialogList); //对话详细 $this->_view->assign('data', $dataList); //表单详细信息 $this->_view->assign('js', $this->_view->get_curJs()); $this->_url['Verify_OrderVerify'] = Tools::url('Verify', 'OrderVerify', array('work_order_id' => $_GET['Id'], 'game_type_id' => $dataList['game_type'], 'operator_id' => $dataList['operator_id'], 'game_server_id' => $dataList['game_server_id'], 'game_user_id' => $userData['user_id'], 'user_account' => urlencode($userData['user_account']), 'user_nickname' => urlencode($userData['user_nickname']))); $this->_view->assign('url', $this->_url); //加载游戏配置 $gameClass = $this->_getGlobalData($dataList['game_type'], 'game'); $isSendOrderReplay = true; $isSendImage = false; if ($gameClass) { $isSendOrderReplay = $gameClass->_isSendOrderReplay; $isSendImage = $gameClass->_sendImage; } $this->_view->assign('isSendOrderReplay', $isSendOrderReplay); $this->_view->assign('isSendImage', $isSendImage); $this->_utilMsg->createNavBar(); $this->_view->display(); }