Group.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. <?php
  2. namespace app\admin\controller;
  3. use app\BaseController;
  4. use think\facade\Db;
  5. use think\App;
  6. class Group extends BaseController
  7. {
  8. public function __construct(App $app)
  9. {
  10. parent::__construct($app);
  11. $post =$this->request->post();
  12. $token = isset($post['token']) ? trim($post['token']) : "";
  13. if($token==""){
  14. return error_show(101,'token不能为空');
  15. }
  16. $effetc = VerifyTokens($token);
  17. if(!empty($effetc) && $effetc['code']!=0){
  18. return error_show($effetc['code'],$effetc['message']);
  19. }
  20. $this->uid = isset($effetc['data']['user']['id']) ? $effetc['data']['user']['id'] :"";
  21. }
  22. /**
  23. * @return \think\response\Json
  24. * @throws \think\db\exception\DataNotFoundException
  25. * @throws \think\db\exception\DbException
  26. * @throws \think\db\exception\ModelNotFoundException
  27. * @throws \think\exception\DbException
  28. */
  29. public function GroupList(){
  30. $post =$this->request->post();
  31. $token = isset($post['token']) ? trim($post['token']) : "";
  32. $page = isset($post['page']) ? intval($post['page']): 1;
  33. $size = isset($post['size']) ? intval($post['size']):10;
  34. $condition=['is_del'=>0];
  35. $count = Db::name("role_group")->where($condition)->count();
  36. $page>=ceil($count/$size) ? $page=ceil($count/$size) :"";
  37. $list = Db::name("role_group")->where($condition)->page($page,$size)->select();
  38. $data =[];
  39. foreach ($list as $key=>$val) {
  40. $userlist = [];
  41. if ($val['group_user'] != "") {
  42. $cond = ['id' => explode(",",$val['group_user'])];
  43. $user = GetUserlist($token, $cond);
  44. if ($user['code'] == 0 && !empty($user['data'])) {
  45. foreach ($user['data'] as $v) {
  46. $userlist[] = isset($v['nickname']) ?$v['nickname']:"";
  47. }
  48. }
  49. }
  50. $val['userlist']= $userlist;
  51. $data[] = $val;
  52. }
  53. return app_show(0,"获取成功",['list'=>$data,"count"=>$count]);
  54. }
  55. /**
  56. * @return \think\response\Json
  57. * @throws \think\db\exception\DataNotFoundException
  58. * @throws \think\db\exception\DbException
  59. * @throws \think\db\exception\ModelNotFoundException
  60. * @throws \think\exception\DbException
  61. */
  62. public function GroupAll(){
  63. $post =$this->request->post();
  64. $token = isset($post['token']) ? trim($post['token']) : "";
  65. if($token==""){
  66. return error_show(101,'token不能为空');
  67. }
  68. $condition=[];
  69. isset($post['name']) && $post['name']!=="" ? $condition[]= ['group_name',"like","%{$post['name']}%"] : "";
  70. isset($post['status']) && $post['status']!=="" ? $condition[] = ['status',"=",$post['status']] : "";
  71. $list = Db::name("role_group")->where($condition)->select();
  72. $data =[];
  73. foreach ($list as $key=>$val) {
  74. $userlist = [];
  75. if ($val['group_user'] != "") {
  76. $cond = ['id' => explode(",",$val['group_user'])];
  77. $user = GetUserlist($token, $cond);
  78. if ($user['code'] == 0 && !empty($user['data'])) {
  79. foreach ($user['data'] as $v) {
  80. $userlist[] = isset($v['nickname']) ?$v['nickname']:"";
  81. }
  82. }
  83. }
  84. $val['userlist']= $userlist;
  85. $data[] = $val;
  86. }
  87. return app_show(0,"获取成功",$data);
  88. }
  89. /**@param id
  90. * @return \think\response\Json
  91. * @throws \think\exception\DbException
  92. */
  93. public function GroupInfo(){
  94. $post =$this->request->post();
  95. $token = isset($post['token']) ? trim($post['token']) : "";
  96. if($token==""){
  97. return error_show(101,'token不能为空');
  98. }
  99. $id = isset($post['id']) ? intval($post['id']) : "";
  100. if($id==""){
  101. return error_show(1002,"用户组id不能为空");
  102. }
  103. $group = Db::name("role_group")->where("id","=",$id)->find();
  104. if(!$group){
  105. return error_show(1003,"未找到对应的数据");
  106. }
  107. $userlist=[];
  108. if($group['group_user']!=""){
  109. $cond = ['id' => explode(",",$group['group_user'])];
  110. $user = GetUserlist($token, $cond);
  111. if ($user['code'] == 0&& !empty($user['data'])) {
  112. foreach ($user['data'] as $v) {
  113. $userlist[] = isset($v['nickname']) ?$v['nickname']:"";
  114. }
  115. }
  116. }
  117. $group['userlist'] = $userlist;
  118. return app_show(0,"获取成功",$group);
  119. }
  120. /**
  121. * @return \think\response\Json
  122. * @throws \think\exception\DbException
  123. */
  124. public function GroupAdd(){
  125. $post =$this->request->post();
  126. $token = isset($post['token']) ? trim($post['token']) : "";
  127. if($token==""){
  128. return error_show(101,'token不能为空');
  129. }
  130. $groupname = isset($post['name']) ? trim($post['name']):"";
  131. if($groupname==""){
  132. return error_show(1002,"用户组名不能为空");
  133. }
  134. $groupuser = isset($post['group_user']) ? trim($post['group_user']):"";
  135. if($groupuser==""){
  136. return error_show(1002,"组成员不能为空");
  137. }
  138. $marke = isset($post['group_remark']) ? trim($post['group_remark']):"";
  139. $list = ['group_name'=>$groupname];
  140. $select = Db::name("role_group")->where($list)->find();
  141. if($select){
  142. return error_show(1003,"用户组名称已存在");
  143. }
  144. $data= [
  145. 'group_name'=>$groupname,
  146. 'group_user'=>$groupuser,
  147. 'status'=>1,
  148. 'group_remark'=>$marke,
  149. "addtime"=>date("Y-m-d H:i:s"),
  150. "updatetime"=>date("Y-m-d H:i:s")
  151. ];
  152. $in = Db::name("role_group")->save($data);
  153. return $in ? app_show(0,"新建成功"): error_show(1005,"新建失败");
  154. }
  155. /**
  156. * @return \think\response\Json
  157. * @throws \think\exception\DbException
  158. */
  159. public function GroupSave(){
  160. $post =$this->request->post();
  161. $token = isset($post['token']) ? trim($post['token']) : "";
  162. if($token==""){
  163. return error_show(101,'token不能为空');
  164. }
  165. $groupid = isset($post['id']) ? intval($post['id']):"";
  166. if($groupid==""){
  167. return error_show(1002,"用户组id不能为空");
  168. }
  169. $groupname = isset($post['name']) ? trim($post['name']):"";
  170. if($groupname==""){
  171. return error_show(1002,"用户组名不能为空");
  172. }
  173. $groupuser = isset($post['group_user']) ? trim($post['group_user']):"";
  174. if($groupuser==""){
  175. return error_show(1002,"组成员不能为空");
  176. }
  177. $marke = isset($post['group_remark']) ? trim($post['group_remark']):"";
  178. $list = ['group_name'=>$groupname];
  179. $select =Db::name("role_group")->where($list)->find();
  180. if($select && $select['id']!=$groupid){
  181. return error_show(1003,"用户组名称已存在");
  182. }
  183. $data= [
  184. "id"=>$groupid,
  185. 'group_name'=>$groupname,
  186. 'group_user'=>$groupuser,
  187. 'group_remark'=>$marke,
  188. "updatetime"=>date("Y-m-d H:i:s")
  189. ];
  190. $in = Db::name("role_group")->save($data);
  191. return $in ? app_show(0,"更新成功"): error_show(1005,"更新失败");
  192. }
  193. /**
  194. * @return \think\response\Json
  195. * @throws \think\exception\DbException
  196. */
  197. public function GroupStatus(){
  198. $post =$this->request->post();
  199. $groupid = isset($post['id']) ? intval($post['id']):"";
  200. if($groupid==""){
  201. return error_show(1002,"用户组id不能为空");
  202. }
  203. $status = isset($post['status']) ? intval($post['status']) : "";
  204. if($status===""){
  205. return error_show(1001,'status不能为空');
  206. }
  207. if(!in_array($status,[0,1])){
  208. return error_show(1001,'status参数非法');
  209. }
  210. $data= [
  211. "id"=>$groupid,
  212. "status"=>$status,
  213. "updatetime"=>date("Y-m-d H:i:s")
  214. ];
  215. $in = Db::name("role_group")->save($data);
  216. return $in ? app_show(0,"更新成功"): error_show(1005,"更新失败");
  217. }
  218. }