MemList.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * MemList.php UTF-8
  4. * 获取玩家列表
  5. *
  6. * @date : 2018/5/19 14:58
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huo\controller\member;
  13. use huo\controller\common\Base;
  14. use huo\logic\agent\AgentLogic;
  15. use huo\logic\member\MemberLogic;
  16. use huo\logic\member\MemListLogic;
  17. use huolib\status\MemberStatus;
  18. class MemList extends Base {
  19. /**
  20. * 获取玩家角色列表
  21. *
  22. * @param int $agent_id
  23. * @param array $where
  24. * @param string $page
  25. * @param string $order
  26. *
  27. * @return array
  28. */
  29. public function getMemRoleList($agent_id, $where, $page = '1,10', $order = '-create_time') {
  30. $_agent_ids = (new AgentLogic())->getAgentIds($agent_id, true);
  31. $_map['agent_id'] = ['in', $_agent_ids];
  32. $_map = array_merge($_map, $where);
  33. $_mem_ids=[];
  34. if(!empty($where['username'])){
  35. $_mem_ids = (new MemberLogic())->getIdsByUsername($where['username']);
  36. }
  37. if(!empty($_map['sub_agent_id'])){
  38. $_agent_mem_ids = (new MemberLogic())->getIdsByAgentId($_map['sub_agent_id']);
  39. $_mem_ids = empty($_mem_ids)?$_agent_mem_ids:array_intersect($_mem_ids,$_agent_mem_ids);
  40. }else if(!empty($_map['agent_id'])){
  41. $_agent_mem_ids = (new MemberLogic())->getIdsByAgentId($_map['agent_id']);
  42. $_mem_ids = empty($_mem_ids)?$_agent_mem_ids:array_intersect($_mem_ids,$_agent_mem_ids);
  43. }
  44. if(!empty($_mem_ids)){
  45. $_map['mem_id']=['in', $_mem_ids];
  46. }
  47. $_rdata = (new MemListLogic())->getRoleList($_map, $page, $order);
  48. $_code = MemberStatus::NO_ERROR;
  49. return $this->huoSuccess($_code, MemberStatus::getMsg($_code), $_rdata);
  50. }
  51. }