Ejemplo n.º 1
0
 /**
  * 质检动作
  */
 public function actionQuality()
 {
     $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object');
     if ($this->_isPost()) {
         $this->_modelQuality = $this->_getGlobalData('Model_Quality', 'object');
         $this->_utilRbac = $this->_getGlobalData('Util_Rbac', 'object');
         $userClass = $this->_utilRbac->getUserClass();
         $addArr = array('reply_user_id' => $_POST['user_id'], 'game_type_id' => $_POST['game_type_id'], 'operator_id' => $_POST['operator_id'], 'work_order_id' => $_POST['work_order_id'], 'quality_user_id' => $userClass['_id'], 'qa_id' => $_POST['qa_id'], 'option_id' => $_POST['option_id'], 'quality_content' => $_POST['quality_content'], 'quality_time' => CURRENT_TIME, 'scores' => $_POST['scores']);
         if ($_POST['option_id'] > 0 && $_POST['scores'] >= 0) {
             $addArr['status'] = 5;
         }
         //如果质检都是好的话并且所扣分数是大于零,将会变成同意质检,不需要申诉
         if ($this->_modelQuality->add($addArr)) {
             $this->_modelWorkOrderQa->update(array('is_quality' => $userClass['_id']), "Id={$_POST['qa_id']}");
             //更新回复,表示已质检
             #------添加日志------#
             $this->_modelOrderLog = $this->_getGlobalData('Model_OrderLog', 'object');
             $this->_modelOrderLog->addLog(array('Id' => $_POST['work_order_id']), Model_OrderLog::QUALITY);
             #------添加日志------#
             $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object');
             $this->_modelWorkOrder->update(array('quality_id' => $userClass['_id']), "Id={$_POST['work_order_id']}");
             $this->_utilMsg->showMsg(false);
         } else {
             $this->_utilMsg->showMsg(Tools::getLang('QUALITY_ERROR', __CLASS__), -2);
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * 更新拥有者
  */
 public function updateWorkOrderOwner(Object_UserInfo $userClass, $workOrder)
 {
     $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object');
     $this->_modelWorkOrder->update(array('owner_user_id' => $userClass['_id']), "Id={$workOrder['work_order_id']}");
     $userClass->addToOrderNum(1);
     //增加自身的工单数量
     $userClass->setUpdateInfo(1);
 }
Ejemplo n.º 3
0
 /**
  * 更改状态
  */
 public function actionChangeStatus()
 {
     if ($this->_isAjax()) {
         $id = Tools::coerceInt($_GET['Id']);
         $status = Tools::coerceInt($_GET['status']);
         if ($this->_modelWorkOrder->update(array('status' => $status), "Id={$id}")) {
             $this->_returnAjaxJson(array('status' => 1, 'msg' => '更改状态成功'));
         } else {
             $this->_returnAjaxJson(array('status' => 0, 'msg' => '更改状态失败'));
         }
     }
 }
Ejemplo n.º 4
0
 /**
  * 更改状态
  */
 public function actionChangeStatus()
 {
     if ($this->_isAjax()) {
         $id = Tools::coerceInt($_GET['Id']);
         $status = Tools::coerceInt($_GET['status']);
         if ($this->_modelWorkOrder->update(array('status' => $status), "Id={$id}")) {
             #------添加日志------#
             $this->_modelOrderLog = $this->_getGlobalData('Model_OrderLog', 'object');
             $this->_modelOrderLog->addLog(array('Id' => $id), Model_OrderLog::CHANGE_STATUS);
             #------添加日志------#
             $this->_returnAjaxJson(array('status' => 1, 'msg' => Tools::getLang('CHANGESTATUS_SUCCESS', __CLASS__)));
         } else {
             $this->_returnAjaxJson(array('status' => 0, 'msg' => Tools::getLang('CHANGESTATUS_ERROR', __CLASS__)));
         }
     }
 }
Ejemplo n.º 5
0
 /**
  * 删除工单
  */
 public function actionDel()
 {
     $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object');
     $workOrderId = $_REQUEST['id'];
     if (is_array($workOrderId)) {
         //判断单个删除或是多个删除
         $workOrderId = implode(',', $workOrderId);
         $isOk = $this->_modelWorkOrder->update(array('status' => 4), "Id in ({$workOrderId})");
     } else {
         $workOrderId = Tools::coerceInt($workOrderId);
         $isOk = $this->_modelWorkOrder->update(array('status' => 4), "Id={$workOrderId}");
     }
     if ($isOk) {
         //是否删除成功
         $this->_returnAjaxJson(array('status' => 1, 'info' => null, 'data' => null));
     } else {
         $this->_returnAjaxJson(array('status' => 0, 'info' => null, 'data' => null));
     }
 }
Ejemplo n.º 6
0
 public function actionWorkOrderDetail()
 {
     $userInfo = array('user_account' => trim($_REQUEST['user_account']), 'game_user_id' => trim($_REQUEST['user_id']), 'user_nickname' => trim(urldecode($_REQUEST['user_nickname'])));
     $userInfo = array_filter($userInfo);
     //检查玩家
     if ($userInfo) {
         $workOrder_condition = key($userInfo) . "='" . current($userInfo) . "'";
     } else {
         $this->_returnAjaxJson(array('status' => 0, 'info' => 'player empty', 'data' => null));
     }
     $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');
     $sql_CheckWorkOrder = "select Id,question_type as type,title,create_time as update_time,evaluation_status as ev,evaluation_desc as ev_desc,status,is_read from {$this->_modelWorkOrder->tName()} where Id={$workOrderId} and {$workOrder_condition}";
     $workOrderData = $this->_modelWorkOrder->select($sql_CheckWorkOrder, 1);
     if (!$workOrderData) {
         $this->_returnAjaxJson(array('status' => 0, 'info' => 'the player has not this order', 'data' => null));
     }
     if ($workOrderData['is_read'] == 0) {
         $this->_modelWorkOrder->update(array('is_read' => 1), "Id={$workOrderId}");
         //更改已读状态
     }
     $this->_loadCore('Help_SqlSearch');
     //载入sql工具
     $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object');
     $helpSqlSearch = new Help_SqlSearch();
     $helpSqlSearch->set_field('Id as id,work_order_id,qa,service_id,content,create_time,image');
     $helpSqlSearch->set_tableName($this->_modelWorkOrderQa->tName());
     $helpSqlSearch->set_conditions('work_order_id=' . $workOrderId);
     $helpSqlSearch->set_conditions('not_sendmsg=0');
     $helpSqlSearch->set_orderBy('create_time');
     $sql = $helpSqlSearch->createSql();
     $dataList = $this->_modelWorkOrderQa->select($sql);
     $this->_returnAjaxJson(array('status' => 1, 'info' => CONTROL . '_' . ACTION, 'data' => $dataList, 'ext' => $workOrderData));
 }
Ejemplo n.º 7
0
 /**
  * 显示某一个工单的对话
  */
 public function actionDialog()
 {
     $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object');
     if ($this->_isPost()) {
         $this->_modelQuality = $this->_getGlobalData('Model_Quality', 'object');
         $this->_utilRbac = $this->_getGlobalData('Util_Rbac', 'object');
         $userClass = $this->_utilRbac->getUserClass();
         $addArr = array('game_type_id' => $_POST['game_type_id'], 'operator_id' => $_POST['operator_id'], 'work_order_id' => $_POST['work_order_id'], 'quality_user_id' => $userClass['_id'], 'qa_id' => $_POST['qa_id'], 'option_id' => $_POST['option_id'], 'quality_content' => $_POST['quality_content'], 'quality_time' => CURRENT_TIME, 'scores' => $_POST['scores']);
         if ($_POST['option_id'] > 0 && $_POST['scores'] >= 0) {
             $addArr['status'] = 5;
         }
         //如果质检都是好的话并且所扣分数是大于零,将会变成同意质检,不需要申诉
         if ($this->_modelQuality->add($addArr)) {
             $this->_modelWorkOrderQa->update(array('is_quality' => $userClass['_id']), "Id={$_POST['qa_id']}");
             //更新回复,表示已质检
             $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object');
             $this->_modelWorkOrder->update(array('quality_id' => $userClass['_id']), "Id={$_POST['work_order_id']}");
             $this->_utilMsg->showMsg(false);
         } else {
             $this->_utilMsg->showMsg('质检失败', -2);
         }
     } else {
         $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object');
         $data = $this->_modelWorkOrder->findByIdToDetail($_GET['Id']);
         #------载入缓存------#
         $gameTypeArr = Model::getTtwoArrConvertOneArr($this->_getGlobalData('game_type'), 'Id', 'name');
         //游戏类型
         $workOrderSourceArr = $this->_getGlobalData('workorder_source');
         //工单来源
         $workOrderStatusArr = $this->_getGlobalData('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转换文字显示------#
         $data['word_game_type'] = $gameTypeArr[$data['game_type']];
         $data['word_source'] = $workOrderSourceArr[$data['source']];
         $data['word_game_server_id'] = $gameServerList[$data['game_server_id']];
         $data['word_operator_id'] = $operatorList[$data['operator_id']];
         $data['create_time'] = date('Y-m-d H:i', $data['create_time']);
         $data['word_quality_id'] = $data['quality_id'] < 0 ? $user[$data['quality_id']]['nick_name'] . "[{$departmentList[$user[$data['quality_id']]['department_id']]}]" : '未质检';
         $data['word_quality_id'] = $user[$data['quality_id']]['full_name'];
         #------跟椐ID转换文字显示------#
         $workOrderDetailArr = unserialize($data['content']);
         //获取工单的详细信息
         $userData = $workOrderDetailArr['user_data'];
         //获取提交工单用户的详细信息
         $userData['register_date'] = $userData['register_date'] ? date('Y-m-d H:i:s', $userData['register_date']) : '';
         if ($data['evaluation_status'] != 0) {
             //如果已经评价
             $playerEvaluation = $this->_getGlobalData('player_evaluation');
             $evaluation = $playerEvaluation[$data['evaluation_status']];
             $evaluation = $evaluation['title'];
             if ($data['evaluation_status'] == 3) {
                 $evaluation .= ':&nbsp;' . $workOrderDetailArr['other']['ev'];
             }
             $this->_view->assign('evaluation', $evaluation);
         }
         $users = $this->_getGlobalData('user');
         $users = Model::getTtwoArrConvertOneArr($users, 'user_name', 'full_name');
         $dataList = $this->_modelWorkOrderQa->findByWorkOrderId($_GET['Id']);
         foreach ($dataList as &$value) {
             $value['create_time'] = date('Y-m-d H:i:s', $value['create_time']);
             $value['word_reply_name'] = $users[$value['reply_name']];
         }
         $this->_view->assign('userData', $userData);
         $this->_view->assign('data', $data);
         //表单详细信息
         $qualityList = $this->_getGlobalData('quality_options');
         $this->_view->assign('workOrderId', $_GET['Id']);
         $this->_view->assign('qualityOptions', $qualityList);
         $this->_view->assign('dataList', $dataList);
         $this->_view->assign('gameTypeId', $_GET['game_type_id']);
         $this->_view->assign('operatorId', $_GET['operator_id']);
         $this->_view->assign('js', $this->_view->get_curJs());
         $this->_utilMsg->createNavBar();
         $this->_view->display();
     }
 }
Ejemplo n.º 8
0
 /**
  * 添加查证处理
  */
 public function actionOrderVerify()
 {
     $this->_modelVerify = $this->_getGlobalData('Model_Verify', 'object');
     if ($this->_isPost()) {
         if (!$_POST['game_type_id'] || !$_POST['operator_id'] || !$_POST['game_server_id']) {
             $this->_utilMsg->showMsg(Tools::getLang('SELECT_COMPLETE_MSG', __CLASS__), -1);
         } else {
             $this->_utilRbac = $this->_getGlobalData('Util_Rbac', 'object');
             $userClass = $this->_utilRbac->getUserClass();
             $addArr = array('user_id' => $userClass['_id'], 'department_id' => $_POST['department_id'], 'create_time' => CURRENT_TIME, 'game_type_id' => $_POST['game_type_id'], 'operator_id' => $_POST['operator_id'], 'game_server_id' => $_POST['game_server_id'], 'status' => $_POST['status'], 'type' => $_POST['type'], 'level' => $_POST['level'], 'title' => $_POST['title'], 'content' => $_POST['content'], 'game_user_id' => trim($_POST['game_user_id']), 'game_user_account' => $_POST['game_user_account'], 'game_user_nickname' => $_POST['game_user_nickname'], 'source' => $_POST['source']);
             if ($_POST['source_detail']) {
                 $addArr['source_detail'] = $_POST['source_detail'];
             }
             if ($_POST['work_order_id']) {
                 $addArr['work_order_id'] = $_POST['work_order_id'];
             }
             $addArr['log'] = array();
             array_push($addArr['log'], $this->_addLog(array('action' => 'add', 'status' => $_POST['status'])));
             $addArr['log'] = serialize($addArr['log']);
             if ($this->_modelVerify->add($addArr)) {
                 if ($_POST['work_order_id']) {
                     $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object');
                     $this->_modelWorkOrder->update(array('is_verify' => 1), "Id={$_POST['work_order_id']}");
                     $this->_utilMsg->showMsg(false);
                 } else {
                     $this->_utilMsg->showMsg(false);
                 }
             } else {
                 $this->_utilMsg->showMsg(Tools::getLang('ADD_BUGLIST_ERROR', __CLASS__), -2);
             }
         }
     } else {
         $verifyStatus = $this->_getGlobalData('verify_status');
         $verifyType = $this->_getGlobalData('verify_type');
         $verifyLevel = $this->_getGlobalData('verify_level');
         $verifySource = $this->_getGlobalData('verify_source');
         $gameType = $this->_getGlobalData('game_type');
         //$gameType = Model::getTtwoArrConvertOneArr ( $gameType, 'Id', 'name' );
         $operatorList = $this->_getGlobalData('operator_list');
         //$operatorList = Model::getTtwoArrConvertOneArr ( $operatorList, 'Id', 'operator_name' );
         $gameServerList = $this->_getGlobalData('gameser_list');
         $this->_utilRbac = $this->_getGlobalData('Util_Rbac', 'object');
         $userClass = $this->_utilRbac->getUserClass();
         $myGameType = array();
         $myGameOpt = array();
         $myOpt = array();
         if ($userClass['_operatorIds'] && is_array($userClass['_operatorIds'])) {
             foreach ($userClass['_operatorIds'] as $sub) {
                 $myGameOpt[$sub['game_type_id']][$sub['operator_id']] = $operatorList[$sub['operator_id']]['operator_name'];
                 $myOpt[$sub['operator_id']] = $operatorList[$sub['operator_id']]['operator_name'];
             }
             foreach ($myGameOpt as $gameId => $sub) {
                 $myGameType[$gameId] = $gameType[$gameId]['name'];
             }
         }
         $operatorList = $myOpt;
         $gameType = $myGameType;
         foreach ($gameServerList as &$list) {
             unset($list['room_id'], $list['marking'], $list['time_zone'], $list['server_url'], $list['full_name']);
         }
         $department = $this->_modelVerify->getDep();
         if (isset($_GET['work_order_id'])) {
             $this->_view->assign('workOrderId', $_GET['work_order_id']);
             $dataList = $this->_modelVerify->findByUserAccountWorkId($_GET['user_account'], $_GET['work_order_id']);
             if ($dataList) {
                 foreach ($dataList as &$value) {
                     $verifyTypeToGameType = $this->_getVerifyTypeByGameType($value['game_type_id']);
                     $value['word_game_type_id'] = $gameType[$value['game_type_id']];
                     $value['word_operator_id'] = $operatorList[$value['operator_id']];
                     $value['word_game_server_id'] = $gameServerList[$value['game_server_id']]['server_name'];
                     $value['word_status'] = $verifyStatus[$value['status']];
                     $value['word_type'] = $verifyTypeToGameType[$value['type']];
                     $value['word_level'] = $verifyLevel[$value['level']];
                     $value['create_time'] = date('Y-m-d H:i:s', $value['create_time']);
                     $value['word_department_id'] = $department[$value['department_id']];
                     $value['url_detail'] = Tools::url(CONTROL, 'Detail', array('Id' => $value['Id'], 'work_order_id' => $_GET['work_order_id']));
                     if ($value['log']) {
                         $value['log'] = unserialize($value['log']);
                     }
                 }
                 $this->_view->assign('dataList', $dataList);
             }
         }
         #------selected------#
         $this->_view->assign('selectedGameTypeId', $_GET['game_type_id']);
         $this->_view->assign('selectedOperatorId', $_GET['operator_id']);
         $this->_view->assign('selectedServerId', $_GET['game_server_id']);
         $this->_view->assign('gameUserId', $_GET['game_user_id']);
         $this->_view->assign('userAccount', $_GET['user_account']);
         $this->_view->assign('userNickname', $_GET['user_nickname']);
         #------selected------#
         $this->_view->assign('verifySource', $verifySource);
         $this->_view->assign('gameServerList', json_encode($gameServerList));
         $this->_view->assign('department', $department);
         $this->_view->assign('verifyStatus', $verifyStatus);
         $this->_view->assign('verifyType', json_encode($verifyType));
         $this->_view->assign('verifyLevel', $verifyLevel);
         $this->_view->assign('gameType', $gameType);
         $this->_view->assign('operatorList', $operatorList);
         $this->_view->assign('js', $this->_view->get_curJs());
         if (!$_REQUEST['work_order_id']) {
             $this->_utilMsg->createNavBar();
         }
         $this->_view->display();
     }
 }