hs_api_responce('414', '参数为空'.$this->getVal($param, 'role_name')); } if (!isset($param['role_name']) || empty($param['role_name'])) { return $this->hs_api_responce('414', '角色名错误'.$this->getVal($param, 'role_name')); } if (!isset($param['username']) || empty($param['username'])) { return $this->hs_api_responce('414', '玩家用户名错误'.$this->getVal($param, 'username')); } /* 找到玩家 和 玩家角色 */ $_mem_map = array(); $_mem_map['username'] = $param['username']; $_member_info = \think\Db::name(self::MEMBER_DB_NAME)->where($_mem_map)->find(); if (empty($_member_info)) { return $this->hs_api_responce('501', '玩家信息错误'); } $_return = $param; $_mem_id = $_member_info['id'];/* 玩家id */ $_return['oa_mem_id'] = $this->getVal($param, 'mem_id'); $_return['sdk_mem_id'] = $_mem_id; $_return['sdk_agent_id'] = $_member_info['agent_id']; $_return['agentgame'] = ''; if (!isset($param['sdk_agent_name']) || (isset($param['sdk_agent_name']) && !$param['sdk_agent_name']) ) { if (isset($_member_info['agent_id']) && $_member_info['agent_id']) { $_us_map = []; $_us_map['agent_id'] = $_member_info['agent_id']; $_us_map['app_id'] = $this->getVal($param, 'game_id'); $_return['agentgame'] = \think\Db::name(self::AGENT_GAME_DB_NAME)->where($_us_map)->value('agent_game'); } } else { if (!$_member_info['agent_id']) { $_us_map = []; $_us_map['user_login'] = $param['sdk_agent_name']; $_agent_info = \think\Db::name(self::AGENT_DB_NAME)->where($_us_map)->find(); $_return['agent_id'] = $_agent_info['id']; $_us_map = []; $_us_map['agent_id'] = $_agent_info['id']; $_us_map['app_id'] = $this->getVal($param, 'game_id'); $_return['agentgame'] = \think\Db::name(self::AGENT_GAME_DB_NAME)->where($_us_map)->value('agent_game'); } } $_map = array(); $_map['mem_id'] = $_mem_id; $_map['app_id'] = $this->getVal($param, 'game_id'); $_map['server_id'] = $this->getVal(param, 'ser_code'); $_map['role_name'] = $this->getVal(param, 'role_name'); $_member_role_info = \think\Db::name(self::MG_ROLE_DB_NAME)->where($_map)->find(); if (empty($_member_role_info)) { $_last_sql = \think\Db::name(self::MG_ROLE_DB_NAME)->getLastSql(); return $this->hs_api_responce('414', '角色名错误'.$_last_sql.'bbb'); } return $_return; } /** * 检测渠道信息 * * @param array $param * * @return $this|array */ public function checkAgent($param = array()) { $_return = $param; $_mem_map = []; $_mem_map['username'] = $this->getVal($param, 'username'); //; $_member_info = \think\Db::name(self::MEMBER_DB_NAME)->where($_mem_map)->find(); if (empty($_member_info) || (!array_key_exists('agent_game', $_member_info)) || (!array_key_exists( 'agent_id', $_member_info )) ) { \think\Log::write($_member_info, 'error'); \think\Log::write($_mem_map, 'error'); return $this->hs_api_responce('414', '玩家信息d11cdd错误 '); } if ((!empty($_member_info['agent_game']) && $_member_info['agent_game'] != 'default') || !empty($_member_info['agent_id']) ) { return $this->hs_api_responce('416', $param['agentgame'].'已有绑定渠道 '); } if (!isset($param['sdk_agent_name']) || empty($param['sdk_agent_name'])) { return $this->hs_api_responce('417', '申请人信息错误'); } /*user_login*/ $_u_map['user_login'] = $param['sdk_agent_name']; $_users_info = \think\Db::name(self::AGENT_DB_NAME)->where($_u_map)->find(); if (!empty($_users_info) && isset($_users_info['id']) && $_users_info['id']) { $_return['sdk_agent_id'] = $_users_info['id']; } return $_return; } /** * 检查是否首充 * * @param array $param * * @return $this|bool */ public function checkPayFirst($param = array()) { $_amp['mem_id'] = $this->getVal($param, 'sdk_mem_id');/* 所有游戏未充值 */ $_amp['app_id'] = $this->getVal($param, 'game_id');/* 该游戏未有充值 */ $_amp['status'] = self::PAY_STATUS_SUCCESS;/* 成功充值 */ $_re = \think\Db::name(self::PAY_DB_NAME)->where($_amp)->find(); if ($_re !== false && empty($_re)) { return true; } return $this->hs_api_responce('418', '未满足首充条件 '); } /** * 添加操作记录 * * @param array $param * * @return $this|int|string */ public function addGmLog($param = array()) { $_insert_arr = []; $_insert_arr['oa_gm_id'] = $this->getVal($param, 'id'); $_insert_arr['node_id'] = $this->getVal($param, 'node_id'); $_insert_arr['node_name'] = $this->getVal($param, 'node_name'); $_insert_arr['agent_id'] = $this->getVal($param, 'sdk_agent_id', 0); $_insert_arr['username'] = $this->getVal($param, 'username'); $_insert_arr['oa_mem_id'] = $this->getVal($param, 'oa_mem_id'); $_insert_arr['mem_id'] = $this->getVal($param, 'sdk_mem_id'); $_insert_arr['plat_id'] = $this->getVal($param, 'plat_id'); $_insert_arr['type_id'] = $this->getVal($param, 'type_id'); $_insert_arr['oa_app_id'] = $this->getVal($param, 'oa_app_id'); $_insert_arr['oa_server_id'] = $this->getVal($param, 'server_id'); $_insert_arr['ser_code'] = $this->getVal($param, 'ser_code'); $_insert_arr['role_name'] = $this->getVal($param, 'role_name'); $_insert_arr['game_id'] = $this->getVal($param, 'game_id'); $_insert_arr['money'] = $this->getVal($param, 'money'); $_insert_arr['check_status'] = $this->getVal($param, 'check_status'); $_insert_arr['status'] = $this->getVal($param, 'status'); $_insert_arr['content'] = $this->getVal($param, 'content'); $_insert_arr['check_reason'] = $this->getVal($param, 'check_reason'); $_insert_arr['fail_reason'] = $this->getVal($param, 'fail_reason'); $_time = time(); $_insert_arr['create_time'] = $_time; $_insert_arr['update_time'] = $_time; $_re = \think\Db::name(self::OA_GM_LOG_DB_NAME)->insertGetId($_insert_arr); if (empty($_re)) { return $this->hs_api_responce('502', '信息错误'); } return $_re; } }