* @version : HUOSDK 8.0 */ namespace huoAccountDeal\controller; use huo\controller\common\Base; use huo\logic\game\GameLogic; use huo\model\member\MgRoleModel; use huoAccountDeal\logic\MemGameLogic; use huolib\status\AccountStatus; use huolib\status\GameStatus; use huolib\status\MemberStatus; use huolib\utils\UserUtils; class MemGameOut extends Base { /** * 获取正在售卖的游戏列表 * * @param string $page * * @return array */ public function getSellGameList($page) { $_rdata = (new MemGameLogic())->getSellGameList(0, $page); $_code = AccountStatus::NO_ERROR; return $this->huoSuccess($_code, AccountStatus::getMsg($_code), $_rdata); } /** * 获取正在售卖并且我玩过的游戏 * * @param int $mem_id 玩家ID * @param string $page * * @return array */ public function getSellMyGameList($mem_id, $page) { $_rdata = (new MemGameLogic())->getSellGameList($mem_id, $page); $_code = AccountStatus::NO_ERROR; return $this->huoSuccess($_code, AccountStatus::getMsg($_code), $_rdata); } /** * 玩家ID * * @param int $mem_id 玩家ID * * @param string $page * * @return array */ public function getMyGameList($mem_id, $page = '1,10') { $_rdata = (new MemGameLogic())->getMyGameList($mem_id, $page); $_code = AccountStatus::NO_ERROR; return $this->huoSuccess($_code, AccountStatus::getMsg($_code), $_rdata); } /** * 获取小号列表 * * @param int $mem_id 玩家ID * @param int $app_id 游戏ID * @param string $page 分页 * * @return array */ public function getAccountList($mem_id, $app_id = 0, $page = '1,10') { $_map['mem_id'] = $mem_id; if (!empty($app_id)) { $_map['app_id'] = $app_id; } $_data = (new MemGameLogic())->getAccountList($_map, $page); $_code = AccountStatus::NO_ERROR; return $this->huoSuccess($_code, AccountStatus::getMsg($_code), $_data); } /** * 获取小号区服列表 * * @param int $mem_id 玩家ID * @param int $mg_mem_id 小号ID * @param string $page 分页 * * @return array */ public function getMgRoleList($mem_id, $mg_mem_id = 0, $page = '1,10') { /* 查询小号ID与mem_id是否对应 */ $_mg_data = MemGameCache::ins()->getInfoById($mg_mem_id); if (empty($_mg_data['mem_id']) || $mem_id != $_mg_data['mem_id']) { $_code = AccountStatus::ACCOUNT_NOT_EXISTS; return $this->huoError($_code, AccountStatus::getMsg($_code)); } $_mgr_map['mg_mem_id'] = $mg_mem_id; $_data = (new MgRoleModel())->getServerRoles($_mgr_map); $_count = count($_data); $_rdata = [ 'count' => $_count, 'list' => $_data ]; $_code = AccountStatus::NO_ERROR; return $this->huoSuccess($_code, AccountStatus::getMsg($_code), $_rdata); } /** * 切换游戏小号 * * @param $mem_id * @param $app_id * @param $account_id * * @return array */ public function changeAccount($mem_id, $app_id, $account_id) { //检查小号是否可以切换 $_can_change_rs = (new MemGameLogic())->canOperate($mem_id, $app_id, $account_id); if (is_numeric($_can_change_rs)) { return $this->huoError($_can_change_rs, AccountStatus::getMsg($_can_change_rs)); } //切换小号 $_change_rs = (new MemGameLogic())->change($mem_id, $app_id, $account_id); if (true != $_change_rs) { $code = GameStatus::INNER_ERROR; return $this->huoError($code, GameStatus::getMsg($code)); } $_code = GameStatus::NO_ERROR; return $this->huoSuccess($_code, GameStatus::getMsg($_code)); } /** * 添加游戏小号 * * @param $mem_id * @param $app_id * @param $nickname * * @return array */ public function addAccount($mem_id, $app_id, $nickname) { //验证游戏 $_chk_game_rs = (new GameLogic())->checkGame($app_id); if (is_numeric($_chk_game_rs)) { return $this->huoError($_chk_game_rs, GameStatus::getMsg($_chk_game_rs)); } //验证昵称 $_chk_nickname_rs = UserUtils::checkNickname($nickname); if (MemberStatus::NO_ERROR != $_chk_nickname_rs) { return $this->huoError($_chk_nickname_rs, MemberStatus::getMsg($_chk_nickname_rs)); } //添加小号 $_data = [ 'mem_id' => $mem_id, 'app_id' => $app_id, 'nickname' => $nickname, ]; $_add_rs = (new MemGameLogic())->add($_data); if (true != $_add_rs) { $code = GameStatus::INNER_ERROR; return $this->huoError($code, GameStatus::getMsg($code)); } $_code = GameStatus::NO_ERROR; return $this->huoSuccess($_code, GameStatus::getMsg($_code)); } }