* @version : HUOSDK 8.0 */ namespace huo\controller\member; use huo\controller\common\Base; use huo\logic\agent\AgentLogic; use huo\logic\member\MemberLogic; use huo\logic\member\MemListLogic; use huolib\status\MemberStatus; class MemList extends Base { /** * 获取玩家角色列表 * * @param int $agent_id * @param array $where * @param string $page * @param string $order * * @return array */ public function getMemRoleList($agent_id, $where, $page = '1,10', $order = '-create_time') { $_agent_ids = (new AgentLogic())->getAgentIds($agent_id, true); $_map['agent_id'] = ['in', $_agent_ids]; $_map = array_merge($_map, $where); $_mem_ids=[]; if(!empty($where['username'])){ $_mem_ids = (new MemberLogic())->getIdsByUsername($where['username']); } if(!empty($_map['sub_agent_id'])){ $_agent_mem_ids = (new MemberLogic())->getIdsByAgentId($_map['sub_agent_id']); $_mem_ids = empty($_mem_ids)?$_agent_mem_ids:array_intersect($_mem_ids,$_agent_mem_ids); }else if(!empty($_map['agent_id'])){ $_agent_mem_ids = (new MemberLogic())->getIdsByAgentId($_map['agent_id']); $_mem_ids = empty($_mem_ids)?$_agent_mem_ids:array_intersect($_mem_ids,$_agent_mem_ids); } if(!empty($_mem_ids)){ $_map['mem_id']=['in', $_mem_ids]; } $_rdata = (new MemListLogic())->getRoleList($_map, $page, $order); $_code = MemberStatus::NO_ERROR; return $this->huoSuccess($_code, MemberStatus::getMsg($_code), $_rdata); } }