123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- <?php
- /**
- * IdentifyGameLogic.php UTF-8
- *
- *
- * @date : 2021-03-11 15:36
- *
- * @license 这不是一个自由软件,未经授权不许任何使用和传播。
- * @author : luowei <lw@huosdk.com>
- * @version : HUOSDK 9.0
- */
- namespace huoIdentify\logic;
- use huo\model\common\CommonModel;
- use huoIdentify\model\GameModel;
- use huoIdentify\model\IdentifyGameModel;
- use huolib\constant\IdentifyConst;
- class IdentifyGameLogic extends CommonModel {
- protected $base_field = [];
- /**
- * 转换查询条件
- *
- * @param array $param
- *
- * @return array
- */
- public function getWhere($param = []) {
- $_map = [];
- /* app_id搜索 */
- if (!empty($param['app_id'])) {
- $_map['id'] = $param['app_id'];
- }
- $_ig_map = [];
- if (!empty($param['app_key'])) {
- $_ig_map['app_key'] = $param['app_key'];
- }
- if (!empty($param['biz_id'])) {
- $_ig_map['biz_id'] = $param['biz_id'];
- }
- if (!empty($param['driver_key'])) {
- $_ig_map['driver_key'] = $param['driver_key'];
- }
- if (empty($_map['id']) && !empty($_ig_map)) {
- $_app_ids = (new IdentifyGameModel())->getIdsByWhere($_ig_map);
- $_map['id'] = ['in', $_app_ids];
- }
- if (empty($_map['id'])) {
- $_map['id'] = ['not in', [100, 101]];
- }
- return $_map;
- }
- /**
- * 获取列表底层函数
- *
- * @param array $where 搜索条件
- * @param string $page 列表个数
- * @param string $order 排序
- * @param array $field 附加字段
- * @param string $group 归类
- *
- * @return array ['count'=>0,'list'=>[]]
- */
- public function getList($where = [], $page = '1,10', $order = '-id', $field = [], $group = '') {
- $_map = $where;
- $_field = $field;
- $_model = new GameModel();
- $_count = $_model->where($_map)->count();
- if (empty($_count)) {
- return [
- 'count' => 0,
- 'list' => []
- ];
- }
- $_order = $this->orderFilter($order);
- $_datas = $_model->with('identify')->field($_field)->where($_map)->order($_order)->page($page)->select();
- if (is_object($_datas)) {
- $_datas = $_datas->toArray();
- }
- if (empty($_datas)) {
- return [
- 'count' => 0,
- 'list' => []
- ];
- }
- return [
- 'count' => $_count,
- 'list' => $_datas
- ];
- }
- /**
- * 获取后台列表
- *
- * @param array $where 搜索条件
- * @param string $page 列表个数
- * @param string $order 排序
- * @param array $field 附加字段
- *
- * @return array ['count'=>0,'list'=>[]]
- */
- public function getAdminList($where = [], $page = '1,10', $order = '-id', $field = []) {
- $_map = $this->getWhere($where);
- $_field = $this->base_field;
- if (!empty($field)) {
- $_field = array_merge($_field, $field);/* 获取后台字段 */
- }
- $_rdata = $this->getList($_map, $page, $order, $_field);
- if (empty($_rdata['list'])) {
- return $_rdata;
- }
- foreach ($_rdata['list'] as $_k => $_v) {
- $_ig_data = get_val($_v, 'identify', []);
- $_ext_info = get_val($_ig_data, 'ext_info', []);
- $_rdata['list'][$_k]['ig_id'] = get_val($_ig_data, 'id', 0);
- $_rdata['list'][$_k]['driver_key'] = get_val($_ig_data, 'driver_key', '');
- $_rdata['list'][$_k]['create_time'] = get_val($_ig_data, 'create_time', 0);
- $_rdata['list'][$_k]['update_time'] = get_val($_ig_data, 'update_time', 0);
- switch ($_rdata['list'][$_k]['driver_key']) {
- case 'fcmgame':
- $_app_key = get_val($_ig_data, 'app_key', '');
- $_app_secret = get_val($_ig_data, 'app_secret', '');
- $_biz_id = get_val($_ig_data, 'biz_id', '');
- $_str = '应用标识:'.$_app_key.'<br/>用户密钥:'.$_app_secret.'<br/>游戏备案识别码:'
- .$_biz_id;
- break;
- case 'guopan':
- $_url = get_val($_ext_info, 'require_url', '');
- $_channel_code = get_val($_ext_info, 'channel_code', '');
- $_server_key = get_val($_ext_info, 'server_key', '');
- $_str = '请求URL:'.$_url.'<br/> 渠道CODE:'.$_channel_code.'<br/> 加密KEY:'.$_server_key;
- break;
- case 'liebao':
- $_url = get_val($_ext_info, 'require_url', '');
- $_channel_code = get_val($_ext_info, 'channel_code', '');
- $_game_id = get_val($_ext_info, 'game_id', '');
- $_str = '请求URL:'.$_url.'<br/> 加密密钥:'.$_channel_code.'<br/> CP游戏ID:'.$_game_id;
- break;
- case 'moxing':
- $_url = get_val($_ext_info, 'require_url', '');
- $_app_key = get_val($_ext_info, 'app_key', '');
- $_secret_key = get_val($_ext_info, 'secret_key', '');
- $_channel_id = get_val($_ext_info, 'channel_id', '');
- $_str = '请求URL:'.$_url.'<br/> appKey:'.$_app_key.'<br/> secretKey:'.$_secret_key
- .'<br/> channelId:'.$_channel_id;
- break;
- default:
- $_str = '';
- $_url = get_val($_ext_info, 'require_url', '');
- $_channel_code = get_val($_ext_info, 'channel_code', '');
- if (!empty($_channel_code)) {
- $_str = '请求URL:'.$_url.'<br/> 渠道CODE:'.$_channel_code;
- }
- }
- $_rdata['list'][$_k]['param'] = $_str;
- $_url = url('setPreCheck', ['app_id' => $_v['id']]);
- $_lang_key = IdentifyConst::getIdentityPreCheckType(get_val($_ig_data, 'pre_check', 1));
- $_rdata['list'][$_k]['pre_check_button'] = action_dialog($_url, $_lang_key, 'btn', 'success');
- }
- return $_rdata;
- }
- }
|