MemGameOut.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <?php
  2. /**
  3. * MemGameOut.php UTF-8
  4. * 小号处理表
  5. *
  6. * @date : 2018/6/1 17:48
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : luowei <lw@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huoAccountDeal\controller;
  13. use huo\controller\common\Base;
  14. use huo\logic\game\GameLogic;
  15. use huo\model\member\MgRoleModel;
  16. use huoAccountDeal\logic\MemGameLogic;
  17. use huolib\status\AccountStatus;
  18. use huolib\status\GameStatus;
  19. use huolib\status\MemberStatus;
  20. use huolib\utils\UserUtils;
  21. class MemGameOut extends Base {
  22. /**
  23. * 获取正在售卖的游戏列表
  24. *
  25. * @param string $page
  26. *
  27. * @return array
  28. */
  29. public function getSellGameList($page) {
  30. $_rdata = (new MemGameLogic())->getSellGameList(0, $page);
  31. $_code = AccountStatus::NO_ERROR;
  32. return $this->huoSuccess($_code, AccountStatus::getMsg($_code), $_rdata);
  33. }
  34. /**
  35. * 获取正在售卖并且我玩过的游戏
  36. *
  37. * @param int $mem_id 玩家ID
  38. * @param string $page
  39. *
  40. * @return array
  41. */
  42. public function getSellMyGameList($mem_id, $page) {
  43. $_rdata = (new MemGameLogic())->getSellGameList($mem_id, $page);
  44. $_code = AccountStatus::NO_ERROR;
  45. return $this->huoSuccess($_code, AccountStatus::getMsg($_code), $_rdata);
  46. }
  47. /**
  48. * 玩家ID
  49. *
  50. * @param int $mem_id 玩家ID
  51. *
  52. * @param string $page
  53. *
  54. * @return array
  55. */
  56. public function getMyGameList($mem_id, $page = '1,10') {
  57. $_rdata = (new MemGameLogic())->getMyGameList($mem_id, $page);
  58. $_code = AccountStatus::NO_ERROR;
  59. return $this->huoSuccess($_code, AccountStatus::getMsg($_code), $_rdata);
  60. }
  61. /**
  62. * 获取小号列表
  63. *
  64. * @param int $mem_id 玩家ID
  65. * @param int $app_id 游戏ID
  66. * @param string $page 分页
  67. *
  68. * @return array
  69. */
  70. public function getAccountList($mem_id, $app_id = 0, $page = '1,10') {
  71. $_map['mem_id'] = $mem_id;
  72. if (!empty($app_id)) {
  73. $_map['app_id'] = $app_id;
  74. }
  75. $_data = (new MemGameLogic())->getAccountList($_map, $page);
  76. $_code = AccountStatus::NO_ERROR;
  77. return $this->huoSuccess($_code, AccountStatus::getMsg($_code), $_data);
  78. }
  79. /**
  80. * 获取小号区服列表
  81. *
  82. * @param int $mem_id 玩家ID
  83. * @param int $mg_mem_id 小号ID
  84. * @param string $page 分页
  85. *
  86. * @return array
  87. */
  88. public function getMgRoleList($mem_id, $mg_mem_id = 0, $page = '1,10') {
  89. /* 查询小号ID与mem_id是否对应 */
  90. $_mg_data = MemGameCache::ins()->getInfoById($mg_mem_id);
  91. if (empty($_mg_data['mem_id']) || $mem_id != $_mg_data['mem_id']) {
  92. $_code = AccountStatus::ACCOUNT_NOT_EXISTS;
  93. return $this->huoError($_code, AccountStatus::getMsg($_code));
  94. }
  95. $_mgr_map['mg_mem_id'] = $mg_mem_id;
  96. $_data = (new MgRoleModel())->getServerRoles($_mgr_map);
  97. $_count = count($_data);
  98. $_rdata = [
  99. 'count' => $_count,
  100. 'list' => $_data
  101. ];
  102. $_code = AccountStatus::NO_ERROR;
  103. return $this->huoSuccess($_code, AccountStatus::getMsg($_code), $_rdata);
  104. }
  105. /**
  106. * 切换游戏小号
  107. *
  108. * @param $mem_id
  109. * @param $app_id
  110. * @param $account_id
  111. *
  112. * @return array
  113. */
  114. public function changeAccount($mem_id, $app_id, $account_id) {
  115. //检查小号是否可以切换
  116. $_can_change_rs = (new MemGameLogic())->canOperate($mem_id, $app_id, $account_id);
  117. if (is_numeric($_can_change_rs)) {
  118. return $this->huoError($_can_change_rs, AccountStatus::getMsg($_can_change_rs));
  119. }
  120. //切换小号
  121. $_change_rs = (new MemGameLogic())->change($mem_id, $app_id, $account_id);
  122. if (true != $_change_rs) {
  123. $code = GameStatus::INNER_ERROR;
  124. return $this->huoError($code, GameStatus::getMsg($code));
  125. }
  126. $_code = GameStatus::NO_ERROR;
  127. return $this->huoSuccess($_code, GameStatus::getMsg($_code));
  128. }
  129. /**
  130. * 添加游戏小号
  131. *
  132. * @param $mem_id
  133. * @param $app_id
  134. * @param $nickname
  135. *
  136. * @return array
  137. */
  138. public function addAccount($mem_id, $app_id, $nickname) {
  139. //验证游戏
  140. $_chk_game_rs = (new GameLogic())->checkGame($app_id);
  141. if (is_numeric($_chk_game_rs)) {
  142. return $this->huoError($_chk_game_rs, GameStatus::getMsg($_chk_game_rs));
  143. }
  144. //验证昵称
  145. $_chk_nickname_rs = UserUtils::checkNickname($nickname);
  146. if (MemberStatus::NO_ERROR != $_chk_nickname_rs) {
  147. return $this->huoError($_chk_nickname_rs, MemberStatus::getMsg($_chk_nickname_rs));
  148. }
  149. //添加小号
  150. $_data = [
  151. 'mem_id' => $mem_id,
  152. 'app_id' => $app_id,
  153. 'nickname' => $nickname,
  154. ];
  155. $_add_rs = (new MemGameLogic())->add($_data);
  156. if (true != $_add_rs) {
  157. $code = GameStatus::INNER_ERROR;
  158. return $this->huoError($code, GameStatus::getMsg($code));
  159. }
  160. $_code = GameStatus::NO_ERROR;
  161. return $this->huoSuccess($_code, GameStatus::getMsg($_code));
  162. }
  163. }