/** * 添加问题 */ public function actionAdd() { if ($this->_isPost()) { $this->_modelWorkOrderDetail = $this->_getGlobalData('Model_WorkOrderDetail', 'object'); $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); #------获取问题类型额外信息------# $questionType = $this->_modelQuestionType->findById($_POST['question_type']); $questionFormTable = $questionType['form_table']; $questionFormTableKey = $this->_modelQuestionType->getTtwoArrConvertOneArr($questionFormTable, 'name', 'name'); $formDetail = array(); if (!empty($questionFormTableKey)) { foreach ($questionFormTableKey as $value) { if ($value == null) { continue; } $formDetail[$value] = $_POST[$value]; } } #------获取问题类型额外信息------# #------生成工单work_order------# $this->_utilRbac = $this->_getGlobalData('Util_Rbac', 'object'); $userClass = $this->_utilRbac->getUserClass(); //获取用户资料, $userName = $userClass['_nickName']; $workOrder = array('game_type' => $_POST['game_type'], 'question_type' => $_POST['question_type'], 'source' => 5, 'question_num' => 1, 'create_time' => CURRENT_TIME, 'title' => $_POST['title']); if ($_POST['game_server_id']) { #------获取服务器ID和运营商ID------# list($workOrder['operator_id'], $workOrder['game_server_id']) = explode(',', $_POST['game_server_id']); unset($formDetail['game_server_id']); //删除服务器列表数组 #------获取服务器ID和运营商ID------# } $this->_modelWorkOrder->add($workOrder); $workOrderId = $this->_modelWorkOrder->returnLastInsertId(); //获取工单id #------生成工单work_order------# #------生成工单详细信息------# $userDetail = array('nick_name' => $userName); $detail = array('user_data' => $userDetail, 'form_detail' => $formDetail); $addWorkOrderDetailArr = array('work_order_id' => $workOrderId, 'content' => serialize($detail)); $this->_modelWorkOrderDetail->add($addWorkOrderDetailArr); #------生成工单详细信息------# #------生成工单提问信息------# $addWorkOrderQaArr = array('work_order_id' => $workOrderId, 'content' => $_POST['description'], 'create_time' => CURRENT_TIME); $this->_modelWorkOrderQa->add($addWorkOrderQaArr); #------生成工单提问回复信息------# #------增加问题队列到队列------# $this->_utilWorkOrder = $this->_getGlobalData('Util_WorkOrder', 'object'); $orderManage = $this->_utilWorkOrder->getOrderManage(); $workOrder['Id'] = $workOrderId; $orderManage->addOrder($workOrder); $orderManage->setUpdateInfo(1); #------增加问题队列到队列------# $this->_utilMsg->showMsg('工单提问成功', 1, Tools::url(CONTROL, 'Index', 1)); } }
/** * 工单简单对话ajax */ public function actionOrderDialog() { if ($this->_isAjax()) { $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); $dialogList = $this->_modelWorkOrderQa->findByWorkOrderId($_GET['Id']); if ($dialogList) { $users = $this->_getGlobalData('user_all'); foreach ($dialogList as &$list) { $list['word_reply_name'] = $users[$list['user_id']]['full_name']; $list['create_time'] = date('Y-m-d H:i:s', $list['create_time']); $list['content'] = Tools::convertHtml($list['content']); } $this->_returnAjaxJson(array('status' => 1, 'msg' => Tools::getLang('REQUEST_SUCCESS', __CLASS__), 'data' => $dialogList)); } $this->_returnAjaxJson(array('status' => 0, 'msg' => Tools::getLang('REQUEST_ERROR', __CLASS__))); } }
/** * 工单简单对话ajax */ public function actionOrderDialog() { if ($this->_isAjax()) { $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); $dialogList = $this->_modelWorkOrderQa->findByWorkOrderId($_GET['Id']); if ($dialogList) { $users = $this->_getGlobalData('user'); $users = Model::getTtwoArrConvertOneArr($users, 'user_name', 'full_name'); foreach ($dialogList as &$list) { $list['word_reply_name'] = $users[$list['reply_name']]; $list['create_time'] = date('Y-m-d H:i:s', $list['create_time']); $list['content'] = Tools::convertHtml($list['content']); } $this->_returnAjaxJson(array('status' => 1, 'msg' => '请求成功', 'data' => $dialogList)); } $this->_returnAjaxJson(array('status' => 0, 'msg' => '请求错误')); } }
/** * 用户追问 */ public function actionReply() { // foreach ($_POST as &$value){ // $value=rawurldecode(urldecode($value)); // } if ($_FILES['image']) { $updateInfo = $this->_upload(); } //如果有上传图片就上传文件 $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object'); $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); if ($updateInfo['web_path']) { $_POST['content'] .= "<br>玩家截图:<br> <img src='{$updateInfo['web_path']}' />"; } $addArr = array('work_order_id' => $_POST['id'], 'content' => $_POST['content'], 'qa' => 0, 'create_time' => CURRENT_TIME); $updateArr = array('create_time' => CURRENT_TIME, 'status' => 1, 'question_num' => 'question_num+1'); $this->_modelWorkOrder->update($updateArr, "Id={$_POST['id']}"); $this->_modelWorkOrderQa->add($addArr); $this->_returnAjaxJson(array('status' => 1, 'info' => null, 'data' => array('image_path' => $updateInfo['web_path']))); }
/** * 超时回复列表 */ public function actionTimeoutReply() { #------初始化------# $this->_loadCore('Help_Page'); $this->_loadCore('Help_SqlSearch'); $helpSqlSearch = new Help_SqlSearch(); $this->_utilRbac = $this->_getGlobalData('Util_Rbac', 'object'); $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); $qualityStatus = $this->_getGlobalData('quality_status'); $qualityOptions = $this->_getGlobalData('quality_options'); #------初始化------# $users = $this->_getGlobalData('user'); $allUser = Model::getTtwoArrConvertOneArr($users, 'user_name', 'nick_name'); $helpSqlSearch->set_tableName($this->_modelWorkOrderQa->tName()); $helpSqlSearch->set_conditions('is_timeout=1'); $helpSqlSearch->set_conditions('qa=1'); $helpSqlSearch->set_orderBy('create_time desc'); $helpSqlSearch->setPageLimit($_GET['page'], 20); $allConditions = $helpSqlSearch->get_conditions(); //返回所有条件 $helpPage = new Help_Page(array('total' => $this->_modelWorkOrderQa->findCount($allConditions), 'perpage' => 20)); $sql = $helpSqlSearch->createSql(); $dataList = $this->_modelWorkOrderQa->select($sql); if ($dataList) { Tools::import('Util_FontColor'); foreach ($dataList as &$value) { $value['word_is_quality'] = $value['is_quality'] ? $users[$value['is_quality']]['nick_name'] : '<font color="#666666">未质检</font>'; $value['word_reply_name'] = $allUser[$value['reply_name']]; $value['create_time'] = date('Y-m-d H:i:s', $value['create_time']); $value['last_reply_time'] = date('Y-m-d H:i:s', $value['last_reply_time']); $value['url_detail'] = Tools::url('QualityCheck', 'Dialog', array('Id' => $value['work_order_id'], 'game_type_id' => $value['game_type_id'], 'operator_id' => $value['operator_id'])); $value['content'] = strip_tags($value['content']); } $this->_view->assign('dataList', $dataList); } $this->_view->assign('pageBox', $helpPage->show()); $this->_view->assign('js', $this->_view->get_curJs()); $this->_utilMsg->createNavBar(); $this->_view->display(); }
public function actionWorkOrderStatus() { $workOrderId = intval($_REQUEST['work_order_id']); if (!$workOrderId) { $this->_returnAjaxJson(array('status' => 0, 'info' => 'Work Order Id Empty', 'data' => null)); } $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object'); $gameId = intval($_REQUEST['game_id']); $sql_CheckWorkOrder = "select * from {$this->_modelWorkOrder->tName()} where Id={$workOrderId} and game_type={$gameId}"; $workOrderData = $this->_modelWorkOrder->select($sql_CheckWorkOrder, 1); if (!$workOrderData) { $this->_returnAjaxJson(array('status' => 0, 'info' => 'workorder non-exist', 'data' => null)); } //if($workOrderData['is_read'] == 0){ // $this->_modelWorkOrder->update(array('is_read'=>1),"Id={$workOrderId}");//更改已读状态 //} $workOrderData['status'] = min(3, $workOrderData['status']); $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); $sql = "select work_order_id,content,create_time from " . $this->_modelWorkOrderQa->tName() . " where work_order_id={$workOrderId} order by create_time "; $dataList = $this->_modelWorkOrderQa->select($sql, 1); $dataList['status'] = $workOrderData['status']; $this->_returnAjaxJson(array('status' => 1, 'info' => CONTROL . '_' . ACTION, 'data' => $dataList)); }
/** * 统计并且存入表. * key=0的为总数,其它的都会user_id,统计完成后会自动入库. * @param int $startTime * @param int $endTime */ public function user($startTime, $endTime) { $addArrs = array(); $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object'); $workOrderList = $this->_modelWorkOrder->select("select * from {$this->_modelWorkOrder->tName()} where create_time between {$startTime} and {$endTime}"); if ($workOrderList) { foreach ($workOrderList as $list) { $addArrs[0]['game_type_num'][$list['game_type']]++; $addArrs[0]['question_type_num'][$list['question_type']]++; $addArrs[0]['source_num'][$list['source']]++; $addArrs[0]['operator_num'][$list['operator_id']]++; $addArrs[0]['vip_level_num'][$list['vip_level']]++; $addArrs[0]['evaluation_num'][$list['evaluation_status']]++; $curUserId = $list['owner_user_id']; $addArrs[$curUserId]['game_type_num'][$list['game_type']]++; //游戏类型计数 $addArrs[$curUserId]['question_type_num'][$list['question_type']]++; //问题类型计数 $addArrs[$curUserId]['source_num'][$list['source']]++; //来源计数 $addArrs[$curUserId]['operator_num'][$list['operator_id']]++; //运营商计数 $addArrs[$curUserId]['vip_level_num'][$list['vip_level']]++; //VIP等级计数 $addArrs[$curUserId]['evaluation_num'][$list['evaluation_status']]++; //评价计数 } } $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); $workOrderQaList = $this->_modelWorkOrderQa->select("select * from {$this->_modelWorkOrderQa->tName()} where create_time between {$startTime} and {$endTime} and qa=1"); if ($workOrderQaList) { foreach ($workOrderQaList as $list) { $curUserId = $list['user_id']; $list['is_quality'] = $list['is_quality'] ? '1' : '0'; $addArrs[0]['reply_quality_num'][$list['is_quality']]++; //总数,被质检增加 $addArrs[$curUserId]['reply_quality_num'][$list['is_quality']]++; //用户被质检数增加 if ($list['is_timeout'] != null) { $addArrs[0]['reply_timeout_num'][$list['is_timeout']]++; //总数超时,增加 $addArrs[$curUserId]['reply_timeout_num'][$list['is_timeout']]++; //用户超时,增加 } } } $this->_modelQuality = $this->_getGlobalData('Model_Quality', 'object'); $qualityList = $this->_modelQuality->select("select * from {$this->_modelQuality->tName()} where quality_time between {$startTime} and {$endTime}"); if ($qualityList) { foreach ($qualityList as $list) { $curUserId = $list['quality_user_id']; $addArrs[0]['quality_option_num'][$list['option_id']]++; $addArrs[0]['quality_status_num'][$list['status']]++; $addArrs[$curUserId]['quality_option_num'][$list['option_id']]++; $addArrs[$curUserId]['quality_status_num'][$list['status']]++; if ($list['scores'] > 0) { $addArrs[0]['quality_scores']['bonus'] += $list['scores']; $addArrs[0]['quality_scores']['bonus_num']++; $addArrs[$curUserId]['quality_scores']['bonus'] += $list['scores']; $addArrs[$curUserId]['quality_scores']['bonus_num']++; } else { $addArrs[0]['quality_scores']['deeduction'] += $list['scores']; $addArrs[0]['quality_scores']['deeduction_num']++; $addArrs[$curUserId]['quality_scores']['deeduction'] += $list['scores']; $addArrs[$curUserId]['quality_scores']['deeduction_num']++; } } } $insertArr = array(); foreach ($addArrs as $key => $list) { if ($key === '' || $key === null) { continue; } $list['user_id'] = $key; $list['create_time'] = $startTime; $list['game_type_num'] = serialize((array) $list['game_type_num']); $list['question_type_num'] = serialize((array) $list['question_type_num']); $list['source_num'] = serialize((array) $list['source_num']); $list['operator_num'] = serialize((array) $list['operator_num']); $list['vip_level_num'] = serialize((array) $list['vip_level_num']); $list['evaluation_num'] = serialize((array) $list['evaluation_num']); $list['reply_quality_num'] = serialize((array) $list['reply_quality_num']); $list['reply_timeout_num'] = serialize((array) $list['reply_timeout_num']); $list['quality_option_num'] = serialize((array) $list['quality_option_num']); $list['quality_status_num'] = serialize((array) $list['quality_status_num']); $list['quality_scores'] = serialize((array) $list['quality_scores']); $this->add($list); array_push($insertArr, $list); } }
/** * 查看工单详细 */ public function actionDetail() { $dataList = $this->_modelWorkOrder->findByIdToDetail($_GET['Id']); $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'); $gameServerList = Model::getTtwoArrConvertOneArr($gameServerList, 'Id', 'server_name'); $operatorList = $this->_getGlobalData('operator_list'); $operatorList = Model::getTtwoArrConvertOneArr($operatorList, 'Id', 'operator_name'); $user = $this->_getGlobalData('user'); $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', $dataList['create_time']); $dataList['word_quality_id'] = $dataList['quality_id'] < 0 ? $user[$dataList['quality_id']]['nick_name'] . "[{$departmentList[$user[$dataList['quality_id']]['department_id']]}]" : '未质检'; #------跟椐ID转换文字显示------# $user = Model::getTtwoArrConvertOneArr($user, 'user_name', 'full_name'); foreach ($dialogList as &$list) { $list['create_time'] = date('Y-m-d H:i:s', $list['create_time']); $list['word_reply_name'] = $user[$list['reply_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 ($dataList['evaluation_status'] != 0) { //如果已经评价 $playerEvaluation = $this->_getGlobalData('player_evaluation'); $evaluation = $playerEvaluation[$dataList['evaluation_status']]; $evaluation = $evaluation['title']; if ($dataList['evaluation_status'] == 3) { $evaluation .= ': ' . $workOrderDetailArr['other']['ev']; } $this->_view->assign('evaluation', $evaluation); } if ($dataList['source'] != 2) { //如果工单不是从游戏里面来的话 $userQuestionDetail = $workOrderDetailArr['form_detail']; //获取提问类型工单的值 $questionDetail = $this->_modelQuestionType->findById($dataList['question_type']); //查找问题类型 $dataList['word_question_type'] = $questionDetail['title']; //获取问题类型的中文名称以方便显示 $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; } } } } unset($workOrderStatusArr[1]); //删除待处理状态 unset($workOrderStatusArr[4]); //删除被玩家删除状态 $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); $this->_utilMsg->createNavBar(); $this->_view->display(); /* #----------第一种方式----------# $dataList = $this->_modelWorkOrder->findByIdDetail ( $_GET ['Id'] ); //获取工单整个数组,包括关联表 $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'] ); } $workOrderDetailArr = unserialize ( $dataList ['detail'] ); //获取工单的详细信息 $userData = $workOrderDetailArr ['user_data']; //获取提交工单用户的详细信息 $userQuestionDetail = $workOrderDetailArr ['form_detail']; //获取提问类型工单的值 $questionDetail = $this->_modelQuestionType->findById ( $dataList ['question_type'] ); //查找问题类型 $user=$this->_getGlobalData('user'); $departmentList=$this->_getGlobalData('department'); $departmentList=Model::getTtwoArrConvertOneArr($departmentList,'Id','name'); #------跟椐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']=($dataList['quality_id']<0)?$user[$dataList['quality_id']]['nick_name']."[{$departmentList[$user[$dataList['quality_id']]['department_id']]}]":'未质检'; #------跟椐ID转换文字显示------# $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; } } } } $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 ( 'js', $this->_view->get_curJs () ); $this->_url ['Verify_OrderVerify']=Tools::url('Verify','OrderVerify',array('work_order_id'=>$_GET ['Id'])); $this->_view->assign('url',$this->_url); $this->_view->display ();*/ #----------第一种方式----------# }
/** * 根据用户统计 */ private function _getStatusUser() { if (is_array($this->_users)) { $users = implode(',', $this->_users); } else { $users = $this->_users; } $addArrs = array(); $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object'); $sql = "select Id,game_type,question_type,source,operator_id,vip_level,evaluation_status,evaluation_desc,create_time from {$this->_modelWorkOrder->tName()} where create_time between {$this->_statsTime['start']} and {$this->_statsTime['end']} and owner_user_id in (" . $users . ")"; $gameType = NULL; if ($this->_gameType) { if (is_array($this->_gameType)) { $gameType = implode(',', $this->_gameType); } $sql .= " and game_type in ({$gameType})"; } $workOrderList = $this->_modelWorkOrder->select($sql); if ($workOrderList) { //1游戏BUG //2游戏设置不满意 //3回复不清晰 //4回复错误 //5客服服务态度恶劣 //6其他 $evaluationDesc = array(1 => 32, 2 => 32, 3 => 3, 4 => 3, 5 => 3, 6 => 32, '' => 3); //32扩展为游戏差评、3保留为服务差评 foreach ($workOrderList as $list) { $addArrs['game_type_num'][$list['game_type']]++; $addArrs['question_type_num'][$list['question_type']]++; $addArrs['source_num'][$list['source']]++; $addArrs['operator_num'][$list['operator_id']]++; $addArrs['vip_level_num'][$list['vip_level']]++; //对差评进行扩展 if ($list['evaluation_status'] == 3) { $addArrs['evaluation_num'][$evaluationDesc[$list['evaluation_desc']]]++; $addArrs['evaluation_desc_num'][$list['evaluation_desc']]++; } else { $addArrs['evaluation_num'][$list['evaluation_status']]++; } // $addArrs['evaluation_num'][$list['evaluation_status']]++; // if ($list['evaluation_desc'])$addArrs['evaluation_desc_num'][$list['evaluation_desc']]++; } $isEvNum = $addArrs['evaluation_num'][1] + $addArrs['evaluation_num'][2] + $addArrs['evaluation_num'][3] + $addArrs['evaluation_num'][32]; $addArrs['evaluation_num']['satisfaction'] = $addArrs['evaluation_num'][1] / ($isEvNum - $addArrs['evaluation_num'][32]) * 100; //服务满意度 $totalEvNum = $addArrs['evaluation_num'][0] + $isEvNum; $addArrs['evaluation_num']['ev_percentage'] = $isEvNum / $totalEvNum * 100; //评价率 } $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); $sql = "select Id,is_quality,is_timeout,create_time from {$this->_modelWorkOrderQa->tName()} where create_time between {$this->_statsTime['start']} and {$this->_statsTime['end']} and qa=1 and user_id in (" . $users . ")"; if ($gameType) { $sql .= " and game_type_id in ({$gameType})"; } $workOrderQaList = $this->_modelWorkOrderQa->select($sql); if ($workOrderQaList) { foreach ($workOrderQaList as $list) { $list['is_quality'] = $list['is_quality'] ? '1' : '0'; $addArrs['reply_quality_num'][$list['is_quality']]++; //总数,被质检增加 if ($list['is_timeout'] != null) { $addArrs['reply_timeout_num'][$list['is_timeout']]++; //总数超时,增加 } } } $this->_modelQuality = $this->_getGlobalData('Model_Quality', 'object'); $sql = "select option_id,status,scores from {$this->_modelQuality->tName()} where quality_time between {$this->_statsTime['start']} and {$this->_statsTime['end']} and (quality_user_id in ({$users}) or reply_user_id in ({$users})) "; if ($gameType) { $sql .= " and game_type_id in ({$gameType})"; } $qualityList = $this->_modelQuality->select($sql); if ($qualityList) { foreach ($qualityList as $list) { $addArrs['quality_option_num'][$list['option_id']]++; $addArrs['quality_status_num'][$list['status']]++; if ($list['scores'] > 0) { $addArrs['quality_scores']['bonus'] += $list['scores']; $addArrs['quality_scores']['bonus_num']++; } elseif ($list['scores'] < 0) { $addArrs['quality_scores']['deeduction'] += $list['scores']; $addArrs['quality_scores']['deeduction_num']++; } } } foreach ($addArrs as $key => &$list) { $list['game_type_num'] = (array) $list['game_type_num']; $list['question_type_num'] = (array) $list['question_type_num']; $list['source_num'] = (array) $list['source_num']; $list['operator_num'] = (array) $list['operator_num']; $list['vip_level_num'] = (array) $list['vip_level_num']; $list['evaluation_num'] = (array) $list['evaluation_num']; $list['reply_quality_num'] = (array) $list['reply_quality_num']; $list['reply_timeout_num'] = (array) $list['reply_timeout_num']; $list['quality_option_num'] = (array) $list['quality_option_num']; $list['quality_status_num'] = (array) $list['quality_status_num']; $list['quality_scores'] = (array) $list['quality_scores']; } return $addArrs; }
/** * 详细统计 * @param array $date * @param array $users */ public function statsDetail($date, $users, $gameIds = NULL, $operators = null) { #------获取工单总数统计------# $sql = "select evaluation_status,evaluation_desc,create_time,owner_user_id,is_verify,status from {$this->tName()} where create_time between {$date['start']} and {$date['end']} and owner_user_id in (" . implode(',', $users) . ")"; if ($gameIds) { if (is_array($gameIds)) { $gameIds = implode(',', $gameIds); } $sql .= " and game_type in ({$gameIds})"; } if ($operators) { if (is_array($operators)) { $operators = implode(',', $operators); } $sql .= " and operator_id in ({$operators})"; } // echo "<p>".$sql; $dataList = $this->select($sql); if ($dataList) { $evArr = array(); //1游戏BUG //2游戏设置不满意 //3回复不清晰 //4回复错误 //5客服服务态度恶劣 //6其他 $evaluationDesc = array(1 => 32, 2 => 32, 3 => 3, 4 => 3, 5 => 3, 6 => 32, '' => 3); //32扩展为游戏差评、3保留为服务差评 $workOrderList = array(); foreach ($dataList as $list) { $workOrderList['total']['total']['total']++; // $workOrderList['total']['total']['ev_'.$list['evaluation_status']]++; $workOrderList['total'][date('Y-m-d', $list['create_time'])]['total']++; // $workOrderList['total'][date('Y-m-d',$list['create_time'])]['ev_'.$list['evaluation_status']]++; if ($list['is_verify'] && in_array($list['status'], array(3, 4))) { $workOrderList['total']['total']['verify']++; $workOrderList['total'][date('Y-m-d', $list['create_time'])]['verify']++; $workOrderList[$list['owner_user_id']]['total']['verify']++; $workOrderList[$list['owner_user_id']][date('Y-m-d', $list['create_time'])]['verify']++; } $workOrderList[$list['owner_user_id']]['total']['total']++; // $workOrderList[$list['owner_user_id']]['total']['ev_'.$list['evaluation_status']]++; $workOrderList[$list['owner_user_id']][date('Y-m-d', $list['create_time'])]['total']++; // $workOrderList[$list['owner_user_id']][date('Y-m-d',$list['create_time'])]['ev_'.$list['evaluation_status']]++; //对差评进行扩展 if ($list['evaluation_status'] == 3) { $tmpEv = $evaluationDesc[$list['evaluation_desc']]; $workOrderList['total']['total']['ev_' . $tmpEv]++; $workOrderList[$list['owner_user_id']]['total']['ev_' . $tmpEv]++; $workOrderList['total'][date('Y-m-d', $list['create_time'])]['ev_' . $tmpEv]++; $workOrderList[$list['owner_user_id']][date('Y-m-d', $list['create_time'])]['ev_' . $tmpEv]++; } else { $workOrderList['total']['total']['ev_' . $list['evaluation_status']]++; $workOrderList[$list['owner_user_id']]['total']['ev_' . $list['evaluation_status']]++; $workOrderList['total'][date('Y-m-d', $list['create_time'])]['ev_' . $list['evaluation_status']]++; $workOrderList[$list['owner_user_id']][date('Y-m-d', $list['create_time'])]['ev_' . $list['evaluation_status']]++; } } } $allDay = Tools::getdateArr($date['start'], $date['end']); foreach ($users as $user) { foreach ($allDay as $key => $value) { if (!isset($workOrderList['total'][$key])) { $workOrderList['total'][$key] = array(); } if (!isset($workOrderList[$user][$key])) { $workOrderList[$user][$key] = array(); } } krsort($workOrderList[$user]); } krsort($workOrderList['total']); #------获取工单总数统计------# #------获取回复总记录数------# $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); $sql = "select is_timeout,user_id,create_time from {$this->_modelWorkOrderQa->tName()} where create_time between {$date['start']} and {$date['end']} and qa=1 and user_id in (" . implode(',', $users) . ")"; if ($gameIds) { $sql .= " and game_type_id in ({$gameIds})"; } if ($operators) { if (is_array($operators)) { $operators = implode(',', $operators); } $sql .= " and operator_id in ({$operators})"; } // echo "<p>".$sql; $dataList = $this->_modelWorkOrderQa->select($sql); if ($dataList) { $qaList = array(); foreach ($dataList as $list) { $qaList['total']['total']['total_reply']++; $qaList['total']['total']['timeout_' . $list['is_timeout']]++; $qaList['total'][date('Y-m-d', $list['create_time'])]['total_reply']++; $qaList['total'][date('Y-m-d', $list['create_time'])]['timeout_' . $list['is_timeout']]++; $qaList[$list['user_id']]['total']['total_reply']++; $qaList[$list['user_id']]['total']['timeout_' . $list['is_timeout']]++; $qaList[$list['user_id']][date('Y-m-d', $list['create_time'])]['total_reply']++; $qaList[$list['user_id']][date('Y-m-d', $list['create_time'])]['timeout_' . $list['is_timeout']]++; } } $allDay = Tools::getdateArr($date['start'], $date['end']); foreach ($users as $user) { foreach ($allDay as $key => $value) { if (!isset($qaList['total'][$key])) { $qaList['total'][$key] = array(); } if (!isset($qaList[$user][$key])) { $qaList[$user][$key] = array(); } } krsort($qaList[$user]); } krsort($qaList['total']); #------获取回复总记录数------# #------质检统计------# $this->_modelQuality = $this->_getGlobalData('Model_Quality', 'object'); $sql = "select quality_user_id,reply_user_id,scores,quality_time from {$this->_modelQuality->tName()} where quality_time between {$date['start']} and {$date['end']} and (quality_user_id in (" . implode(',', $users) . ") or reply_user_id in (" . implode(',', $users) . ")) "; if ($gameIds) { $sql .= " and game_type_id in ({$gameIds})"; } if ($operators) { $sql .= " and operator_id in ({$operators})"; } // echo "<p>".$sql; $dataList = $this->_modelQuality->select($sql); if ($dataList) { $qualityList = array(); foreach ($dataList as $list) { $qualityList['total']['total']['total_quality']++; $qualityList['total'][date('Y-m-d', $list['quality_time'])]['total_quality']++; $qualityList['total']['total']['quality_num']++; $qualityList['total']['total']['reply_num']++; $qualityList['total'][date('Y-m-d', $list['quality_time'])]['quality_num']++; $qualityList['total'][date('Y-m-d', $list['quality_time'])]['reply_num']++; $qualityList[$list['quality_user_id']]['total']['quality_num']++; //质检回复量 $qualityList[$list['quality_user_id']][date('Y-m-d', $list['quality_time'])]['quality_num']++; $qualityList[$list['reply_user_id']]['total']['reply_num']++; //被质检回复量 $qualityList[$list['reply_user_id']][date('Y-m-d', $list['quality_time'])]['reply_num']++; if ($list['scores'] > 0) { $qualityList['total']['total']['bonus_num']++; $qualityList['total']['total']['bonus'] += $list['scores']; $qualityList['total'][date('Y-m-d', $list['quality_time'])]['bonus_num']++; $qualityList['total'][date('Y-m-d', $list['quality_time'])]['bonus'] += $list['scores']; $qualityList[$list['reply_user_id']]['total']['bonus_num']++; $qualityList[$list['reply_user_id']]['total']['bonus'] += $list['scores']; $qualityList[$list['reply_user_id']][date('Y-m-d', $list['quality_time'])]['bonus_num']++; $qualityList[$list['reply_user_id']][date('Y-m-d', $list['quality_time'])]['bonus'] += $list['scores']; } elseif ($list['scores'] < 0) { $qualityList['total']['total']['deduction_num']++; $qualityList['total']['total']['deduction'] += $list['scores']; $qualityList['total'][date('Y-m-d', $list['quality_time'])]['deduction_num']++; $qualityList['total'][date('Y-m-d', $list['quality_time'])]['deduction'] += $list['scores']; $qualityList[$list['reply_user_id']]['total']['deduction_num']++; $qualityList[$list['reply_user_id']]['total']['deduction'] += $list['scores']; $qualityList[$list['reply_user_id']][date('Y-m-d', $list['quality_time'])]['deduction_num']++; $qualityList[$list['reply_user_id']][date('Y-m-d', $list['quality_time'])]['deduction'] += $list['scores']; } } } $allDay = Tools::getdateArr($date['start'], $date['end']); foreach ($users as $user) { foreach ($allDay as $key => $value) { if (!isset($qualityList['total'][$key])) { $qualityList['total'][$key] = array(); } if (!isset($qualityList[$user][$key])) { $qualityList[$user][$key] = array(); } } krsort($qualityList[$user]); } krsort($qualityList['total']); #------质检统计------# #------BUGLIST------# $this->_modelVerify = $this->_getGlobalData('Model_Verify', 'object'); $sql = "select user_id,finish_user_id,create_time from {$this->_modelVerify->tName()} where create_time between {$date['start']} and {$date['end']} and (user_id in (" . implode(',', $users) . ") or finish_user_id in (" . implode(',', $users) . "))"; if ($gameIds) { $sql .= " and game_type_id in ({$gameIds})"; } if ($operators) { $sql .= " and operator_id in ({$operators})"; } // echo "<p>".$sql; $dataList = $this->_modelVerify->select($sql); if ($dataList) { $bugList = array(); foreach ($dataList as $list) { $curTime = date('Y-m-d', $list['create_time']); $bugList['total']['total']['submit']++; $bugList['total'][$curTime]['submit']++; $bugList[$list['user_id']]['total']['submit']++; $bugList[$list['user_id']][$curTime]['submit']++; if ($list['finish_user_id']) { $bugList['total']['total']['finish']++; $bugList['total'][$curTime]['finish']++; $bugList[$list['finish_user_id']]['total']['finish']++; $bugList[$list['finish_user_id']][$curTime]['finish']++; } } } $allDay = Tools::getdateArr($date['start'], $date['end']); foreach ($users as $user) { foreach ($allDay as $key => $value) { if (!isset($bugList['total'][$key])) { $bugList['total'][$key] = array(); } if (!isset($bugList[$user][$key])) { $bugList[$user][$key] = array(); } } krsort($bugList[$user]); } krsort($bugList['total']); #------BUGLIST------# $arrayList = array(); $arrayList['total'] = array_merge_recursive($workOrderList['total'], $qaList['total'], $qualityList['total'], $bugList['total']); foreach ($users as $user) { $arrayList[$user] = array_merge_recursive($workOrderList[$user], $qaList[$user], $qualityList[$user], $bugList[$user]); } return $arrayList; }
/** * 未发送致服务器的回复 * @todo 新增动作 */ public function actionNotSendReply() { #------初始化------# $this->_loadCore('Help_Page'); $this->_loadCore('Help_SqlSearch'); $helpSqlSearch = new Help_SqlSearch(); $this->_utilRbac = $this->_getGlobalData('Util_Rbac', 'object'); $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); $qualityStatus = $this->_getGlobalData('quality_status'); $qualityOptions = $this->_getGlobalData('quality_options'); $gameTypes = $this->_getGlobalData('game_type'); $gameTypes = Model::getTtwoArrConvertOneArr($gameTypes, 'Id', 'name'); #------初始化------# $selected = array(); //模板默认值 $users = $this->_getGlobalData('user'); $helpSqlSearch->set_tableName($this->_modelWorkOrderQa->tName()); $helpSqlSearch->set_conditions('qa=1'); if ($_REQUEST['game_type_id']) { $helpSqlSearch->set_conditions("game_type_id={$_REQUEST['game_type_id']}"); $selected['game_type_id'] = $_REQUEST['game_type_id']; } if ($_REQUEST['reply_user_id'] != '') { $helpSqlSearch->set_conditions("user_id={$_REQUEST['reply_user_id']}"); $selected['reply_user_id'] = $_REQUEST['reply_user_id']; } if ($_REQUEST['start_time'] && $_REQUEST['end_time']) { $startTime = strtotime($_REQUEST['start_time']); $endTime = strtotime($_REQUEST['end_time']); $helpSqlSearch->set_conditions("create_time between {$startTime} and {$endTime}"); $selected['start_time'] = $_REQUEST['start_time']; $selected['end_time'] = $_REQUEST['end_time']; } $helpSqlSearch->set_conditions('content like \'<em>%\' '); $helpSqlSearch->set_orderBy('create_time desc'); $helpSqlSearch->setPageLimit($_GET['page']); $allConditions = $helpSqlSearch->get_conditions(); //返回所有条件 $helpPage = new Help_Page(array('total' => $this->_modelWorkOrderQa->findCount($allConditions), 'perpage' => PAGE_SIZE)); $sql = $helpSqlSearch->createSql(); $dataList = $this->_modelWorkOrderQa->select($sql); if ($dataList) { Tools::import('Util_FontColor'); foreach ($dataList as &$value) { $value['word_game_type_id'] = $gameTypes[$value['game_type_id']]; $value['word_is_quality'] = $value['is_quality'] ? $users[$value['is_quality']]['nick_name'] : '<font color="#666666">未质检</font>'; $value['word_reply_name'] = $users[$value['user_id']]['nick_name']; $value['create_time'] = date('Y-m-d H:i:s', $value['create_time']); $value['last_reply_time'] = date('Y-m-d H:i:s', $value['last_reply_time']); $value['url_detail'] = Tools::url('QualityCheck', 'Dialog', array('Id' => $value['work_order_id'], 'game_type_id' => $value['game_type_id'], 'operator_id' => $value['operator_id'])); $value['content'] = strip_tags($value['content']); } $this->_view->assign('dataList', $dataList); } $gameTypes[''] = '所有'; $this->_view->assign('gameTypes', $gameTypes); $this->_view->assign('users', $users); $this->_view->assign('selected', $selected); $this->_view->assign('pageBox', $helpPage->show()); $this->_utilMsg->createNavBar(); $this->_view->display(); }
/** * 运营商按天数统计 */ public function actionOperatorDay() { $operatorList = $this->_getGlobalData('operator_list'); $operatorList = Model::getTtwoArrConvertOneArr($operatorList, 'Id', 'operator_name'); $gameTypeList = $this->_getGlobalData('game_type'); $gameTypeList = Model::getTtwoArrConvertOneArr($gameTypeList, 'Id', 'name'); $this->_modelGameOperator = $this->_getGlobalData('Model_GameOperator', 'object'); $gameOperatorIndex = $this->_modelGameOperator->findAll(); foreach ($gameOperatorIndex as &$value) { $value['word_operator_id'] = $operatorList[$value['operator_id']]; } if ($this->_isPost()) { if (empty($_POST['date'])) { $this->_utilMsg->showMsg('统计日期不能为空', -2); } if (empty($_POST['game_type_id']) || !count($_POST['operator_id'])) { $this->_utilMsg->showMsg('请选译游戏,和运营商', -2); } $curDate = $_POST['date']; $this->_view->assign('selectedGameTypeId', $_POST['game_type_id']); $selectedOperatorList = array(); foreach ($_POST['operator_id'] as $operatorId) { if (array_key_exists($operatorId, $operatorList)) { $selectedOperatorList[$operatorId] = $operatorList[$operatorId]; } } $this->_view->assign('selectedOperatorIds', $_POST['operator_id']); $this->_view->assign('selectedOperatorList', $selectedOperatorList); $this->_view->assign('selectedDate', $curDate); $date['start'] = strtotime($curDate); $date['end'] = $date['start'] + 24 * 60 * 60 - 1; $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object'); $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); $this->_modelReplyQulity = $this->_getGlobalData('Model_ReplyQulity', 'object'); $workOrderTotal = $this->_modelWorkOrder->getOperatorDayStatsNum($_POST['game_type_id'], $_POST['operator_id'], $date); $workOrderQaTotal = $this->_modelWorkOrderQa->getOperatorDayStatsNum($_POST['game_type_id'], $_POST['operator_id'], $date); $replyQulityTotal = $this->_modelReplyQulity->getOperatorDayStatsNum($_POST['game_type_id'], $_POST['operator_id'], $date); if (is_array($workOrderQaTotal) && is_array($replyQulityTotal) && is_array($workOrderTotal)) { $total = array(); for ($i = 0; $i <= 23; $i++) { if (!$workOrderQaTotal[$i]) { $workOrderQaTotal[$i] = array(); } if (!$replyQulityTotal[$i]) { $replyQulityTotal[$i] = array(); } if (!$workOrderTotal[$i]) { $workOrderTotal[$i] = array(); } $total[$i] = array_merge($workOrderQaTotal[$i], $replyQulityTotal[$i], $workOrderTotal[$i]); } if (!$workOrderQaTotal['total']) { $workOrderQaTotal['total'] = array(); } if (!$replyQulityTotal['total']) { $replyQulityTotal['total'] = array(); } if (!$workOrderTotal['total']) { $workOrderTotal['total'] = array(); } $total['total'] = array_merge($workOrderQaTotal['total'], $replyQulityTotal['total'], $workOrderTotal['total']); } $this->_view->assign('total', $total); $this->_view->assign('displayTrue', true); } $this->_view->assign('js', $this->_view->get_curJs()); $this->_view->assign('gameOperatorIndex', json_encode($gameOperatorIndex)); $this->_view->assign('gameTypeList', $gameTypeList); $this->_utilMsg->createNavBar(); $this->_view->display(); }
private function _saveSource4() { $orderArr = array(); $orderArr['game_type'] = intval($_POST['game_id']); $orderArr['is_vip'] = intval($_GET['is_vip']); $orderArr['user_account'] = $_POST['user_account'] ? $_POST['user_account'] : 0; $orderArr['user_nickname'] = trim($_POST['user_nickname']); $orderArr['money'] = intval($_POST['money_total']); $orderArr['source'] = intval(4); //工单来源 $orderArr['title'] = strip_tags($_POST['title']); $orderArr['question_type'] = intval($_POST['question_type']); $orderArr['question_num'] = 1; $orderArr['create_time'] = CURRENT_TIME; $orderArr['game_user_id'] = trim($_POST['user_id']); if ($_FILES['image']) { $updateInfo = $this->_upload(); //如果有上传图片就上传文件 } $serverMarking = trim($_POST['server_marking']); $gameServerList = $this->_modelGameSerList->findByMarking($_POST['game_id'], $serverMarking, $_POST['server_name']); if (!$gameServerList) { //未找到服务器 $this->_utilMsg->showMsg("game server non-existent", 1); // $this->_returnAjaxJson ( array ('status' => 0, 'info' => 'game server non-existent', 'data' => null ) ); } $this->_modelGameOperator = $this->_getGlobalData('Model_GameOperator', 'object'); $gameOperatorIndex = $this->_modelGameOperator->findByGidOId($_POST['game_id'], $gameServerList['operator_id']); //找到此运营商的详细 资料. if (!$gameOperatorIndex) { //未找到游戏与运营商的索引 $this->_utilMsg->showMsg("game server or operator non-existent", 1); // $this->_returnAjaxJson ( array ('status' => 0, 'info' => 'game server or operator non-existent', 'data' => null ) ); } //vip等级,如果从游戏中有传$_POST['vip_level']过来,就使用$_POST['vip_level'],否则使用配置值 $orderArr['vip_level'] = isset($_REQUEST['vip']) ? intval($_REQUEST['vip']) : $this->_modelGameOperator->getVipLevel($gameOperatorIndex['vip_setup']['vip_pay'], $_POST['money_total']); $orderArr['vip_level'] = min(6, $orderArr['vip_level']); $orderArr['timeout'] = $this->_modelGameOperator->getTimeOut($gameOperatorIndex['vip_setup']['vip_timeout'], $orderArr['vip_level']); $orderArr['timeout'] *= 60; //换成秒 $orderArr['is_verify'] = 0; $orderArr['operator_id'] = $gameServerList['operator_id']; $orderArr['game_server_id'] = $gameServerList['Id']; $orderArr['is_read'] = 0; if ($gameServerList['room_id']) { $orderArr['room_id'] = $gameServerList['room_id']; } if (!$this->_modelWorkOrder->add($orderArr)) { //创建表单失败 $this->_returnAjaxJson(array('status' => 0, 'info' => 'Failure to create order', 'data' => null)); } $workOrderId = $this->_modelWorkOrder->returnLastInsertId(); //获取工单id #------追加日志------# $this->_modelOrderLog = $this->_getGlobalData('Model_OrderLog', 'object'); $this->_modelOrderLog->addLog(array('game_type_id' => $orderArr['game_type'], 'operator_id' => $orderArr['operator_id'], 'server_id' => $orderArr['game_server_id'], 'Id' => $workOrderId), Model_OrderLog::ASK); #------追加日志------# #------增加新的工单到队列------# if ($orderArr['room_id']) { $addOrder = array('Id' => $workOrderId, 'vip_level' => $orderArr['vip_level'], 'room_id' => $orderArr['room_id'], 'game_type_id' => $orderArr['game_type'], 'operator_id' => $orderArr['operator_id']); $this->_utilWorkOrder = $this->_getGlobalData('Util_WorkOrder', 'object'); $orderManageClass = $this->_utilWorkOrder->getOrderManage(); $orderManageClass->addOrder($addOrder); $orderManageClass = null; } #------增加新的工单到队列------# $orderDetail = array(); $orderDetail['form_detail'] = array(); $orderDetail['user_data'] = array('user_id' => $_POST['user_id'], 'user_account' => $_POST['user_account'], 'user_nickname' => $_POST['user_nickname'], 'money_total' => isset($_POST['money_total']) ? $_POST['money_total'] : -1, 'money_month' => isset($_POST['money_month']) ? $_POST['money_month'] : -1, 'register_date' => !$_POST['register_date'] || $_POST['register_date'] == 'null' ? null : $_POST['register_date'], 'ip' => $_POST['ip']); //钻类型 if (isset($_POST['flatType'])) { $orderDetail['ext']['flatType']['desc'] = '钻类型'; switch ($_POST['flatType']) { case '1': $orderDetail['ext']['flatType']['value'] = '<font color="#FF9900">黄钻</font>'; break; case '10': $orderDetail['ext']['flatType']['value'] = '<font color="#0000FF">蓝钻</font>'; break; default: $orderDetail['ext']['flatType']['value'] = '<font color="#999999">无</font>'; } } //钻等级 if (isset($_POST['diamondLevel'])) { $orderDetail['ext']['diamondLevel'] = array('desc' => '钻等级', 'value' => $_POST['diamondLevel']); } //是否年费黄钻 if (isset($_POST['yearDiamond'])) { $orderDetail['ext']['yearDiamond'] = array('desc' => '是否年费', 'value' => $_POST['yearDiamond'] ? '是' : '否'); } //游戏VIP等级 if (isset($_POST['vip'])) { $orderDetail['ext']['vip'] = array('desc' => '游戏VIP等级', 'value' => $_POST['vip']); } $orderDetail = serialize($orderDetail); $this->_modelWorkOrderDetail = $this->_getGlobalData('Model_WorkOrderDetail', 'object'); $this->_modelWorkOrderDetail->add(array('work_order_id' => $workOrderId, 'content' => $orderDetail)); #-----插入对话表------# $retArr = array('order_id' => $workOrderId); $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object'); $content = strip_tags($_POST['content']); $content = str_replace(array('\\r\\n', '\\r'), chr(10), $content); $orderDialog = array('user_id' => 0, 'game_type_id' => $_POST['game_id'], 'operator_id' => $orderArr['operator_id'], 'work_order_id' => $workOrderId, 'qa' => '0', 'content' => $content, 'create_time' => CURRENT_TIME); if ($updateInfo && is_array($updateInfo)) { $_imgArr = array(); $i = ''; foreach ($updateInfo as $img) { $retArr["image_path{$i}"] = $img['web_path']; $i++; $_imgArr[] = str_replace(__ROOT__, '', $img["web_path"]); } $orderDialog['image'] = json_encode($_imgArr); } $this->_modelWorkOrderQa->add($orderDialog); //$orderArr["room_id"] if ($orderArr['room_id'] && $gameServerList['server_url'] && $_POST['user_id']) { $this->_autoreply($orderArr, $gameServerList['server_url']); } #-----插入对话表------# eaccelerator_rm('question_' . $orderArr['user_account']); eaccelerator_put('question_' . $orderArr['user_account'], md5($orderArr['user_account'] . $orderArr['title']), 60); $this->_utilMsg->showMsg("提交成功", 1); }