Group.php 8.2 KB

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