Exemple #1
0
 private function _userManagerOperator()
 {
     $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']];
     }
     $userOperatorList = $this->_modelUserProiorityOperator->findByUserId($_GET['Id']);
     foreach ($userOperatorList as &$value) {
         $value['word_operator_id'] = $operatorList[$value['operator_id']];
         $value['word_game_type_id'] = $gameTypeList[$value['game_type_id']];
         $value['url_del'] = Tools::url(CONTROL, ACTION, array('operator_id' => $value['operator_id'], 'user_id' => $_GET['Id'], 'game_type_id' => $value['game_type_id'], 'doaction' => 'delOperator'));
     }
     $this->_view->assign('userOperatorList', $userOperatorList);
     $this->_view->assign('gameOperatorIndex', json_encode($gameOperatorIndex));
     $this->_view->assign('gameTypeList', $gameTypeList);
     $this->_view->assign('userId', $_GET['Id']);
     $this->_view->set_tpl(array('body' => 'User/UserManagerOperator.html'));
     $this->_utilMsg->createNavBar();
     $this->_view->display();
 }
 /**
  * 增加游戏,运营商索引
  */
 private function _vipAdd()
 {
     if (count($_POST['operator_ids']) && isset($_POST['game_type'])) {
         $this->_modelGameOperator = $this->_getGlobalData('Model_GameOperator', 'object');
         $vipSetup = serialize(array('vip_timeout' => array(70, 60, 50, 40, 30, 10, 5), 'vip_pay' => array(0, 1000, 2000, 3000, 4000, 5000, 6000)));
         //默认的vipsetup
         foreach ($_POST['operator_ids'] as $value) {
             $this->_modelGameOperator->add(array('game_type_id' => $_POST['game_type'], 'operator_id' => $value, 'vip_setup' => $vipSetup));
         }
         $this->_modelGameOperator->createCache();
         $this->_utilMsg->showMsg(false);
     } else {
         $this->_utilMsg->showMsg('添加索引失败', -2);
     }
 }
 private function _gameOperatorEdit()
 {
     $this->_modelGameOperator = $this->_getGlobalData('Model_GameOperator', 'object');
     $Id = intval($_GET['Id']);
     if (!$Id) {
         $this->_utilMsg->showMsg('ID错误');
     }
     if ($this->_isPost()) {
         $vipSetup = array('vip_timeout' => explode(',', $_POST['vip_timeout']), 'vip_pay' => explode(',', $_POST['vip_pay']));
         $addData = array('url' => trim($_POST['url']), 'vip_setup' => serialize($vipSetup));
         if ($_POST['ext']) {
             $addData['ext'] = serialize($_POST['ext']);
         }
         $this->_modelGameOperator->update($addData, 'Id=' . $Id);
         $this->_modelGameOperator->createCache();
         $this->_utilMsg->showMsg(false, 1, Tools::url(CONTROL, 'Vip'));
     } else {
         $data = $this->_modelGameOperator->findById($Id);
         $this->_view->assign('inputData', $this->_getOperatorExtParam($data['game_type_id']));
         $gameTypeList = $this->_getGlobalData('game_type');
         $data['game_type'] = $gameTypeList[$data['game_type_id']]['name'];
         $operatorList = $this->_getGlobalData('operator_list');
         $data['operator_id'] = $operatorList[$data['operator_id']]['operator_name'];
         $vipSetup = unserialize($data['vip_setup']);
         unset($data['vip_setup']);
         $data['vip_timeout'] = implode(',', $vipSetup['vip_timeout']);
         $data['vip_pay'] = implode(',', $vipSetup['vip_pay']);
         if ($data['ext']) {
             $data['ext'] = unserialize($data['ext']);
         }
         $this->_view->assign('dataObject', $data);
         $this->_view->assign('isAdd', false);
         $this->_view->set_tpl(array('body' => 'GameOperator/EditGameOperator.html'));
         $this->_utilMsg->createNavBar();
         $this->_view->display();
     }
 }
 /**
  * 游戏内提问
  */
 private function _saveSource2()
 {
     $orderArr = array();
     $orderArr['game_type'] = intval($_REQUEST['game_id']);
     $orderArr['is_vip'] = intval($_REQUEST['is_vip']);
     $orderArr['user_account'] = $_REQUEST['user_account'] ? strip_tags($_POST['user_account']) : 0;
     $orderArr['user_nickname'] = strip_tags(trim($_REQUEST['user_nickname']));
     $orderArr['money'] = intval($_REQUEST['money_total']);
     $orderArr['source'] = intval($_REQUEST['source']);
     //工单来源
     $orderArr['title'] = strip_tags($_REQUEST['title']);
     $orderArr['question_type'] = intval($_REQUEST['question_type']);
     $orderArr['question_num'] = 1;
     $orderArr['create_time'] = CURRENT_TIME;
     $orderArr['game_user_id'] = trim($_REQUEST['user_id']);
     if ($_FILES['image']) {
         $updateInfo = $this->_upload();
         //如果有上传图片就上传文件
     }
     $serverMarking = trim($_POST['server_marking']);
     if ($_POST['partner']) {
         $serverMarking = $_POST['partner'] . '|' . $serverMarking;
     }
     $gameServerList = $this->_modelGameSerList->findByMarking($_REQUEST['game_id'], $serverMarking, $_POST['server_name']);
     if (!$gameServerList) {
         //未找到服务器
         $this->_returnAjaxJson(array('status' => 0, 'info' => 'game server non-existent', 'data' => null));
     }
     $this->_modelGameOperator = $this->_getGlobalData('Model_GameOperator', 'object');
     $gameOperatorIndex = $this->_modelGameOperator->findByGidOId($_REQUEST['game_id'], $gameServerList['operator_id']);
     //找到此运营商的详细 资料.
     if (!$gameOperatorIndex) {
         //未找到游戏与运营商的索引
         $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->_returnAjaxJson(array('status' => 1, 'info' => 'InterfaceWorkOrder_QuestionSave', 'data' => $retArr));
 }
 /**
  * 游戏内提问
  */
 private function _saveSource2()
 {
     $orderArr = array();
     $orderArr['game_type'] = $_POST['game_id'];
     $orderArr['user_account'] = $_POST['user_account'];
     $orderArr['user_nickname'] = $_POST['user_nickname'];
     $orderArr['money'] = $_POST['money_total'];
     $orderArr['source'] = $_POST['source'];
     //工单来源
     $orderArr['title'] = $_POST['title'];
     $orderArr['question_type'] = $_POST['question_type'];
     $orderArr['question_num'] = 1;
     $orderArr['create_time'] = CURRENT_TIME;
     if ($_FILES['image']) {
         $updateInfo = $this->_upload();
     }
     //如果有上传图片就上传文件
     $serverMarking = $_POST['server_marking'];
     $gameServerList = $this->_modelGameSerList->findByMarking($_POST['game_id'], $serverMarking);
     if (!$gameServerList) {
         //未找到服务器
         $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->_returnAjaxJson(array('status' => 0, 'info' => 'game server non-existent', 'data' => null));
     }
     $orderArr['vip_level'] = $this->_modelGameOperator->getVipLevel($gameOperatorIndex['vip_setup']['vip_pay'], $_POST['money_total']);
     $orderArr['timeout'] = $this->_modelGameOperator->getTimeOut($gameOperatorIndex['vip_setup']['vip_timeout'], $orderArr['vip_level']);
     $orderArr['timeout'] *= 60;
     //换成秒
     $orderArr['operator_id'] = $gameServerList['operator_id'];
     $orderArr['game_server_id'] = $gameServerList['Id'];
     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));
     }
     #------为房间工单数加1------#
     if ($orderArr['room_id']) {
         $this->_utilRooms = $this->_getGlobalData('Util_Rooms', 'object');
         $roomCLass = $this->_utilRooms->getRoom($orderArr['room_id']);
         $roomCLass->addOrderNum(1);
         $roomCLass->setUpdateInfo(1);
         $roomCLass = null;
     }
     #------为房间工单数加1------#
     $workOrderId = $this->_modelWorkOrder->returnLastInsertId();
     //获取工单id
     #------增加新的工单到队列------#
     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->setUpdateInfo(1);
         $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' => $_POST['money_total'], 'money_month' => $_POST['money_month'], 'register_date' => $_POST['register_date'], 'ip' => $_POST['ip']);
     $orderDetail = serialize($orderDetail);
     $this->_modelWorkOrderDetail = $this->_getGlobalData('Model_WorkOrderDetail', 'object');
     $this->_modelWorkOrderDetail->add(array('work_order_id' => $workOrderId, 'content' => $orderDetail));
     #-----插入对话表------#
     $this->_modelWorkOrderQa = $this->_getGlobalData('Model_WorkOrderQa', 'object');
     $content = $_POST['content'];
     if ($updateInfo['web_path']) {
         $content .= "<br>玩家截图:<br> <img src='{$updateInfo['web_path']}' />";
     }
     $orderDialog = array('game_type_id' => $_POST['game_id'], 'operator_id' => $orderArr['operator_id'], 'work_order_id' => $workOrderId, 'qa' => '0', 'content' => $content, 'create_time' => CURRENT_TIME);
     $this->_modelWorkOrderQa->add($orderDialog);
     //		if (!Tools::isUtf8($content))echo 'is not utf8';
     #-----插入对话表------#
     $this->_returnAjaxJson(array('status' => 1, 'info' => null, 'data' => array('order_id' => $workOrderId, 'image_path' => $updateInfo['web_path'])));
 }
Exemple #6
0
 /**
  * 运营商按天数统计
  */
 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();
 }