/** * faq列表 */ public function actionList() { $this->_loadCore('Help_SqlSearch'); $this->_helpSqlSearch = new Help_SqlSearch(); $this->_modelPlayerFaq = $this->_getGlobalData('Model_PlayerFaq', 'object'); $kindId = abs(intval($_GET['kind_id'])); $page = $_GET['page'] ? abs(intval($_GET['page'])) : abs(intval($_GET['p'])); if (!$page) { $page = 1; } $pageSize = abs(intval($_GET['ps'])); if (!$pageSize) { $pageSize = 8; } $this->_helpSqlSearch->set_tableName($this->_modelPlayerFaq->tName()); $this->_helpSqlSearch->set_field('Id,ratio,game_type_id,kind_id,question'); $this->_helpSqlSearch->set_conditions("kind_id={$kindId}"); $this->_helpSqlSearch->set_conditions('status!=1'); $this->_helpSqlSearch->setPageLimit($page, $pageSize); $sql = $this->_helpSqlSearch->createSql(); $dataList = $this->_modelPlayerFaq->select($sql); if (false === $dataList) { $this->_returnAjaxJson(array('status' => 0, 'info' => 'NO_FIND', 'data' => null)); } //无数据返回出错. $count = $this->_modelPlayerFaq->findCount("kind_id={$kindId} and status!=1"); $toalPgae = ceil($count / $pageSize); $this->_returnAjaxJson(array('status' => 1, 'info' => 'InterfaceFaq_List', 'data' => array('page' => array('total' => $count, 'total_page' => $toalPgae, 'page' => $page, 'page_size' => $pageSize), 'list' => $dataList))); }
/** * searchFAQ */ public function actionSearch() { $this->_loadCore('Help_SqlSearch'); $this->_helpSqlSearch = new Help_SqlSearch(); $this->_modelPlayerFaq = $this->_getGlobalData('Model_PlayerFaq', 'object'); $gameTypeId = abs(intval($_REQUEST['game_id'])); $keyWords = $_REQUEST['keywords']; $page = abs(intval($_REQUEST['p'])); if (!$page) { $page = 1; } $pageSize = abs(intval($_REQUEST['ps'])); if (!$pageSize) { $pageSize = 8; } $this->_helpSqlSearch->set_tableName($this->_modelPlayerFaq->tName()); $this->_helpSqlSearch->set_field('Id,ratio,game_type_id,kind_id,question'); $this->_helpSqlSearch->set_conditions("game_type_id={$gameTypeId}"); $this->_helpSqlSearch->set_conditions("question like '%{$keyWords}%'"); $this->_helpSqlSearch->setPageLimit($page, $pageSize); $conditions = $this->_helpSqlSearch->get_conditions(); $sql = $this->_helpSqlSearch->createSql(); $dataList = $this->_modelPlayerFaq->select($sql); if (!$dataList) { $this->_returnAjaxJson(array('status' => 0, 'info' => 'NO_FIND', 'data' => null)); } //无数据返回出错. $count = $this->_modelPlayerFaq->findCount($conditions); $toalPgae = ceil($count / $pageSize); $this->_returnAjaxJson(array('status' => 1, 'info' => null, 'data' => array('page' => array('total' => $count, 'total_page' => $toalPgae, 'page' => $page, 'page_size' => $pageSize), 'list' => $dataList))); }
private function _spActivityIndex() { #------初始化------# $this->_createServerList(); $serverList = $this->_getGlobalData('gameser_list'); $this->_modelFrgSpecialActivity = $this->_getGlobalData('Model_FrgSpecialActivity', 'object'); $this->_loadCore('Help_SqlSearch'); $this->_loadCore('Help_Page'); #------初始化------# $helpSqlSearch = new Help_SqlSearch(); $helpSqlSearch->set_tableName($this->_modelFrgSpecialActivity->tName()); $_REQUEST['operator_id'] = intval($_REQUEST['operator_id']); if ($_REQUEST['operator_id']) { $helpSqlSearch->set_conditions("operator_id={$_REQUEST['operator_id']}"); $this->_view->assign('selectedOperatorId', $_REQUEST['operator_id']); } if ($_REQUEST['title']) { $helpSqlSearch->set_conditions("(Title like '%{$_REQUEST['title']}%' )"); $this->_view->assign('selectedTitle', $_REQUEST['title']); } if ($_REQUEST['is_group']) { // $helpSqlSearch->set_groupBy('Title,IdentifierValue,StartTime,EndTime'); $helpSqlSearch->set_groupBy('Title,IdentifierValue'); $helpSqlSearch->set_field('count(*) as server_num,Id,operator_id,server_id,special_activity_id,Identifier,IdentifierValue,Img,IsOpen,Title,Content,AwardDesc,StartTime,EndTime,CheckType,AwardIds,Awards,GetCond,Status,MsgTitle,MsgContent,MsgContent,IsShow'); $this->_view->assign('selectedGroupBy', true); } $open = array('0' => Tools::getLang('CLOSE', 'Common'), '1' => Tools::getLang('OPEN', 'Common')); $show = array('0' => Tools::getLang('NOT_DISPLAY', 'Common'), '1' => Tools::getLang('DISPLAY', 'Common')); $helpSqlSearch->setPageLimit($_GET['page'], PAGE_SIZE); $helpSqlSearch->set_orderBy('server_id'); $conditions = $helpSqlSearch->get_conditions(); $sql = $helpSqlSearch->createSql(); $dataList = $this->_modelFrgSpecialActivity->select($sql); if ($dataList) { foreach ($dataList as $key => &$val) { $val['URL_edit'] = Tools::url(CONTROL, ACTION, array('zp' => self::PACKAGE, 'doaction' => 'edit', 'title' => $val['Title'], 'IdentifierValue' => $val['IdentifierValue'], 'StartTime' => $val['StartTime'], 'EndTime' => $val['EndTime'], 'operator_id' => $_REQUEST['operator_id'], 'server_id' => $val['server_id'], 'special_activity_id' => $val['special_activity_id'])); } } $serverListFullName = Model::getTtwoArrConvertOneArr($serverList, 'Id', 'full_name'); $this->_view->assign('serverListFullName', $serverListFullName); if ($_REQUEST['is_group']) { $FiledGroupBy = $helpSqlSearch->getFiledGroupBy(); $count = $this->_modelFrgSpecialActivity->countGroupBy($conditions, $FiledGroupBy); } else { $count = $this->_modelFrgSpecialActivity->findCount($conditions); } $helpPage = new Help_Page(array('total' => $count, 'perpage' => PAGE_SIZE)); $this->_view->assign('pageBox', $helpPage->show()); $this->_view->assign('dataList', $dataList); $this->_view->assign('is_open', $open); $this->_view->assign('is_show', $show); $this->_utilMsg->createNavBar(); $this->_view->display(); }
public function getDetail($serverId = 0, $gameUserId = 0, $operateType = 0, $page = 1, $pageSize = 50) { $serverId = intval($serverId); // $gameUserId = intval($gameUserId); $operateType = intval($operateType); $page = max(1, intval($page)); $pageSize = abs($pageSize); $this->_loadCore('Help_SqlSearch'); //载入sql工具 $helpSqlSearch = new Help_SqlSearch(); $helpSqlSearch->set_field('Id,info,create_time'); $helpSqlSearch->set_tableName($this->tName()); if ($serverId) { $helpSqlSearch->set_conditions("game_server_id={$serverId}"); } if ($gameUserId) { $helpSqlSearch->set_conditions("game_user_id={$gameUserId}"); } if ($operateType) { $helpSqlSearch->set_conditions("operate_type={$operateType}"); } $helpSqlSearch->set_orderBy('Id desc'); $helpSqlSearch->setPageLimit($page, $pageSize); $sql = $helpSqlSearch->createSql(); $dataList = $this->select($sql); if (!$dataList) { return array(); } foreach ($dataList as &$sub) { $sub['info'] = unserialize($sub['info']); $sub['info'] = $sub['info']['AddString']; $sub['create_time'] = date('Y-m-d H:i:s', $sub['create_time']); } return $dataList; }
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)); }
/** * 项目质检管理页面 */ public function actionIndex() { #------初始化------# $this->_modelWorkOrder = $this->_getGlobalData('Model_WorkOrder', 'object'); $this->_utilRbac = $this->_getGlobalData('Util_Rbac', 'object'); $this->_modelUser = $this->_getGlobalData('Model_User', 'object'); $users = $this->_modelUser->findSetOrgByUser(); $this->_view->assign('users', json_encode($users)); $orgs = $this->_getGlobalData('org'); $orgs = Model::getTtwoArrConvertOneArr($orgs, 'Id', 'name'); $this->_loadCore('Help_SqlSearch'); $helpSqlSearch = new Help_SqlSearch(); $this->_loadCore('Help_Page'); $userClass = $this->_utilRbac->getUserClass(); //获取用户class $operatorList = $this->_getGlobalData('operator_list'); $operatorList = Model::getTtwoArrConvertOneArr($operatorList, 'Id', 'operator_name'); $this->_utilOnline = $this->_getGlobalData('Util_Online', 'object'); $onlineUsers = $this->_utilOnline->getOnlineUser('user_id'); //在线用户,一维数组,value值为user_id #------初始化------# #------跟据搜索条件获取工单给用户------# if ($this->_isPost()) { //增加工单 if (!abs(intval($_POST['num']))) { $this->_utilMsg->showMsg('请输入获取工单的数量', -1); } if (!count($_POST['users'])) { $this->_utilMsg->showMsg('请选择要质检的用户', -1); } $selectedUsers = $this->_modelUser->findByUsersToCache($_POST['users']); $selectedUsers = Model::getTtwoArrConvertOneArr($selectedUsers, 'Id', 'full_name'); $this->_view->assign('selectedUsersOption', $_POST['users']); $this->_view->assign('selectedUsers', $selectedUsers); $users = implode(',', $_POST['users']); $startDate = strtotime($_POST['start_date']); $endDate = strtotime($_POST['end_date']); $helpSqlSearch->set_field('Id'); $helpSqlSearch->set_tableName($this->_modelWorkOrder->tName()); if ($_POST['start_date'] && $_POST['end_date']) { $helpSqlSearch->set_conditions("create_time between {$startDate} and {$endDate}"); $this->_view->assign('selectedTime', array('start' => $_POST['start_date'], 'end' => $_POST['end_date'])); } if ($_POST['users']) { $helpSqlSearch->set_conditions("owner_user_id in ({$users})"); $this->_view->assign('selectedOrg', $_POST['org']); } if ($_POST['num']) { $helpSqlSearch->setPageLimit(1, abs(intval($_POST['num']))); $this->_view->assign('selectedNum', $_POST['num']); } $helpSqlSearch->set_conditions('quality_id=0'); //未被质检过 $helpSqlSearch->set_conditions('owner_user_id is not null'); //已经被回复或处理过 $helpSqlSearch->set_conditions('(status=3 or status=4)'); //已经处理完成的 $helpSqlSearch->set_conditions('answer_num!=0'); //必须要有一次回复 $helpSqlSearch->set_orderBy("rand()"); $sql = $helpSqlSearch->createSql(); $dataList = $this->_modelWorkOrder->select($sql); if ($dataList) { $ids = array(); foreach ($dataList as $value) { array_push($ids, $value['Id']); } $this->_modelWorkOrder->addOrderToQualityUser($ids, $userClass['_id']); //增加工单到当前用户 } if (is_array($ids)) { $addNum = count($ids); $addIds = implode(',', $ids); } else { $addNum = 0; $addIds = ''; } $this->_view->assign('addOrderDeatil', array('num' => $addNum, 'addIds' => $addIds)); } #------跟据搜索条件获取工单给用户------# #------搜索用户所获取的质检工单------# $helpSqlSearch->clearAll(); $helpSqlSearch->set_tableName($this->_modelWorkOrder->tName()); $helpSqlSearch->set_field('*'); $helpSqlSearch->set_conditions("quality_id=-{$userClass['_id']}"); $helpSqlSearch->set_orderBy('create_time desc'); $helpSqlSearch->setPageLimit($_GET['page'], PAGE_SIZE); #------分页box------# $conditions = $helpSqlSearch->get_conditions(); $helpPage = new Help_Page(array('total' => $this->_modelWorkOrder->findCount($conditions), 'perpage' => PAGE_SIZE)); #------分页box------# $sql = $helpSqlSearch->createSql(); $dataList = $this->_modelWorkOrder->select($sql); #------搜索用户所获取的质检工单------# #------载入缓存------# $this->_modelSysconfig = $this->_getGlobalData('Model_Sysconfig', 'object'); $this->_modelQuestionType = $this->_getGlobalData('Model_QuestionType', 'object'); $gameTypeArr = Model::getTtwoArrConvertOneArr($this->_modelSysconfig->getValueToCache('game_type'), 'Id', 'name'); $workOrderSourceArr = $this->_modelSysconfig->getValueToCache('workorder_source'); $workOrderStatusArr = $this->_modelSysconfig->getValueToCache('workorder_status'); $userList = Model::getTtwoArrConvertOneArr($this->_getGlobalData('user'), 'Id', 'nick_name'); $serverList = $this->_getGlobalData('gameser_list'); $serverList = Model::getTtwoArrConvertOneArr($serverList, 'Id', 'server_name'); #------载入缓存------# if ($dataList) { Tools::import('Util_FontColor'); $users = $this->_getGlobalData('user'); $users = Model::getTtwoArrConvertOneArr($users, 'Id', 'full_name'); foreach ($dataList as &$list) { $list['url_dialog'] = Tools::url(CONTROL, 'OrderDialog', array('Id' => $list['Id'])); $list['word_game_type'] = Util_FontColor::getGameTypeColor($list['game_type'], $gameTypeArr[$list['game_type']]); $list['word_source'] = Util_FontColor::getWorkOrderSource($list['source'], $workOrderSourceArr[$list['source']]); $list['word_status'] = Util_FontColor::getWorkOrderStatus($list['status'], $workOrderStatusArr[$list['status']]); $list['word_operator_id'] = $operatorList[$list['operator_id']]; $questionArr = $this->_modelQuestionType->findById($list['question_type']); $list['word_question_type'] = $questionArr['title'] ? $questionArr['title'] : '游戏提问'; $list['url_detail'] = Tools::url(CONTROL, 'Dialog', array('Id' => $list['Id'], 'game_type_id' => $list['game_type'], 'operator_id' => $list['operator_id'])); $list['word_owner_user_id'] = $users[$list['owner_user_id']]; $list['word_game_server_id'] = $serverList[$list['game_server_id']]; $list['create_time'] = date('Y-m-d H:i:s', $list['create_time']); if ($list['word_owner_user_id']) { $list['word_owner_user_id'] .= in_array($list['owner_user_id'], $onlineUsers) ? Util_FontColor::getOnline(1) : Util_FontColor::getOnline(0); } } $this->_view->assign('dataList', $dataList); } $this->_view->assign('pageBox', $helpPage->show()); $this->_view->assign('orgs', $orgs); $this->_view->assign('js', $this->_view->get_curJs()); $this->_utilMsg->createNavBar(); $this->_view->display(); }
private function _operationLogIndex() { $this->_checkOperatorAct(); $this->_createServerList(); if ($_REQUEST['server_id']) { $table = 'user_log'; $_GET['rootid'] = intval($_GET['rootid']); $_GET['typeid'] = intval($_GET['typeid']); $_GET['playerId'] = intval($_GET['playerId']); $_GET['name'] = trim(strval($_GET['name'])); $_GET['page'] = intval(max(1, $_GET['page'])); $_GET['KeyWordSearchType'] = intval($_GET['KeyWordSearchType']); $LogRoot = $this->_getGlobalData('game_player_log_root_' . $this->game_id); if (!$LogRoot) { $LogRoot = array(); } $LogTpl = $this->_getGlobalData('game_player_log_tpl_' . $this->game_id); if (!$LogTpl) { $LogTpl = array(); } $RootSlt[0] = Tools::getLang('ALL', 'Common'); $TypeSlt[0] = Tools::getLang('ALL', 'Common'); foreach ($LogRoot as $sub) { $RootSlt[$sub['rootid']] = $sub['rootname']; } foreach ($LogTpl as $sub) { $TypeSlt[$sub['rootid']][$sub['typeid']] = $sub['typename']; } $this->_view->assign('RootSlt', $RootSlt); $this->_view->assign('TypeSlt', json_encode($TypeSlt)); if ($_GET['submitselect']) { $this->_loadCore('Help_SqlSearch'); $helpSqlSearch = new Help_SqlSearch(); $helpSqlSearch->set_tableName('user_log as a,level_up as b'); $helpSqlSearch->set_field('a.exp as playerExp,b.exp as needExp,a.*,b.*'); $helpSqlSearch->set_conditions("a.level= b.level"); if ($_GET['rootid']) { $helpSqlSearch->set_conditions("rootid={$_GET['rootid']}"); } if ($_GET['typeid']) { $helpSqlSearch->set_conditions("typeid={$_GET['typeid']}"); if (isset($LogTpl[$_GET['typeid']])) { $VarCount = intval($LogTpl[$_GET['typeid']]['var_count']); $tpl = $LogTpl[$_GET['typeid']]['tpl']; switch ($_GET['KeyWordSearchType']) { case '1': $symbol = " > '<REPLACEMENT>'"; break; case '2': $symbol = " < '<REPLACEMENT>'"; break; case '3': $symbol = " like '%<REPLACEMENT>%'"; break; case '0': default: $symbol = " = '<REPLACEMENT>'"; } for ($i = 1; $i <= $VarCount; $i++) { $tpl = str_replace('{x' . $i . '}', ' <input name="x' . $i . '" class="text" style="width:50px;" value="' . $_GET['x' . $i] . '" /> ', $tpl); if (trim($_GET['x' . $i]) != '') { $xCondition = str_replace('<REPLACEMENT>', $_GET['x' . $i], $symbol); $helpSqlSearch->set_conditions("x{$i} {$xCondition}"); } } $this->_view->assign('TplSearch', $tpl); } } if ($_GET['playerId']) { $helpSqlSearch->set_conditions("a.playerId={$_GET['playerId']}"); } if ($_GET['name'] != '') { $helpSqlSearch->set_conditions("a.name='{$_GET['name']}'"); } if ($_GET['account'] != '') { $helpSqlSearch->set_conditions("a.username='******'account']}'"); } if (strtotime($_GET['StartTime'])) { $helpSqlSearch->set_conditions("a.timestamp>='{$_GET['StartTime']}'"); } if (strtotime($_GET['EndTime'])) { $helpSqlSearch->set_conditions("a.timestamp<='{$_GET['EndTime']}'"); } $helpSqlSearch->setPageLimit($_GET['page'], PAGE_SIZE); $helpSqlSearch->set_orderBy('a.timestamp desc'); $sql = $helpSqlSearch->createSql(); $dataList = $this->SelectXianHun($sql); //print_r($dataList); if ($dataList) { foreach ($dataList as &$ALog) { //如果存在模板类型,匹配模板的内容 $ALog['timestamp'] = $this->getXianHunTime($ALog['timestamp']); if (isset($LogTpl[$ALog['typeid']])) { $VarCount = intval($LogTpl[$ALog['typeid']]['var_count']); $ALog['content'] = $LogTpl[$ALog['typeid']]['tpl']; for ($i = 1; $i <= $VarCount; $i++) { $keyContent = is_array($ALog['x' . $i]) ? implode(',', $ALog['x' . $i]) : $ALog['x' . $i]; $ALog['content'] = str_replace('{x' . $i . '}', "<font color=red>{$keyContent}</font>", $ALog['content']); } } else { for ($i = 1; $i <= 10; $i++) { if ($ALog['x' . $i] != '') { $ALog['content'] .= "x{$i}:<font color=red>{$ALog['x' . $i]}</font>,"; } } $ALog['content'] = "<font color='#999999'>日志模板未配置({$ALog['typeid']})</font><br>{$ALog['content']}"; } $ALog['rootname'] = isset($LogRoot[$ALog['rootid']]['rootname']) ? $LogRoot[$ALog['rootid']]['rootname'] : $ALog['rootid']; $ALog['typename'] = isset($LogTpl[$ALog['typeid']]['typename']) ? $LogTpl[$ALog['typeid']]['typename'] : $ALog['typeid']; } $this->_view->assign('dataList', $dataList); } elseif ($dataList === false) { $this->_utilMsg->showMsg('DB ERROR', -1); } $this->_loadCore('Help_Page'); //载入分页工具 $conditions = $helpSqlSearch->get_conditions(); $totle = $this->CountXianHun('user_log as a,level_up as b', $conditions); $helpPage = new Help_Page(array('total' => $totle, 'perpage' => PAGE_SIZE)); $this->_view->assign('selected', $_GET); $this->_view->assign('pageBox', $helpPage->show()); } } $this->_utilMsg->createPackageNavBar(); $this->_view->display(); }
public function actionGetInfo() { $_GET['game_server_id'] = intval($_GET['game_server_id']); $_GET['game_user_id'] = intval($_GET['game_user_id']); $_GET['operate_type'] = intval($_GET['operate_type']); $_GET['page'] = max(1, intval($_GET['page'])); $_GET['page_size'] = intval($_GET['page_size']); if (!$_GET['page_size']) { $_GET['page_size'] = 50; } $this->_modelGameOperateLog = $this->_getGlobalData('Model_GameOperateLog', 'object'); $this->_loadCore('Help_SqlSearch'); //载入sql工具 $helpSqlSearch = new Help_SqlSearch(); $helpSqlSearch->set_field('Id,info,create_time'); $helpSqlSearch->set_tableName($this->_modelGameOperateLog->tName()); if ($_GET['game_server_id']) { $helpSqlSearch->set_conditions("game_server_id={$_GET['game_server_id']}"); } if ($_GET['game_user_id']) { $helpSqlSearch->set_conditions("game_user_id={$_GET['game_user_id']}"); } if ($_GET['operate_type']) { $helpSqlSearch->set_conditions("operate_type={$_GET['operate_type']}"); } $helpSqlSearch->set_orderBy('Id desc'); $helpSqlSearch->setPageLimit($_GET['page'], $_GET['page_size']); $sql = $helpSqlSearch->createSql(); $dataList = $this->_modelGameOperateLog->select($sql); foreach ($dataList as &$sub) { $sub['info'] = unserialize($sub['info']); $sub['info'] = $sub['info']['AddString']; $sub['create_time'] = date('Y-m-d H:i:s', $sub['create_time']); } $this->_returnAjaxJson($dataList); }