123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315 |
- <?php
- /**
- * PaySwitchController.php UTF-8
- * 支付切换
- *
- * @date : 2020/9/15 11:28
- *
- * @license 这不是一个自由软件,未经授权不许任何使用和传播。
- * @author : chenbingling <cbl@huosdk.com>
- * @version : H5IOS 1.0
- */
- namespace huosdk\h5ios\admin\controller;
- use cmf\view\Filter;
- use huo\controller\game\GameCache;
- use huo\controller\game\GamePaySwitchCache;
- use huo\controller\member\MemCache;
- use huo\logic\game\GamePaySwitchLogic;
- use huo\model\game\GameServerSwitchModel;
- use huo\model\game\PsMemWhiteModel;
- use huolib\tool\Page;
- use huosdk\h5ios\core\constant\GameConst;
- use huosdk\h5ios\core\constant\OrderConst;
- use menu\controller\Menu;
- class PaySwitchController extends CommonController {
- protected $class_name = 'pay_switch';
- function _initialize() {
- parent::_initialize();
- }
- /**
- * 点击切换不切换
- * adminh5ios/pay_switch/setSwitch
- * adminh5ios/paySwitch/setSwitch
- * */
- public function setSwitch() {
- $_app_id = $this->request->param('app_id/d', 0);
- $_pay_switch = $this->request->param('pay_switch/d', 1);
- if (empty($_app_id) || empty($_pay_switch)) {
- $this->adminError(lang('param error'));
- }
- $_data['pay_switch'] = $_pay_switch;
- $_data['id'] = $_app_id;
- $_rs = GameCache::ins()->updateGame($_app_id, $_data);
- if (false === $_rs) {
- $this->adminError(lang('ERROR'));
- } else {
- $this->adminSuccess(lang('SUCCESS'));
- }
- }
- /***
- * 编辑切换规则
- * adminh5ios/pay_switch/edit
- * adminh5ios/paySwitch/edit
- *
- * @param string $tempatle
- *
- * @return mixed
- */
- public function edit($tempatle = 'edit') {
- $_app_id = $this->request->param('app_id/d', 0);
- $this->_games($_app_id, 0, 2, 2, GameConst::GAME_IOS_SWITCH_H5, false, true, [], '', 'disabled');
- if (empty($_app_id)) {
- $this->adminError(lang('PARAM_ERROR'));
- }
- $_data = GamePaySwitchCache::ins()->getInfoByAppId($_app_id);
- $_system = ['and' => 1, 'ios' => 1];
- if (empty($_data)) {
- $_data['start_time'] = '00:00:00';
- $_data['end_time'] = '23:59:59';
- $_data['price'] = 0.00;
- $_data['is_domestic'] = OrderConst::PAY_SWITCH_YES;
- $_data['is_overseas'] = OrderConst::PAY_SWITCH_YES;
- $_data['is_first'] = OrderConst::PAY_SWITCH_YES;
- $_data['pay_type'] = OrderConst::PAY_SWITCH_PAY_TYPE_1;
- $_data['switch_app_id'] = 0;
- $_data['start_ip'] = '';
- $_data['end_ip'] = '';
- $_data['no_switch_version'] = '';
- $_data['combat_num_mini'] = 0;
- $_data['combat_num_max'] = 0;
- $_data['ip_white'] = '';
- $_data['area'] = '';
- $_data['mem_id'] = '';
- } else {
- $_tmp_system = explode(',', $_data['system']);
- if (!empty($_tmp_system)) {
- if (in_array(GameConst::GAME_ANDROID, $_tmp_system)) {
- $_system['and'] = 2;
- }
- if (in_array(GameConst::GAME_IOS, $_tmp_system)) {
- $_system['ios'] = 2;
- }
- }
- }
- $this->assign('system', $_system);
- $this->assign('data', $_data);
- $this->assign('app_id', $_app_id);
- return $this->fetch('pay_switch/edit');
- }
- /**
- * 编辑切换规则提交
- * adminh5ios/pay_switch/editPost
- * adminh5ios/paySwitch/editPost
- *
- * @throws
- */
- public function editPost() {
- $_params = $this->request->param();
- $_params['is_domestic'] = isset($_params['is_domestic']) ? $_params['is_domestic'] : 2;
- $_params['is_overseas'] = isset($_params['is_overseas']) ? $_params['is_overseas'] : 2;
- $_params['is_first'] = isset($_params['is_first']) ? $_params['is_first'] : 1;
- $_params['system'] = isset($_params['system']) ? $_params['system'] : [3, 4];
- $_params['system'] = implode(',', $_params['system']);
- $_model = new GamePaySwitchLogic();
- if (empty($_params['app_id'])) {
- $this->adminError(lang('PLEASE_SELECT_A_GAME'));
- }
- if (!$_model->checkGame($_params['app_id'])) {
- $_result = $_model->addPaySwitch($_params);
- if (false == $_result) {
- $this->adminError(lang('ADD_FAILED'));
- }
- $this->adminSuccess(lang('ADD_SUCCESS'), url('adminh5ios/game/index'));
- }
- $_result = GamePaySwitchCache::ins()->updatePaySwitch($_params['app_id'], $_params);
- if (false == $_result) {
- $this->adminError(lang('EDIT_FAILED'));
- }
- $this->adminSuccess(lang('EDIT_SUCCESS'), url('adminh5ios/game/index'));
- }
- /**
- * 编辑区服切换
- * adminh5ios/pay_switch/editSever
- * adminh5ios/paySwitch/editSever
- */
- public function editSever() {
- $_app_id = $this->request->param('app_id/d', 0);
- if (empty($_app_id)) {
- $this->adminError(lang('PARAM_ERROR'));
- }
- $_game_data = GameCache::ins()->getInfoByAppId($_app_id);
- $this->assign('game', $_game_data);
- $_gss_model = new GameServerSwitchModel();
- $_parent_id = get_val($_game_data, 'parent_id', 0);
- $_ser_array = $_gss_model->getIdName($_parent_id); //获取区服id_name(id 为自增id 非区服id)
- $_ids = $_gss_model->getSwitchNo($_parent_id); //获取切换标记为 不切换的id
- $_check_box = Filter::checkCommon($_ser_array, 'switch_no[]', $_ids);
- $this->assign('check_box', $_check_box);
- return $this->fetch('pay_switch/edit_server');
- }
- /**
- * 编辑区服切换提交
- * adminh5ios/pay_switch/editSeverPost
- * adminh5ios/paySwitch/editSeverPost
- */
- public function editSeverPost() {
- $_app_id = $this->request->param('app_id/d', 0);
- $_ids = $this->request->param('switch_no/a', []); //新的不需要切换ids
- $_gss_model = new GameServerSwitchModel();
- $_old_ids = $_gss_model->getSwitchNo($_app_id); //获取原不需要切换ids
- /* 在新数组但不在旧数组的表示新增的,需要标记为不切换 */
- $_no_ids = array_diff($_ids, $_old_ids);
- if (!empty($_no_ids)) {
- $_data = ['is_switch' => OrderConst::PAY_SWITCH_NO];
- foreach ($_no_ids as $_v) {
- $_gss_model->updateById($_v, $_data);
- }
- }
- /* 在旧数组但不在新数组的表示为切换*/
- $_yes_ids = array_diff($_old_ids, $_ids);
- if (!empty($_yes_ids)) {
- $_data = ['is_switch' => OrderConst::PAY_SWITCH_YES];
- foreach ($_yes_ids as $_v) {
- $_gss_model->updateById($_v, $_data);
- }
- }
- $this->adminSuccess(lang('UPDATE_SUCCESS'));
- }
- /**
- * 支付切换玩家白名单
- * adminh5ios/pay_switch/memWhite
- * adminh5ios/paySwitch/memWhite
- */
- public function memWhite() {
- $_param = $this->request->param();
- $_mem_text = Filter::text('mem_id', get_val($_param, 'mem_id', ''), lang('MSG_INPUT_MEM_ID'));
- $this->assign('mem_text', $_mem_text);
- $_username_text = Filter::text('username', get_val($_param, 'username', ''), lang('MSG_INPUT_ACCOUNT'));
- $this->assign('username_text', $_username_text);
- $_nickname_text = Filter::text('nickname', get_val($_param, 'nickname', ''), lang('MSG_INPUT_NICK'));
- $this->assign('nickname_text', $_nickname_text);
- $this->_time();
- if (empty($_param['app_id'])) {
- $this->adminError(lang('GAME_ID_ERROR'));
- }
- $_page = get_val($_param, 'page', 1);
- $_list_rows = get_val($_param, 'list_rows', 10);
- $_data = (new PsMemWhiteModel())->getlist($_param, $_page.','.$_list_rows);
- $_data = (new Page())->paginate($_data['count'], $_data['list'], $_page, $_list_rows);
- $this->assign('page', $_data->render());
- $this->assign('items', $_data->items());
- $this->assign('app_id', $_param['app_id']);
- return $this->fetch('pay_switch/mem_white');
- }
- /**
- * 添加玩家支付白名单
- * adminh5ios/pay_switch/addMemWhite
- * adminh5ios/paySwitch/addMemWhite
- */
- public function addMemWhite() {
- $_mem_id = $this->request->param('mem_id/d', 0);
- if (empty($_mem_id)) {
- $this->adminError(lang('MSG_INPUT_MEM_ID'));
- }
- $_app_id = $this->request->param('app_id/d', 0);
- if (empty($_app_id)) {
- $this->adminError(lang('GAME_ID_ERROR'));
- }
- $_mem_data = MemCache::ins()->getInfoById($_mem_id);
- if (empty($_mem_data)) {
- $this->adminError(lang('MEM_ID_ERROR'));
- }
- $_data = [];
- $_data['app_id'] = $_app_id;
- $_data['mem_id'] = $_mem_id;
- $_data['username'] = get_val($_mem_data, 'username', '');
- $_data['nickname'] = get_val($_mem_data, 'nickname', '');
- $_rs = (new PsMemWhiteModel())->addData($_data);
- if (false == $_rs) {
- $this->adminError(lang('ADD_FAILED'));
- }
- $this->adminSuccess(lang('ADD_SUCCESS'));
- }
- /**
- * 删除玩家白名单
- * adminh5ios/pay_switch/delMemWhite
- * adminh5ios/paySwitch/delMemWhite
- */
- public function delMemWhite() {
- $_mem_id = $this->request->param('mem_id/d', 0);
- if (empty($_mem_id)) {
- $this->adminError(lang('MSG_INPUT_MEM_ID'));
- }
- $_app_id = $this->request->param('app_id/d', 0);
- if (empty($_app_id)) {
- $this->adminError(lang('GAME_ID_ERROR'));
- }
- $_rs = (new PsMemWhiteModel())->delData($_app_id, $_mem_id);
- if (false == $_rs) {
- $this->adminError(lang('DELETE_FAILED'));
- }
- $this->adminSuccess(lang('DELETE_SUCCESS'));
- }
- /**
- * 添加菜单
- * adminh5ios/pay_switch/addMenu
- * adminh5ios/paySwitch/addMenu
- *
- * @param int $parent_id
- * @param int $list_order
- *
- * @return int
- */
- public function addMenu($parent_id = 0, $list_order = 0) {
- $_controller = 'pay_switch';/* 控制器名 */
- $_app = $this->app; /* 应用名 */
- $_menu_class = new Menu();
- $_menu_class->setApp($_app);
- /* 删除原有菜单 */
- $_menu_class->deleteMenu($_controller, $_app);
- /* 设置切换 */
- $_menu_class->addTop($_controller, $parent_id, $list_order, '设置切换', 'setSwitch', '', 'setSwitch', '', 1, 0);
- /* 编辑切换规则 */
- $_menu_class->addTop($_controller, $parent_id, $list_order, '编辑切换规则', 'edit Switch Rule', '', 'edit', '', 1, 0);
- /* 编辑切换规则提交 */
- $_menu_class->addTop(
- $_controller, $parent_id, $list_order, '编辑切换规则提交', 'edit Switch Rule Post', '', 'editPost', '', 1, 0
- );
- /* 编辑区服切换 */
- $_menu_class->addTop(
- $_controller, $parent_id, $list_order, '编辑区服切换', 'edit Switch Server', '', 'editSever', '', 1, 0
- );
- /* 编辑编辑区服切换提交 */
- $_menu_class->addTop(
- $_controller, $parent_id, $list_order, '编辑区服切换提交', 'edit Switch Server Post', '', 'editSeverPost', '', 1, 0
- );
- /* 玩家白名单 */
- $_menu_class->addTop($_controller, $parent_id, $list_order, '玩家白名单', 'memWhite', '', 'memWhite', '', 1, 0);
- /* 添加玩家白名单 */
- $_menu_class->addTop(
- $_controller, $parent_id, $list_order, '添加玩家白名单', 'addMemWhite', '', 'addMemWhite', '', 1, 0
- );
- /* 删除玩家白名单 */
- $_menu_class->addTop(
- $_controller, $parent_id, $list_order, '删除玩家白名单', 'delMemWhite', '', 'delMemWhite', '', 1, 0
- );
- return $parent_id;
- }
- }
|