Browse Source

增加权限申请接口

yangxiaokun 3 years ago
parent
commit
0cf88f3324
22 changed files with 240 additions and 241 deletions
  1. 0 38
      src/main/java/com/zy/bms/common/interceptor/ChannelInterceptor.java
  2. 1 1
      src/main/java/com/zy/bms/config/ExceptionAdvice.java
  3. 50 0
      src/main/java/com/zy/bms/config/InterceptorCfg.java
  4. 0 50
      src/main/java/com/zy/bms/config/InterceptorConfig.java
  5. 37 0
      src/main/java/com/zy/bms/config/interceptor/ChannelAuthInterceptor.java
  6. 5 10
      src/main/java/com/zy/bms/config/interceptor/OperateAuthInterceptor.java
  7. 27 0
      src/main/java/com/zy/bms/config/interceptor/UbiAppAuthInterceptor.java
  8. 11 11
      src/main/java/com/zy/bms/controller/AdminController.java
  9. 6 6
      src/main/java/com/zy/bms/controller/GroupController.java
  10. 0 18
      src/main/java/com/zy/bms/controller/InstructionsController.java
  11. 5 5
      src/main/java/com/zy/bms/controller/ItemController.java
  12. 11 12
      src/main/java/com/zy/bms/controller/PrivilegeApplyController.java
  13. 0 32
      src/main/java/com/zy/bms/controller/UserPrivilegeController.java
  14. 2 21
      src/main/java/com/zy/bms/controller/ubi/UbiDeviceController.java
  15. 0 16
      src/main/java/com/zy/bms/controller/ubi/UbiInfoRecordController.java
  16. 2 2
      src/main/java/com/zy/bms/controller/ubi/UbiNtripController.java
  17. 2 2
      src/main/java/com/zy/bms/controller/ubi/UbiTcpController.java
  18. 67 0
      src/main/java/com/zy/bms/controller/ubi/UbiWxController.java
  19. 3 3
      src/main/java/com/zy/bms/mapper/ubi/UbiInfoStateMapper.java
  20. 2 2
      src/main/java/com/zy/bms/service/ubi/IUbiInfoStateService.java
  21. 4 4
      src/main/java/com/zy/bms/service/ubi/impl/UbiInfoStateServiceImpl.java
  22. 5 8
      src/main/resources/mapper/UbiInfoStateMapper.xml

+ 0 - 38
src/main/java/com/zy/bms/common/interceptor/ChannelInterceptor.java

@@ -1,38 +0,0 @@
-package com.zy.bms.common.interceptor;
-
-import com.zy.bms.utils.CustomResponseUtil;
-import org.springframework.stereotype.Component;
-import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.HashSet;
-
-/**
- * 身份验证拦截器
- * 防止第三方请求服务器
- *
- * @author chenyi
- * Create on 2019/10/10
- */
-@Component
-public class ChannelInterceptor extends HandlerInterceptorAdapter {
-    //合法通道取值
-    private final static HashSet<String> legalHeader = new HashSet<>();
-
-    static {
-        legalHeader.add("bms");
-        legalHeader.add("ubi-app");
-    }
-
-    @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
-        if (request.getMethod().equals("OPTIONS")) {
-            response.setStatus(HttpServletResponse.SC_OK);
-            return true;
-        }
-        if (legalHeader.contains(request.getHeader("channel"))) return true;
-        response.setStatus(HttpServletResponse.SC_FORBIDDEN);
-        return false;
-    }
-}

+ 1 - 1
src/main/java/com/zy/bms/config/ExceptionAdvice.java

@@ -20,6 +20,6 @@ public class ExceptionAdvice {
      */
     @ExceptionHandler(value = MethodArgumentTypeMismatchException.class)
     public ServerResponse MethodArgumentTypeMismatchExceptionHandler() {
-        return ServerResponse.createByError();
+        return ServerResponse.error();
     }
 }

+ 50 - 0
src/main/java/com/zy/bms/config/InterceptorCfg.java

@@ -0,0 +1,50 @@
+package com.zy.bms.config;
+
+import com.zy.bms.config.interceptor.OperateAuthInterceptor;
+import com.zy.bms.config.interceptor.UbiAppAuthInterceptor;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 配置拦截器
+ *
+ * @author chenyi
+ * Create on 2019/10/10
+ */
+@Profile("prod")
+@Configuration
+public class InterceptorCfg implements WebMvcConfigurer {
+    /**
+     * 身份验证拦截器
+     */
+    @Resource
+    private UbiAppAuthInterceptor ubiAppAuthInterceptor;
+    @Resource
+    private OperateAuthInterceptor operateAuthInterceptor;
+
+    private static List<String> whiteList = new ArrayList<>();
+
+    static {
+        whiteList.add("/bms/api/pc/admin/login.do");
+    }
+
+    /**
+     * 添加自定义拦截器
+     */
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(ubiAppAuthInterceptor)
+                .addPathPatterns("/bms/api/ubiapp/**")
+                .excludePathPatterns(whiteList);
+
+        registry.addInterceptor(operateAuthInterceptor)
+                .addPathPatterns("/bms/api/operate/**")
+                .excludePathPatterns(whiteList);
+    }
+}

+ 0 - 50
src/main/java/com/zy/bms/config/InterceptorConfig.java

@@ -1,50 +0,0 @@
-package com.zy.bms.config;
-
-import com.zy.bms.common.interceptor.AuthInterceptor;
-import com.zy.bms.common.interceptor.ChannelInterceptor;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 配置拦截器
- *
- * @author chenyi
- * Create on 2019/10/10
- */
-//@Profile("prod")
-@Configuration
-public class InterceptorConfig implements WebMvcConfigurer {
-    /**
-     * 身份验证拦截器
-     */
-    @Resource
-    private ChannelInterceptor verifyInterceptor;
-    @Resource
-    private AuthInterceptor authInterceptor;
-
-    private static List<String> whiteList = new ArrayList<>();
-
-    static {
-        whiteList.add("omp/api/pc/admin/login.do");
-        whiteList.add("/common/**");
-    }
-
-    /**
-     * 添加自定义拦截器
-     */
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        registry.addInterceptor(verifyInterceptor)
-                .addPathPatterns("/bms/api/app/**")
-                .excludePathPatterns("/common/**");
-
-//        registry.addInterceptor(authInterceptor)
-//                .addPathPatterns("bms/api/app/**")
-//                .excludePathPatterns(whiteList);
-    }
-}

+ 37 - 0
src/main/java/com/zy/bms/config/interceptor/ChannelAuthInterceptor.java

@@ -0,0 +1,37 @@
+//package com.zy.bms.config.interceptor;
+//
+//import org.springframework.stereotype.Component;
+//import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+//
+//import javax.servlet.http.HttpServletRequest;
+//import javax.servlet.http.HttpServletResponse;
+//import java.util.HashSet;
+//
+///**
+// * 请求通道校验
+// * 1. PC运营后台端
+// * 2. 普适型扫码查询状态微信小程序端
+// *
+// * @author chenyi
+// * Create on 2019/10/10
+// */
+//public class ChannelAuthInterceptor extends HandlerInterceptorAdapter {
+//    //合法通道取值
+//    private final static HashSet<String> legalHeader = new HashSet<>();
+//
+//    static {
+//        legalHeader.add("bms");
+//        legalHeader.add("ubi-app");
+//    }
+//
+//    @Override
+//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+//        if (request.getMethod().equals("OPTIONS")) {
+//            response.setStatus(HttpServletResponse.SC_OK);
+//            return true;
+//        }
+//        if (legalHeader.contains(request.getHeader("channel"))) return true;
+//        response.setStatus(HttpServletResponse.SC_FORBIDDEN);
+//        return false;
+//    }
+//}

+ 5 - 10
src/main/java/com/zy/bms/common/interceptor/AuthInterceptor.java → src/main/java/com/zy/bms/config/interceptor/OperateAuthInterceptor.java

@@ -1,4 +1,4 @@
-package com.zy.bms.common.interceptor;
+package com.zy.bms.config.interceptor;
 
 import com.zy.bms.manager.SessionManager;
 import com.zy.bms.utils.CustomResponseUtil;
@@ -10,27 +10,22 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 /**
+ * 运营后台
  * 登录权限验证拦截器
  *
  * @author chenyi
  * Create on 2019/10/10
  */
 @Component
-public class AuthInterceptor extends HandlerInterceptorAdapter {
+public class OperateAuthInterceptor extends HandlerInterceptorAdapter {
 
     @Resource
     private SessionManager sessionManager;
 
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
-        switch (request.getHeader("channel")) {
-            case "bms": {
-                if (sessionManager.valid(request.getHeader("token"))) return true;
-            }
-            case "ubi-app": {
-                if (request.getHeader("app_user") != null) return true;
-            }
-        }
+        String channel = request.getHeader("channel");
+        if (channel.equals("bms") && sessionManager.valid(request.getHeader("token"))) return true;
         CustomResponseUtil.author(response);
         return false;
     }

+ 27 - 0
src/main/java/com/zy/bms/config/interceptor/UbiAppAuthInterceptor.java

@@ -0,0 +1,27 @@
+package com.zy.bms.config.interceptor;
+
+import com.zy.bms.utils.CustomResponseUtil;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 普适型微信小程序
+ * 登录权限验证拦截器
+ *
+ * @author chenyi
+ * Create on 2019/10/10
+ */
+@Component
+public class UbiAppAuthInterceptor extends HandlerInterceptorAdapter {
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+        String channel = request.getHeader("channel");
+        if (channel.equals("ubi-app") && request.getHeader("app_user") != null) return true;
+        CustomResponseUtil.author(response);
+        return false;
+    }
+}

+ 11 - 11
src/main/java/com/zy/bms/controller/AdminController.java

@@ -37,21 +37,21 @@ public class AdminController extends BaseController {
     @PostMapping("login.do")
     public ServerResponse login(String username, String password) {
         Admin admin = adminService.getByUsername(username);
-        if (admin == null) return ServerResponse.createByWarning("用户不存在");
+        if (admin == null) return ServerResponse.warning("用户不存在");
         //MD5密码
         password = MD5Util.encode(password);
-        if (!admin.getPassword().equals(password)) return ServerResponse.createByWarning("密码错误");
+        if (!admin.getPassword().equals(password)) return ServerResponse.warning("密码错误");
         // 返回 token 和 昵称
         Map<String, String> result = new HashMap<>();
         result.put("token", sessionManager.generateToken(admin));
         result.put("nickname", admin.getNickname());
-        return ServerResponse.createBySuccess(result);
+        return ServerResponse.success(result);
     }
 
     @GetMapping("logout.do")
     public ServerResponse logout() {
         sessionManager.removeToken(token());
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 
     /**
@@ -59,7 +59,7 @@ public class AdminController extends BaseController {
      */
     @PostMapping("listPage.do")
     public ServerResponse listPage(AdminIO io) {
-        return ServerResponse.createBySuccess(adminService.listPage(io));
+        return ServerResponse.success(adminService.listPage(io));
     }
 
     /**
@@ -69,9 +69,9 @@ public class AdminController extends BaseController {
     public ServerResponse save(Admin admin) {
         Admin current = sessionManager.getUser(token());
         if (current == null || current.getRoleId() != 1)
-            return ServerResponse.createByWarning("无权限");
+            return ServerResponse.warning("无权限");
         adminService.save(admin);
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 
     /**
@@ -80,7 +80,7 @@ public class AdminController extends BaseController {
     @PostMapping("forbidden.do")
     public ServerResponse forbidden(Integer id) {
         adminService.update(new UpdateWrapper<Admin>().set("status", 0).eq("id", id));
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 
     /**
@@ -89,7 +89,7 @@ public class AdminController extends BaseController {
     @PostMapping("permit.do")
     public ServerResponse permit(Integer id) {
         adminService.update(new UpdateWrapper<Admin>().set("status", 1).eq("id", id));
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 
     /**
@@ -97,7 +97,7 @@ public class AdminController extends BaseController {
      */
     @PostMapping("checkRepeat.do")
     public ServerResponse checkRepeat(String username) {
-        return ServerResponse.createBySuccess(adminService.checkRepeat(username));
+        return ServerResponse.success(adminService.checkRepeat(username));
     }
 
     /**
@@ -105,6 +105,6 @@ public class AdminController extends BaseController {
      */
     @GetMapping("verify.do")
     public ServerResponse verify() {
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 }

+ 6 - 6
src/main/java/com/zy/bms/controller/GroupController.java

@@ -28,7 +28,7 @@ public class GroupController {
      */
     @PostMapping("listPage.do")
     public ServerResponse listPage(GroupIO io) {
-        return ServerResponse.createBySuccess(groupService.listPage(io));
+        return ServerResponse.success(groupService.listPage(io));
     }
 
     /**
@@ -39,9 +39,9 @@ public class GroupController {
         try {
             groupService.save(group);
         } catch (Exception e) {
-            return ServerResponse.createByWarning("项目组编号重复!");
+            return ServerResponse.warning("项目组编号重复!");
         }
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 
     /**
@@ -50,7 +50,7 @@ public class GroupController {
     @PostMapping("forbidden.do")
     public ServerResponse forbidden(String id) {
         groupService.update(new UpdateWrapper<Group>().set("status", 0).eq("id", id));
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 
     /**
@@ -59,7 +59,7 @@ public class GroupController {
     @PostMapping("permit.do")
     public ServerResponse permit(String id) {
         groupService.update(new UpdateWrapper<Group>().set("status", 1).eq("id", id));
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 
     /**
@@ -67,7 +67,7 @@ public class GroupController {
      */
     @PostMapping("update.do")
     public ServerResponse update(Group group) {
-        return ServerResponse.createBySuccess(groupService.updateById(group));
+        return ServerResponse.success(groupService.updateById(group));
     }
 
 }

+ 0 - 18
src/main/java/com/zy/bms/controller/InstructionsController.java

@@ -1,18 +0,0 @@
-package com.zy.bms.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 指令表 前端控制器
- *
- * @author chenyi
- * @since 2021-06-22
- */
-@RestController
-@RequestMapping("/builder/instructions")
-public class InstructionsController {
-
-}

+ 5 - 5
src/main/java/com/zy/bms/controller/ItemController.java

@@ -32,7 +32,7 @@ public class ItemController {
      */
     @PostMapping("listPage.do")
     public ServerResponse listPage(ItemIO io) {
-        return ServerResponse.createBySuccess(itemService.listPage(io));
+        return ServerResponse.success(itemService.listPage(io));
     }
 
     /**
@@ -41,7 +41,7 @@ public class ItemController {
     @PostMapping("save.do")
     public ServerResponse save(Item item) {
         itemService.save(item);
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 
     /**
@@ -50,7 +50,7 @@ public class ItemController {
     @PostMapping("forbidden.do")
     public ServerResponse forbidden(String id) {
         itemService.update(new UpdateWrapper<Item>().set("status", 0).eq("id", id));
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 
     /**
@@ -59,7 +59,7 @@ public class ItemController {
     @PostMapping("permit.do")
     public ServerResponse permit(String id) {
         itemService.update(new UpdateWrapper<Item>().set("status", 1).eq("id", id));
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 
     /**
@@ -68,6 +68,6 @@ public class ItemController {
     @PostMapping("update.do")
     public ServerResponse update(Item item) {
         itemService.updateById(item);
-        return ServerResponse.createBySuccess();
+        return ServerResponse.success();
     }
 }

+ 11 - 12
src/main/java/com/zy/bms/controller/PrivilegeApplyController.java

@@ -22,7 +22,7 @@ import java.time.LocalDateTime;
  * @since 2021-07-12
  */
 @RestController
-@RequestMapping("/bms/api/app/privilegeApply")
+@RequestMapping("/bms/api/operate/privilegeApply")
 public class PrivilegeApplyController extends BaseController {
 
     @Resource
@@ -36,7 +36,15 @@ public class PrivilegeApplyController extends BaseController {
      */
     @GetMapping("listPage.do")
     public ServerResponse listPage(PrivilegeApplyIO io) {
-        return ServerResponse.createBySuccess(privilegeApplyRecordService.listPage(io));
+        return ServerResponse.success(privilegeApplyRecordService.listPage(io));
+    }
+
+    /**
+     * 获取用户未有权限的设备组
+     */
+    @GetMapping("getNoPrivGroups.do")
+    public ServerResponse getNoPrivGroups() {
+        return ServerResponse.success(userPrivilegeService.getGroupByUserId(userId()));
     }
 
     /**
@@ -50,15 +58,6 @@ public class PrivilegeApplyController extends BaseController {
         userPrivilegeService.saveBatch(userId(), groups);
         //更新申请记录
         privilegeApplyRecordService.updateById(entity);
-        return ServerResponse.createBySuccess();
-    }
-
-    /**
-     * 申请权限
-     */
-    @PostMapping("apply.do")
-    public ServerResponse apply(PrivilegeApplyRecord entity) {
-        entity.setUserId(userId());
-        return ServerResponse.createBySuccess(privilegeApplyRecordService.save(entity));
+        return ServerResponse.success();
     }
 }

+ 0 - 32
src/main/java/com/zy/bms/controller/UserPrivilegeController.java

@@ -1,32 +0,0 @@
-package com.zy.bms.controller;
-
-
-import com.zy.bms.common.ServerResponse;
-import com.zy.bms.service.IUserPrivilegeService;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-
-/**
- * 用户查看手机设备权限表 前端控制器
- *
- * @author chenyi
- * @since 2021-07-13
- */
-@RestController
-@RequestMapping("/builder/user-privilege")
-public class UserPrivilegeController extends BaseController {
-
-    @Resource
-    private IUserPrivilegeService userPrivilegeService;
-
-    /**
-     * 获取用户未有权限的设备组
-     */
-    @GetMapping("getGroupByUserId.do")
-    public ServerResponse getGroupByUserId() {
-        return ServerResponse.createBySuccess(userPrivilegeService.getGroupByUserId(userId()));
-    }
-}

+ 2 - 21
src/main/java/com/zy/bms/controller/ubi/UbiDeviceController.java

@@ -4,7 +4,6 @@ package com.zy.bms.controller.ubi;
 import com.zy.bms.common.ServerResponse;
 import com.zy.bms.controller.BaseController;
 import com.zy.bms.pojo.io.DeviceIO;
-import com.zy.bms.pojo.io.PageIO;
 import com.zy.bms.service.ubi.IUbiInfoStateService;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -31,7 +30,7 @@ public class UbiDeviceController extends BaseController {
      */
     @PostMapping("listPage.do")
     public ServerResponse listPage(DeviceIO io) {
-        return ServerResponse.createBySuccess(ubiInfoStateService.listPage(io));
+        return ServerResponse.success(ubiInfoStateService.listPage(io));
     }
 
     /**
@@ -39,24 +38,6 @@ public class UbiDeviceController extends BaseController {
      */
     @GetMapping("getDetail.do")
     public ServerResponse getDetail(String openNum) {
-        return ServerResponse.createBySuccess(ubiInfoStateService.getDetail(openNum));
-    }
-
-    /**
-     * 微信端
-     * 通过用户ID分页查询该用户拥有权限的设备列表
-     */
-    @GetMapping("listPageWx.do")
-    public ServerResponse listPageWx(PageIO io) {
-        return ServerResponse.createBySuccess(ubiInfoStateService.listPageWx(io, userId()));
-    }
-
-    /**
-     * 微信端
-     * 通过用户ID分页查询该用户拥有权限的设备列表
-     */
-    @GetMapping("getDetailWx.do")
-    public ServerResponse getDetailWx(String openNum) {
-        return ServerResponse.createBySuccess(ubiInfoStateService.getDetailWx(openNum));
+        return ServerResponse.success(ubiInfoStateService.getDetail(openNum));
     }
 }

+ 0 - 16
src/main/java/com/zy/bms/controller/ubi/UbiInfoRecordController.java

@@ -1,16 +0,0 @@
-package com.zy.bms.controller.ubi;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 心跳包记录 前端控制器
- *
- * @author yangxiaokun
- * @since 2021-06-01
- */
-@RestController
-@RequestMapping("/bms/heartbeat")
-public class UbiInfoRecordController {
-
-}

+ 2 - 2
src/main/java/com/zy/bms/controller/ubi/UbiNtripController.java

@@ -31,7 +31,7 @@ public class UbiNtripController {
      */
     @GetMapping("listByOpenNum.do")
     public ServerResponse getByOpenNum(String openNum) {
-        return ServerResponse.createBySuccess(ntripSetService.listByOpenNum(openNum));
+        return ServerResponse.success(ntripSetService.listByOpenNum(openNum));
     }
 
     /**
@@ -39,6 +39,6 @@ public class UbiNtripController {
      */
     @PostMapping("update.do")
     public ServerResponse updateById(UbiNtrip entity) {
-        return ServerResponse.createBySuccess(ntripSetService.updateById(entity));
+        return ServerResponse.success(ntripSetService.updateById(entity));
     }
 }

+ 2 - 2
src/main/java/com/zy/bms/controller/ubi/UbiTcpController.java

@@ -31,7 +31,7 @@ public class UbiTcpController {
      */
     @GetMapping("listByOpenNum.do")
     public ServerResponse listByOpenNum(String openNum) {
-        return ServerResponse.createBySuccess(tcpSetService.listByOpenNum(openNum));
+        return ServerResponse.success(tcpSetService.listByOpenNum(openNum));
     }
 
     /**
@@ -39,6 +39,6 @@ public class UbiTcpController {
      */
     @PostMapping("update.do")
     public ServerResponse updateById(UbiTcp entity) {
-        return ServerResponse.createBySuccess(tcpSetService.updateById(entity));
+        return ServerResponse.success(tcpSetService.updateById(entity));
     }
 }

+ 67 - 0
src/main/java/com/zy/bms/controller/ubi/UbiWxController.java

@@ -0,0 +1,67 @@
+package com.zy.bms.controller.ubi;
+
+import com.zy.bms.common.ServerResponse;
+import com.zy.bms.controller.BaseController;
+import com.zy.bms.entity.PrivilegeApplyRecord;
+import com.zy.bms.pojo.io.PageIO;
+import com.zy.bms.service.IPrivilegeApplyRecordService;
+import com.zy.bms.service.IUserPrivilegeService;
+import com.zy.bms.service.ubi.IUbiInfoStateService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author yang xiao kun
+ * create on 2021/7/16
+ */
+@RestController
+@RequestMapping("/bms/api/ubiapp")
+public class UbiWxController extends BaseController {
+    @Resource
+    private IPrivilegeApplyRecordService privilegeApplyRecordService;
+    @Resource
+    private IUserPrivilegeService userPrivilegeService;
+    @Resource
+    private IUbiInfoStateService ubiInfoStateService;
+
+    /**
+     * 查看用户拥有权限的设备组
+     */
+    @GetMapping("getOwnGroups.do")
+    public ServerResponse getOwnGroups() {
+        return ServerResponse.success(userPrivilegeService.ownGroupIds(userId()));
+    }
+
+    /**
+     * 申请查看设备组权限
+     */
+    @PostMapping("apply.do")
+    public ServerResponse apply(PrivilegeApplyRecord entity) {
+        entity.setUserId(userId());
+        return ServerResponse.success(privilegeApplyRecordService.save(entity));
+    }
+
+    /**
+     * 通过用户ID分页查询该用户拥有权限的设备列表
+     */
+    @GetMapping("getDeviceListByGroupId.do")
+    public ServerResponse getDeviceListByGroupId(PageIO io, String group) {
+        Set<String> groupIds = new HashSet<>(userPrivilegeService.ownGroupIds(userId()));
+        if (!groupIds.contains(group)) return ServerResponse.warning("无权限");
+        return ServerResponse.success(ubiInfoStateService.listPageWx(io, group));
+    }
+
+    /**
+     * 获取设备详情信息
+     */
+    @GetMapping("getDeviceDetail.do")
+    public ServerResponse getDeviceDetail(String openNum) {
+        return ServerResponse.success(ubiInfoStateService.getDetailWx(openNum));
+    }
+}

+ 3 - 3
src/main/java/com/zy/bms/mapper/ubi/UbiInfoStateMapper.java

@@ -50,8 +50,8 @@ public interface UbiInfoStateMapper extends BaseMapper<UbiInfoState> {
      * 微信端
      * 通过设备组分页查询设备列表
      *
-     * @param page     分页信息
-     * @param groupIds 设备组ID集合
+     * @param page  分页信息
+     * @param group 设备组
      */
-    IPage<UbiDeviceListVo> listPageWx(Page<UbiDeviceListVo> page, @Param("groupIds") List<String> groupIds);
+    IPage<UbiDeviceListVo> listPageWx(Page<UbiDeviceListVo> page, @Param("group") String group);
 }

+ 2 - 2
src/main/java/com/zy/bms/service/ubi/IUbiInfoStateService.java

@@ -42,9 +42,9 @@ public interface IUbiInfoStateService extends IService<UbiInfoState> {
      * 通过用户ID分页查询该用户拥有权限的设备列表
      *
      * @param io     查询参数
-     * @param userId 用户ID
+     * @param group  设备组
      */
-    IPage<UbiDeviceListVo> listPageWx(PageIO io, Integer userId);
+    IPage<UbiDeviceListVo> listPageWx(PageIO io, String group);
 
     /**
      * 微信端

+ 4 - 4
src/main/java/com/zy/bms/service/ubi/impl/UbiInfoStateServiceImpl.java

@@ -17,7 +17,9 @@ import com.zy.bms.service.ubi.IUbiTcpService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -58,11 +60,9 @@ public class UbiInfoStateServiceImpl extends ServiceImpl<UbiInfoStateMapper, Ubi
     }
 
     @Override
-    public IPage<UbiDeviceListVo> listPageWx(PageIO io, Integer userId) {
-        List<String> groupIds = userPrivilegeService.ownGroupIds(userId);
-        if (groupIds.isEmpty()) return null;
+    public IPage<UbiDeviceListVo> listPageWx(PageIO io, String group) {
         Page<UbiDeviceListVo> page = new Page<>(io.getCurrent(), io.getSize());
-        return baseMapper.listPageWx(page, groupIds);
+        return baseMapper.listPageWx(page, group);
     }
 
     @Override

+ 5 - 8
src/main/resources/mapper/UbiInfoStateMapper.xml

@@ -65,16 +65,13 @@
 
     <select id="listPageWx" resultType="com.zy.bms.pojo.vo.UbiDeviceListVo">
         SELECT
-        t1.open_num,
-        t1.create_time,
-        t2.status
+            t1.open_num,
+            t1.create_time,
+            t2.status
         FROM
-        device_base t1
+            device_base t1
         LEFT JOIN ubi_info_state t2 ON t1.open_num = t2.open_num
         WHERE
-        t1.group_id IN
-        <foreach collection="groupIds" item="id" open="(" close=")" separator=",">
-            #{id}
-        </foreach>
+            t1.group_id = #{group}
     </select>
 </mapper>