User.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace app\shopapi\controller;
  13. use app\model\system\User as UserModel;
  14. use app\model\system\Group;
  15. use app\model\system\UserGroup;
  16. /**
  17. * 用户
  18. * Class User
  19. * @package app\shop\controller
  20. */
  21. class User extends BaseApi
  22. {
  23. public function __construct()
  24. {
  25. //执行父类构造函数
  26. parent::__construct();
  27. $token = $this->checkToken();
  28. if ($token[ 'code' ] < 0) {
  29. echo $this->response($token);
  30. exit;
  31. }
  32. }
  33. /**
  34. * 用户列表
  35. * @return mixed
  36. */
  37. public function user()
  38. {
  39. $page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1;
  40. $page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS;
  41. $status = isset($this->params[ 'status' ]) ? $this->params[ 'status' ] : '';
  42. $search_keys = isset($this->params[ 'search_keys' ]) ? $this->params[ 'search_keys' ] : '';
  43. $condition = [];
  44. $condition[] = [ "site_id", "=", $this->site_id ];
  45. $condition[] = [ "app_module", "=", $this->app_module ];
  46. if (!empty($search_keys)) {
  47. $condition[] = [ 'username', 'like', '%' . $search_keys . '%' ];
  48. }
  49. if ($status != "") {
  50. $condition[] = [ "status", "=", $status ];
  51. }
  52. $user_model = new UserModel();
  53. $list = $user_model->getUserPageList($condition, $page, $page_size);
  54. if (!empty($list['data']['list']) && addon_is_exit('cashier', $this->site_id)) {
  55. $join = [
  56. ['store s', 's.store_id = ug.store_id', 'left'],
  57. ['cashier_auth_group cag', 'cag.group_id = ug.group_id', 'left']
  58. ];
  59. foreach ($list['data']['list'] as $k => $item) {
  60. $list['data']['list'][$k]['user_group_list'] = (new UserGroup())->getUserList([ ['ug.uid', '=', $item['uid'] ] ], 's.store_name,cag.group_name', '', 'ug', $join)['data'];
  61. }
  62. }
  63. return $this->response($list);
  64. }
  65. /**
  66. * 用户信息
  67. */
  68. public function info()
  69. {
  70. $uid = isset($this->params[ 'uid' ]) ? $this->params[ 'uid' ] : '';
  71. $user_model = new UserModel();
  72. $info = $user_model->getUserInfo([ [ 'uid', '=', $uid ], [ 'site_id', '=', $this->site_id ] ]);
  73. return $this->response($info);
  74. }
  75. /**
  76. * 添加用户
  77. * @return mixed
  78. */
  79. public function addUser()
  80. {
  81. $username = isset($this->params[ 'username' ]) ? $this->params[ 'username' ] : '';
  82. $password = isset($this->params[ 'password' ]) ? $this->params[ 'password' ] : '';
  83. $group_id = isset($this->params[ 'group_id' ]) ? $this->params[ 'group_id' ] : '';
  84. $user_model = new UserModel();
  85. $data = array (
  86. "username" => $username,
  87. "password" => $password,
  88. "group_id" => $group_id,
  89. "app_module" => $this->app_module,
  90. "site_id" => $this->site_id
  91. );
  92. $result = $user_model->addUser($data, 'add');
  93. return $this->response($result);
  94. }
  95. /**
  96. * 编辑用户
  97. * @return mixed
  98. */
  99. public function editUser()
  100. {
  101. $user_model = new UserModel();
  102. $group_id = isset($this->params[ 'group_id' ]) ? $this->params[ 'group_id' ] : '';
  103. $status = isset($this->params[ 'status' ]) ? $this->params[ 'status' ] : '';
  104. $uid = isset($this->params[ 'uid' ]) ? $this->params[ 'uid' ] : '';
  105. $condition = array (
  106. [ "uid", "=", $uid ],
  107. [ "site_id", "=", $this->site_id ],
  108. [ "app_module", "=", $this->app_module ],
  109. );
  110. $data = array (
  111. "group_id" => $group_id,
  112. "status" => $status
  113. );
  114. $result = $user_model->editUser($data, $condition);
  115. return $this->response($result);
  116. }
  117. /**
  118. * 删除用户
  119. */
  120. public function deleteUser()
  121. {
  122. $uid = isset($this->params[ 'uid' ]) ? $this->params[ 'uid' ] : '';
  123. $user_model = new UserModel();
  124. $condition = array (
  125. [ "uid", "=", $uid ],
  126. [ "app_module", "=", $this->app_module ],
  127. [ "site_id", "=", $this->site_id ],
  128. );
  129. $result = $user_model->deleteUser($condition);
  130. return $this->response($result);
  131. }
  132. /**
  133. * 编辑管理员状态
  134. */
  135. public function modifyUserStatus()
  136. {
  137. $uid = isset($this->params[ 'uid' ]) ? $this->params[ 'uid' ] : '';
  138. $status = isset($this->params[ 'status' ]) ? $this->params[ 'status' ] : 0;
  139. $user_model = new UserModel();
  140. $condition = array (
  141. [ "uid", "=", $uid ],
  142. [ "site_id", "=", $this->site_id ],
  143. [ "app_module", "=", $this->app_module ],
  144. );
  145. $result = $user_model->modifyUserStatus($status, $condition);
  146. return $this->response($result);
  147. }
  148. /**
  149. * 重置密码
  150. */
  151. public function modifyPassword()
  152. {
  153. $password = isset($this->params[ 'password' ]) ? $this->params[ 'password' ] : '123456';
  154. $uid = isset($this->params[ 'uid' ]) ? $this->params[ 'uid' ] : $this->uid;
  155. $site_id = $this->site_id;
  156. $user_model = new UserModel();
  157. $res = $user_model->modifyUserPassword($password, [ [ 'uid', '=', $uid ], [ 'site_id', '=', $site_id ] ]);
  158. return $this->response($res);
  159. }
  160. /**
  161. * 获取用户组列表
  162. */
  163. public function groupList()
  164. {
  165. $group_model = new Group();
  166. $group_list = $group_model->getGroupList([ [ "site_id", "=", $this->site_id ], [ "app_module", "=", $this->app_module ] ]);
  167. return $this->response($group_list);
  168. }
  169. /**
  170. * 用户组权限
  171. * @return false|string
  172. */
  173. public function permission(){
  174. $permission = empty($this->group_info['menu_array']) ? [] : explode(',', $this->group_info['menu_array']);
  175. return $this->response($this->success($permission));
  176. }
  177. }