123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- <?php
- /**
- * Created by PhpStorm.
- * User: guxiannong
- * Date: 2018/7/19
- * Time: 15:37
- */
- namespace huolib\oa;
- use think\Db;
- class OaFirstFoster extends Oa {
- public function __construct() {
- parent::__construct();
- }
- /**
- * 检测玩家角色
- *
- * @param array $param
- *
- * @return $this|array
- */
- public function checkMemberRole($param = array()) {
- if (empty($param)) {
- return $this->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;
- }
- }
|