Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/zy/bms/common/Constant.java
#	src/main/java/com/zy/bms/controller/lp/LpWxController.java
#	src/main/java/com/zy/bms/entity/lp/LpInfoState.java
#	src/main/java/com/zy/bms/handler/LpHandlers.java
#	src/main/java/com/zy/bms/mapper/lp/LpInfoStateMapper.java
#	src/main/java/com/zy/bms/service/lp/ILpInfoStateService.java
#	src/main/java/com/zy/bms/service/lp/impl/LpInfoStateServiceImpl.java
#	src/main/resources/mapper/LpInfoStateMapper.xml
chenyi406 3 years ago
parent
commit
4371eddb67
49 changed files with 569 additions and 281 deletions
  1. 116 0
      src/main/java/com/zy/bms/controller/UbiLpWxController.java
  2. 0 42
      src/main/java/com/zy/bms/controller/lp/LpWxController.java
  3. 0 106
      src/main/java/com/zy/bms/controller/ubi/UbiWxController.java
  4. 1 3
      src/main/java/com/zy/bms/entity/Admin.java
  5. 1 3
      src/main/java/com/zy/bms/entity/DeviceBase.java
  6. 0 1
      src/main/java/com/zy/bms/entity/Group.java
  7. 1 1
      src/main/java/com/zy/bms/entity/Instructions.java
  8. 1 1
      src/main/java/com/zy/bms/entity/Item.java
  9. 1 1
      src/main/java/com/zy/bms/entity/Logs.java
  10. 1 1
      src/main/java/com/zy/bms/entity/PrivilegeApplyRecord.java
  11. 1 1
      src/main/java/com/zy/bms/entity/Role.java
  12. 2 1
      src/main/java/com/zy/bms/entity/User.java
  13. 0 1
      src/main/java/com/zy/bms/entity/UserPrivilege.java
  14. 113 0
      src/main/java/com/zy/bms/entity/lp/LpInfoRecord.java
  15. 2 6
      src/main/java/com/zy/bms/entity/lp/LpInfoState.java
  16. 1 1
      src/main/java/com/zy/bms/entity/ubi/UbiInfoRecord.java
  17. 1 1
      src/main/java/com/zy/bms/entity/ubi/UbiInfoState.java
  18. 1 1
      src/main/java/com/zy/bms/entity/ubi/UbiNtrip.java
  19. 1 1
      src/main/java/com/zy/bms/entity/ubi/UbiTcp.java
  20. 16 5
      src/main/java/com/zy/bms/handler/LpHandlers.java
  21. 4 3
      src/main/java/com/zy/bms/handler/TransformEntity.java
  22. 14 2
      src/main/java/com/zy/bms/mapper/DeviceBaseMapper.java
  23. 7 0
      src/main/java/com/zy/bms/mapper/GroupMapper.java
  24. 1 1
      src/main/java/com/zy/bms/mapper/UserPrivilegeMapper.java
  25. 14 0
      src/main/java/com/zy/bms/mapper/lp/LpInfoRecordMapper.java
  26. 8 0
      src/main/java/com/zy/bms/mapper/lp/LpInfoStateMapper.java
  27. 2 13
      src/main/java/com/zy/bms/mapper/ubi/UbiInfoStateMapper.java
  28. 31 0
      src/main/java/com/zy/bms/pojo/vo/LpChartsDataVO.java
  29. 5 0
      src/main/java/com/zy/bms/pojo/vo/LpDeviceListVo.java
  30. 12 2
      src/main/java/com/zy/bms/pojo/vo/UbiDeviceDetailVo.java
  31. 15 11
      src/main/java/com/zy/bms/pojo/vo/UbiDeviceListVo.java
  32. 24 2
      src/main/java/com/zy/bms/service/IDeviceBaseService.java
  33. 7 0
      src/main/java/com/zy/bms/service/IGroupService.java
  34. 1 1
      src/main/java/com/zy/bms/service/IUserPrivilegeService.java
  35. 46 2
      src/main/java/com/zy/bms/service/impl/DeviceBaseServiceImpl.java
  36. 5 0
      src/main/java/com/zy/bms/service/impl/GroupServiceImpl.java
  37. 3 3
      src/main/java/com/zy/bms/service/impl/UserPrivilegeServiceImpl.java
  38. 16 0
      src/main/java/com/zy/bms/service/lp/ILpInfoRecordService.java
  39. 8 0
      src/main/java/com/zy/bms/service/lp/ILpInfoStateService.java
  40. 18 0
      src/main/java/com/zy/bms/service/lp/impl/LpInfoRecordServiceImpl.java
  41. 5 0
      src/main/java/com/zy/bms/service/lp/impl/LpInfoStateServiceImpl.java
  42. 3 13
      src/main/java/com/zy/bms/service/ubi/IUbiInfoStateService.java
  43. 3 17
      src/main/java/com/zy/bms/service/ubi/impl/UbiInfoStateServiceImpl.java
  44. 7 0
      src/main/resources/mapper/DeviceBaseMapper.xml
  45. 21 11
      src/main/resources/mapper/GroupMapper.xml
  46. 5 0
      src/main/resources/mapper/LpInfoRecordMapper.xml
  47. 13 0
      src/main/resources/mapper/LpInfoStateMapper.xml
  48. 10 22
      src/main/resources/mapper/UbiInfoStateMapper.xml
  49. 1 1
      src/test/java/com/zy/bms/MybatisPlusGenerator.java

+ 116 - 0
src/main/java/com/zy/bms/controller/UbiLpWxController.java

@@ -0,0 +1,116 @@
+package com.zy.bms.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.zy.bms.common.ServerResponse;
+import com.zy.bms.entity.DeviceBase;
+import com.zy.bms.entity.UserPrivilege;
+import com.zy.bms.entity.lp.LpInfoState;
+import com.zy.bms.service.IDeviceBaseService;
+import com.zy.bms.service.IGroupService;
+import com.zy.bms.service.IPostMqttMsgService;
+import com.zy.bms.service.IUserPrivilegeService;
+import com.zy.bms.service.lp.ILpInfoStateService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+
+import javax.annotation.Resource;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * 普适型,路牌 微信小程序接口
+ *
+ * @author yang xiao kun
+ * create on 2021/8/24
+ */
+public class UbiLpWxController extends BaseController {
+    @Resource
+    private IUserPrivilegeService userPrivilegeService;
+    @Resource
+    private IGroupService groupService;
+    @Resource
+    private IDeviceBaseService deviceBaseService;
+    @Resource
+    private IPostMqttMsgService postMqttMsgService;
+    @Resource
+    private ILpInfoStateService lpInfoStateService;
+
+    /**
+     * 查看用户拥有权限的设备组列表
+     */
+    @GetMapping("getGroups.do")
+    public ServerResponse getGroupsByUserId() {
+        return ServerResponse.success(groupService.getByUserId(userId()));
+    }
+
+    /**
+     * 校验设备码是否存在
+     */
+    @GetMapping("checkOpenNum.do")
+    public ServerResponse checkOpenNum(String openNum) {
+        return ServerResponse.success(deviceBaseService.checkOpenNum(openNum));
+    }
+
+    /**
+     * 通过设备组ID查询设备列表
+     */
+    @GetMapping("getDevices.do")
+    public ServerResponse getDevicesByGroupId(String groupId) {
+        Set<String> groupIds = new HashSet<>(userPrivilegeService.getGroupIdsByUserId(userId()));
+        if (!groupIds.contains(groupId)) return ServerResponse.warning("无权限");
+        return ServerResponse.success(deviceBaseService.listByGroupIdWx(groupId));
+    }
+
+    /**
+     * 扫码查询
+     */
+    @GetMapping("scan.do")
+    public ServerResponse scan(String openNum) {
+        DeviceBase device = deviceBaseService.getOne(new QueryWrapper<DeviceBase>().eq("open_num", openNum));
+        if (device == null) return ServerResponse.warning("设备码错误!");
+        //如果该用户没有该设备组权限,则加上权限
+        UserPrivilege userPrivilege = userPrivilegeService.getOne(new QueryWrapper<UserPrivilege>()
+                .eq("group_id", device.getGroupId()).eq("user_id", userId()));
+        if (userPrivilege == null) {
+            UserPrivilege entity = new UserPrivilege();
+            entity.setUserId(userId());
+            entity.setGroupId(device.getGroupId());
+            userPrivilegeService.save(entity);
+        }
+        return ServerResponse.success(deviceBaseService.getDetailWx(openNum));
+    }
+
+    /**
+     * 获取设备详情信息
+     */
+    @GetMapping("getDeviceDetail.do")
+    public ServerResponse getDeviceDetail(String openNum) {
+        return ServerResponse.success(deviceBaseService.getDetailWx(openNum));
+    }
+
+    /**
+     * 更新唤醒时间和阈值
+     */
+    @PostMapping("update.do")
+    public ServerResponse update(LpInfoState entity) {
+        return ServerResponse.success(lpInfoStateService.updateWakeAndThresh(entity));
+    }
+
+    /**
+     * 蜂鸣器
+     */
+    @GetMapping("buzzing.do")
+    public ServerResponse buzzing(String openNum) {
+        postMqttMsgService.requestBuzzingUbi(openNum);
+        return ServerResponse.success();
+    }
+
+    /**
+     * 立即请求获取最新心跳包
+     */
+    @GetMapping("heartbeat.do")
+    public ServerResponse heartbeat(String openNum) {
+        postMqttMsgService.requestHeartbeatUbi(openNum);
+        return ServerResponse.success();
+    }
+}

+ 0 - 42
src/main/java/com/zy/bms/controller/lp/LpWxController.java

@@ -1,42 +0,0 @@
-package com.zy.bms.controller.lp;
-
-import com.zy.bms.common.ServerResponse;
-import com.zy.bms.controller.BaseController;
-import com.zy.bms.entity.lp.LpInfoState;
-import com.zy.bms.service.lp.ILpInfoStateService;
-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;
-
-/**
- * 路牌设备
- * 微信小程序 端接口
- *
- * @author yang xiao kun
- * create on 2021/7/16
- */
-@RestController
-@RequestMapping("/bms/api/lpapp")
-public class LpWxController extends BaseController {
-    @Resource
-    private ILpInfoStateService lpInfoStateService;
-
-    /**
-     * 查询所有设备
-     */
-    @GetMapping("list.do")
-    public ServerResponse listByUserId() {
-        return ServerResponse.success(lpInfoStateService.listByUserId(userId()));
-    }
-
-    /**
-     * 更新唤醒时间和阈值
-     */
-    @PostMapping("update.do")
-    public ServerResponse update(LpInfoState entity) {
-        return ServerResponse.success(lpInfoStateService.updateWakeAndThresh(entity));
-    }
-}

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

@@ -1,106 +0,0 @@
-package com.zy.bms.controller.ubi;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.zy.bms.common.ServerResponse;
-import com.zy.bms.controller.BaseController;
-import com.zy.bms.entity.Group;
-import com.zy.bms.entity.PrivilegeApplyRecord;
-import com.zy.bms.service.IGroupService;
-import com.zy.bms.service.IPostMqttMsgService;
-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.List;
-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;
-    @Resource
-    private IGroupService groupService;
-    @Resource
-    private IPostMqttMsgService postMqttMsgService;
-
-    /**
-     * 查看用户拥有权限的设备组列表
-     */
-    @GetMapping("getOwnGroups.do")
-    public ServerResponse getOwnGroups() {
-        List<String> groupIds = userPrivilegeService.ownGroupIds(userId());
-        return ServerResponse.success(groupService.list(new QueryWrapper<Group>()
-                .in("id", groupIds.toArray())));
-    }
-
-    /**
-     * 申请查看设备组权限
-     */
-    @PostMapping("apply.do")
-    public ServerResponse apply(PrivilegeApplyRecord entity) {
-        entity.setUserId(userId());
-        return ServerResponse.success(privilegeApplyRecordService.save(entity));
-    }
-
-    /**
-     * 通过用户ID分页查询该用户拥有权限的设备列表
-     */
-    @GetMapping("getDeviceList.do")
-    public ServerResponse getDeviceList(String group) {
-        Set<String> groupIds = new HashSet<>(userPrivilegeService.ownGroupIds(userId()));
-        if (!groupIds.contains(group)) return ServerResponse.warning("无权限");
-        return ServerResponse.success(ubiInfoStateService.listWx(group));
-    }
-
-    /**
-     * 获取设备详情信息
-     */
-    @GetMapping("getDeviceDetail.do")
-    public ServerResponse getDeviceDetail(String openNum) {
-        return ServerResponse.success(ubiInfoStateService.getDetailWx(openNum));
-    }
-
-    /**
-     * 蜂鸣器
-     */
-    @GetMapping("buzzing.do")
-    public ServerResponse buzzing(String openNum) {
-        postMqttMsgService.requestBuzzingUbi(openNum);
-        return ServerResponse.success();
-    }
-
-    /**
-     * 立即请求获取最新心跳包
-     */
-    @GetMapping("heartbeat.do")
-    public ServerResponse heartbeat(String openNum) {
-        postMqttMsgService.requestHeartbeatUbi(openNum);
-        return ServerResponse.success();
-    }
-
-    /**
-     * 获取设备详情信息
-     */
-    @GetMapping("checkOpenNum.do")
-    public ServerResponse checkOpenNum(String openNum) {
-        return ServerResponse.success(ubiInfoStateService.checkOpenNum(openNum));
-    }
-}

+ 1 - 3
src/main/java/com/zy/bms/entity/Admin.java

@@ -8,9 +8,7 @@ import java.time.LocalDateTime;
 import java.io.Serializable;
 
 /**
- * <p>
  * 管理员表
- * </p>
  *
  * @author yangxiaokun
  * @since 2021-06-03
@@ -20,7 +18,7 @@ public class Admin implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 1 - 3
src/main/java/com/zy/bms/entity/DeviceBase.java

@@ -8,9 +8,7 @@ import java.time.LocalDateTime;
 import java.io.Serializable;
 
 /**
- * <p>
  * 设备基础信息
- * </p>
  *
  * @author yangxiaokun
  * @since 2021-06-01
@@ -20,7 +18,7 @@ public class DeviceBase implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 0 - 1
src/main/java/com/zy/bms/entity/Group.java

@@ -56,5 +56,4 @@ public class Group implements Serializable {
      */
     private Integer status;
 
-
 }

+ 1 - 1
src/main/java/com/zy/bms/entity/Instructions.java

@@ -21,7 +21,7 @@ public class Instructions implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 1 - 1
src/main/java/com/zy/bms/entity/Item.java

@@ -20,7 +20,7 @@ public class Item implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 1 - 1
src/main/java/com/zy/bms/entity/Logs.java

@@ -19,7 +19,7 @@ import java.time.LocalDateTime;
 @TableName("logs")
 public class Logs {
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 1 - 1
src/main/java/com/zy/bms/entity/PrivilegeApplyRecord.java

@@ -18,7 +18,7 @@ public class PrivilegeApplyRecord implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 1 - 1
src/main/java/com/zy/bms/entity/Role.java

@@ -20,7 +20,7 @@ public class Role implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 2 - 1
src/main/java/com/zy/bms/entity/User.java

@@ -1,5 +1,6 @@
 package com.zy.bms.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 
@@ -20,7 +21,7 @@ public class User implements Serializable {
     /**
      * 主键
      */
-    @TableId
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 0 - 1
src/main/java/com/zy/bms/entity/UserPrivilege.java

@@ -16,7 +16,6 @@ import lombok.EqualsAndHashCode;
  * @since 2021-07-13
  */
 @Data
-@EqualsAndHashCode(callSuper = false)
 public class UserPrivilege implements Serializable {
 
     private static final long serialVersionUID = 1L;

+ 113 - 0
src/main/java/com/zy/bms/entity/lp/LpInfoRecord.java

@@ -0,0 +1,113 @@
+package com.zy.bms.entity.lp;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+import lombok.Data;
+
+/**
+ * 设备-路牌-历史记录表
+ *
+ * @author chenyi
+ * @since 2021-08-26
+ */
+@Data
+public class LpInfoRecord implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备唯一码
+     */
+    private String openNum;
+
+    /**
+     * 定时唤醒时间
+     */
+    private BigDecimal wakeInt;
+
+    /**
+     * 阈值
+     */
+    private Integer thresh;
+
+    /**
+     * 电量
+     */
+    private String battery;
+
+    /**
+     * 信号
+     */
+    private String s4g;
+
+    private String x;
+
+    private String y;
+
+    private String z;
+
+    private String anglex;
+
+    private String angley;
+
+    private String anglez;
+
+    /**
+     * 温度
+     */
+    private String temp;
+
+    /**
+     * 经度
+     */
+    private Double lon;
+
+    /**
+     * 纬度
+     */
+    private Double lat;
+
+    /**
+     * 经度(Gcj)
+     */
+    private Double lonGcj;
+
+    /**
+     * 纬度(Gcj)
+     */
+    private Double latGcj;
+
+    /**
+     * 格式化位置
+     */
+    private String site;
+
+    /**
+     * 定位模式 1:GPS 2:基站
+     */
+    private Integer mode;
+
+    /**
+     * 上传类型
+     */
+    private String dataType;
+
+    /**
+     * 状态 0:离线 1:在线
+     */
+    private Integer status;
+
+    /**
+     * 数据上传时间
+     */
+    private LocalDateTime uploadTime;
+
+}

+ 2 - 6
src/main/java/com/zy/bms/entity/lp/LpInfoState.java

@@ -20,7 +20,7 @@ public class LpInfoState implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**
@@ -113,17 +113,13 @@ public class LpInfoState implements Serializable {
      * 数据更新时间
      */
     private LocalDateTime updateTime;
-
     /**
      * 更新位置标记
      */
     private Integer updateLocationFlag;
 
-    /**
-     * 获取在线状态
-     */
     public Integer getStatus() {
         if (updateTime == null || wakeInt == null) return 0;
-        return updateTime.compareTo(LocalDateTime.now().minusMinutes((int) (wakeInt.floatValue() * 60) + 3));
+        return LocalDateTime.now().isAfter(updateTime.plusMinutes(wakeInt.multiply(BigDecimal.valueOf(60)).intValue() + 3)) ? 0 : 1;
     }
 }

+ 1 - 1
src/main/java/com/zy/bms/entity/ubi/UbiInfoRecord.java

@@ -19,7 +19,7 @@ public class UbiInfoRecord implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 1 - 1
src/main/java/com/zy/bms/entity/ubi/UbiInfoState.java

@@ -18,7 +18,7 @@ public class UbiInfoState implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 1 - 1
src/main/java/com/zy/bms/entity/ubi/UbiNtrip.java

@@ -18,7 +18,7 @@ public class UbiNtrip implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 1 - 1
src/main/java/com/zy/bms/entity/ubi/UbiTcp.java

@@ -18,7 +18,7 @@ public class UbiTcp implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**

+ 16 - 5
src/main/java/com/zy/bms/handler/LpHandlers.java

@@ -2,11 +2,14 @@ package com.zy.bms.handler;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.zy.bms.common.Constant;
+import com.zy.bms.entity.lp.LpInfoRecord;
 import com.zy.bms.entity.lp.LpInfoState;
 import com.zy.bms.pojo.dto.MqttDTO;
 import com.zy.bms.pojo.dto.WakeAndThreshLpDTO;
 import com.zy.bms.service.IPostMqttMsgService;
+import com.zy.bms.service.lp.ILpInfoRecordService;
 import com.zy.bms.service.lp.ILpInfoStateService;
+import com.zy.bms.utils.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
@@ -26,6 +29,8 @@ public class LpHandlers {
     @Resource
     private ILpInfoStateService lpInfoStateService;
     @Resource
+    private ILpInfoRecordService lpInfoRecordService;
+    @Resource
     private IPostMqttMsgService postMqttMsgService;
 
     /**
@@ -33,15 +38,21 @@ public class LpHandlers {
      */
     public void deviceInfoHandler(String openNum, MqttDTO mqttDTO) {
         try {
-            LpInfoState dbDevice = lpInfoStateService.getByOpenNum(openNum);
-            LpInfoState device = TransformEntity.tsf2LpInfoState(openNum, mqttDTO);
-            if (dbDevice == null) {//若数据库中不存在设备信息直接插入
-                lpInfoStateService.save(device);
+            LpInfoState local = lpInfoStateService.getByOpenNum(openNum);
+            //存储历史记录
+            LpInfoRecord record = TransformEntity.tsf2LpInfoRecord(openNum, mqttDTO);
+            lpInfoRecordService.save(record);
+            //远程数据
+            LpInfoState remote = BeanUtil.cast(record, LpInfoState.class);
+            remote.setUpdateTime(record.getUploadTime());
+            //若数据库中不存在设备信息直接插入
+            if (local == null) {
+                lpInfoStateService.save(remote);
                 return;
             }
             setWakeAndThreshLp(openNum, dbDevice, device);
             //更新数据库设备状态信息
-            lpInfoStateService.update(device, new QueryWrapper<LpInfoState>().eq("open_num", openNum));
+            lpInfoStateService.update(remote, new QueryWrapper<LpInfoState>().eq("open_num", openNum));
         } catch (Exception e) {
             log.error("路牌上传基本信息异常", e);
         }

+ 4 - 3
src/main/java/com/zy/bms/handler/TransformEntity.java

@@ -1,6 +1,7 @@
 package com.zy.bms.handler;
 
 import com.zy.bms.common.Constant;
+import com.zy.bms.entity.lp.LpInfoRecord;
 import com.zy.bms.entity.lp.LpInfoState;
 import com.zy.bms.entity.ubi.UbiInfoRecord;
 import com.zy.bms.entity.ubi.UbiNtrip;
@@ -73,8 +74,8 @@ public class TransformEntity {
     /**
      * 路牌 - 状态信息
      */
-    public static LpInfoState tsf2LpInfoState(String openNum, MqttDTO dto) {
-        LpInfoState result = new LpInfoState();
+    public static LpInfoRecord tsf2LpInfoRecord(String openNum, MqttDTO dto) {
+        LpInfoRecord result = new LpInfoRecord();
         result.setOpenNum(openNum);
         result.setWakeInt(dto.getDouble("sleept") == null ? null : BigDecimal.valueOf(dto.getDouble("sleept")).setScale(2, BigDecimal.ROUND_HALF_UP));
         result.setThresh(dto.getInt("thresh"));
@@ -88,7 +89,7 @@ public class TransformEntity {
         result.setAngley(dto.getString("angley"));
         result.setAnglez(dto.getString("anglez"));
         result.setTemp(dto.getString("temp"));
-        result.setUpdateTime(LocalDateTime.now());
+        result.setUploadTime(LocalDateTime.now());
         //经纬度
         Double lon = dto.getDouble("lon");
         Double lat = dto.getDouble("lat");

+ 14 - 2
src/main/java/com/zy/bms/mapper/DeviceBaseMapper.java

@@ -3,12 +3,11 @@ package com.zy.bms.mapper;
 import com.zy.bms.entity.DeviceBase;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
- * <p>
  * 设备静态信息 Mapper 接口
- * </p>
  *
  * @author yangxiaokun
  * @since 2021-06-01
@@ -17,4 +16,17 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface DeviceBaseMapper extends BaseMapper<DeviceBase> {
 
+    /**
+     * 检查设备码是否存在
+     *
+     * @param openNum 设备码
+     */
+    int checkOpenNum(@Param("openNum") String openNum);
+
+    /**
+     * 通过设备组查询类型
+     *
+     * @param groupId 设备组
+     */
+    String getTypeByGroupId(String groupId);
 }

+ 7 - 0
src/main/java/com/zy/bms/mapper/GroupMapper.java

@@ -35,4 +35,11 @@ public interface GroupMapper extends BaseMapper<Group> {
      * 获取全部的设备组
      */
     List<GroupListVo> getAllList();
+
+    /**
+     * 通过userId 查询设备组
+     *
+     * @param userId 用户ID
+     */
+    List<Group> getByUserId(@Param("userId") Integer userId);
 }

+ 1 - 1
src/main/java/com/zy/bms/mapper/UserPrivilegeMapper.java

@@ -23,7 +23,7 @@ public interface UserPrivilegeMapper extends BaseMapper<UserPrivilege> {
      *
      * @param userId 用户ID
      */
-    List<String> ownGroupIds(@Param("userId") Integer userId);
+    List<String> getGroupIdsByUserId(@Param("userId") Integer userId);
 
     /**
      * 批量保存实体类

+ 14 - 0
src/main/java/com/zy/bms/mapper/lp/LpInfoRecordMapper.java

@@ -0,0 +1,14 @@
+package com.zy.bms.mapper.lp;
+
+import com.zy.bms.entity.lp.LpInfoRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 设备-路牌-历史记录表 Mapper 接口
+ *
+ * @author chenyi
+ * @since 2021-08-26
+ */
+public interface LpInfoRecordMapper extends BaseMapper<LpInfoRecord> {
+
+}

+ 8 - 0
src/main/java/com/zy/bms/mapper/lp/LpInfoStateMapper.java

@@ -29,6 +29,14 @@ public interface LpInfoStateMapper extends BaseMapper<LpInfoState> {
      */
     IPage<LpDeviceListVo> listPage(Page<LpDeviceListVo> page, @Param("io") DeviceIO io);
 
+    /**
+     * 微信端
+     * 通过设备组查询设备
+     *
+     * @param groupId 设备组
+     */
+    List<LpDeviceListVo> listByGroupIdWx(String groupId);
+
     /**
      * 通过用户ID 查询设备集合
      *

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

@@ -24,11 +24,6 @@ import java.util.List;
 @Repository
 public interface UbiInfoStateMapper extends BaseMapper<UbiInfoState> {
 
-    /**
-     * 定时任务,定时更新设备在线状态
-     */
-    void updateStatus();
-
     /**
      * 分页查询设备列表
      *
@@ -48,14 +43,8 @@ public interface UbiInfoStateMapper extends BaseMapper<UbiInfoState> {
      * 微信端
      * 通过设备组分页查询设备列表
      *
-     * @param group 设备组
+     * @param groupId 设备组
      */
-    List<UbiDeviceListVo> listWx(@Param("group") String group);
+    List<UbiDeviceListVo> listByGroupIdWx(@Param("groupId") String groupId);
 
-    /**
-     * 检查设备码是否存在
-     *
-     * @param openNum 设备码
-     */
-    int checkOpenNum(@Param("openNum") String openNum);
 }

+ 31 - 0
src/main/java/com/zy/bms/pojo/vo/LpChartsDataVO.java

@@ -0,0 +1,31 @@
+package com.zy.bms.pojo.vo;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 路牌,表格数据视图
+ *
+ * @author yang xiao kun
+ * create on 2021/8/26
+ */
+@Data
+public class LpChartsDataVO {
+    private String x;
+
+    private String y;
+
+    private String z;
+
+    private String anglex;
+
+    private String angley;
+
+    private String anglez;
+
+    /**
+     * 时间
+     */
+    private LocalDateTime time;
+}

+ 5 - 0
src/main/java/com/zy/bms/pojo/vo/LpDeviceListVo.java

@@ -132,4 +132,9 @@ public class LpDeviceListVo {
      * 数据更新时间
      */
     private LocalDateTime updateTime;
+
+    public Integer getStatus() {
+        if (updateTime == null || wakeInt == null) return 0;
+        return LocalDateTime.now().isAfter(updateTime.plusMinutes(wakeInt.multiply(BigDecimal.valueOf(60)).intValue() + 3)) ? 0 : 1;
+    }
 }

+ 12 - 2
src/main/java/com/zy/bms/pojo/vo/UbiDeviceDetailVo.java

@@ -1,5 +1,6 @@
 package com.zy.bms.pojo.vo;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import com.zy.bms.entity.ubi.UbiNtrip;
 import com.zy.bms.entity.ubi.UbiTcp;
 import lombok.Data;
@@ -23,9 +24,9 @@ public class UbiDeviceDetailVo {
     private String openNum;
 
     /**
-     * 1在线,0离线
+     * 数据发送频率
      */
-    private Integer status;
+    private Integer freq;
 
     /**
      * 电压
@@ -50,21 +51,25 @@ public class UbiDeviceDetailVo {
     /**
      * 经度
      */
+    @JSONField(format = "#.######")
     private Double lat;
 
     /**
      * 纬度
      */
+    @JSONField(format = "#.######")
     private Double lon;
 
     /**
      * 经度
      */
+    @JSONField(format = "#.######")
     private Double latGcj;
 
     /**
      * 纬度
      */
+    @JSONField(format = "#.######")
     private Double lonGcj;
 
     /**
@@ -80,4 +85,9 @@ public class UbiDeviceDetailVo {
      * TCP 链路设置
      */
     List<UbiTcp> ubiTcpList;
+
+    public Integer getStatus() {
+        if (updateTime == null || freq == null) return 0;
+        return LocalDateTime.now().isAfter(updateTime.plusSeconds(freq + 500)) ? 0 : 1;
+    }
 }

+ 15 - 11
src/main/java/com/zy/bms/pojo/vo/UbiDeviceListVo.java

@@ -1,12 +1,12 @@
 package com.zy.bms.pojo.vo;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 /**
- * 普适
+ * 普适
  * 设备基础信息,状态信息Vo
  *
  * @author yang xiao kun
@@ -43,11 +43,6 @@ public class UbiDeviceListVo {
      */
     private LocalDateTime createTime;
 
-    /**
-     * 1在线,0离线
-     */
-    private Integer status;
-
     /**
      * 心跳包间隔,单位:秒
      */
@@ -71,22 +66,26 @@ public class UbiDeviceListVo {
     /**
      * 经度
      */
-    private BigDecimal lon;
+    @JSONField(format = "#.######")
+    private Double lon;
 
     /**
      * 纬度
      */
-    private BigDecimal lat;
+    @JSONField(format = "#.######")
+    private Double lat;
 
     /**
      * 经度(Gcj)
      */
-    private BigDecimal lonGcj;
+    @JSONField(format = "#.######")
+    private Double lonGcj;
 
     /**
      * 纬度(Gcj)
      */
-    private BigDecimal latGcj;
+    @JSONField(format = "#.######")
+    private Double latGcj;
 
     /**
      * 卫星颗数
@@ -97,4 +96,9 @@ public class UbiDeviceListVo {
      * 数据更新时间
      */
     private LocalDateTime updateTime;
+
+    public Integer getStatus() {
+        if (updateTime == null || freq == null) return 0;
+        return LocalDateTime.now().isAfter(updateTime.plusSeconds(freq + 500)) ? 0 : 1;
+    }
 }

+ 24 - 2
src/main/java/com/zy/bms/service/IDeviceBaseService.java

@@ -3,14 +3,36 @@ package com.zy.bms.service;
 import com.zy.bms.entity.DeviceBase;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
- * <p>
  * 设备静态信息 服务类
- * </p>
  *
  * @author yangxiaokun
  * @since 2021-06-01
  */
 public interface IDeviceBaseService extends IService<DeviceBase> {
 
+    /**
+     * 校验设备码是否存在
+     *
+     * @param openNum 设备码
+     */
+    boolean checkOpenNum(String openNum);
+
+    /**
+     * 微信
+     * 通过设备组查询设备集合
+     *
+     * @param groupId 设备组
+     */
+    List listByGroupIdWx(String groupId);
+
+    /**
+     * 微信
+     * 获取设备详情
+     *
+     * @param openNum 设备码
+     */
+    Object getDetailWx(String openNum);
 }

+ 7 - 0
src/main/java/com/zy/bms/service/IGroupService.java

@@ -29,4 +29,11 @@ public interface IGroupService extends IService<Group> {
      * 获取全部的设备组
      */
     List<GroupListVo> getAllList();
+
+    /**
+     * 通过userId 查询设备组
+     *
+     * @param userId 用户ID
+     */
+    List<Group> getByUserId(Integer userId);
 }

+ 1 - 1
src/main/java/com/zy/bms/service/IUserPrivilegeService.java

@@ -22,7 +22,7 @@ public interface IUserPrivilegeService extends IService<UserPrivilege> {
      *
      * @param userId 用户ID
      */
-    List<String> ownGroupIds(Integer userId);
+    List<String> getGroupIdsByUserId(Integer userId);
 
     /**
      * 通过用户Id 查询全部的设备组

+ 46 - 2
src/main/java/com/zy/bms/service/impl/DeviceBaseServiceImpl.java

@@ -1,15 +1,21 @@
 package com.zy.bms.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.zy.bms.common.Constant;
 import com.zy.bms.entity.DeviceBase;
+import com.zy.bms.entity.lp.LpInfoState;
 import com.zy.bms.mapper.DeviceBaseMapper;
 import com.zy.bms.service.IDeviceBaseService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zy.bms.service.lp.ILpInfoStateService;
+import com.zy.bms.service.ubi.IUbiInfoStateService;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 /**
- * <p>
  * 设备静态信息 服务实现类
- * </p>
  *
  * @author yangxiaokun
  * @since 2021-06-01
@@ -17,4 +23,42 @@ import org.springframework.stereotype.Service;
 @Service
 public class DeviceBaseServiceImpl extends ServiceImpl<DeviceBaseMapper, DeviceBase> implements IDeviceBaseService {
 
+    @Resource
+    private IUbiInfoStateService ubiInfoStateService;
+
+    @Resource
+    private ILpInfoStateService lpInfoStateService;
+
+    @Override
+    public boolean checkOpenNum(String openNum) {
+        return baseMapper.checkOpenNum(openNum) > 0;
+    }
+
+    @Override
+    public List listByGroupIdWx(String groupId) {
+        String type = baseMapper.getTypeByGroupId(groupId);
+        switch (type) {
+            case Constant.TYPE.UBI: {
+                return ubiInfoStateService.listByGroupIdWx(groupId);
+            }
+            case Constant.TYPE.LP: {
+                return lpInfoStateService.listByGroupIdWx(groupId);
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public Object getDetailWx(String openNum) {
+        String type = baseMapper.selectOne(new QueryWrapper<DeviceBase>().eq("open_num", openNum)).getType();
+        switch (type) {
+            case Constant.TYPE.UBI: {
+                return ubiInfoStateService.getDetailWx(openNum);
+            }
+            case Constant.TYPE.LP: {
+                return lpInfoStateService.getOne(new QueryWrapper<LpInfoState>().eq("open_num", openNum));
+            }
+        }
+        return null;
+    }
 }

+ 5 - 0
src/main/java/com/zy/bms/service/impl/GroupServiceImpl.java

@@ -31,4 +31,9 @@ public class GroupServiceImpl extends ServiceImpl<GroupMapper, Group> implements
     public List<GroupListVo> getAllList() {
         return baseMapper.getAllList();
     }
+
+    @Override
+    public List<Group> getByUserId(Integer userId) {
+        return baseMapper.getByUserId(userId);
+    }
 }

+ 3 - 3
src/main/java/com/zy/bms/service/impl/UserPrivilegeServiceImpl.java

@@ -30,14 +30,14 @@ public class UserPrivilegeServiceImpl extends ServiceImpl<UserPrivilegeMapper, U
 
 
     @Override
-    public List<String> ownGroupIds(Integer userId) {
-        return baseMapper.ownGroupIds(userId);
+    public List<String> getGroupIdsByUserId(Integer userId) {
+        return baseMapper.getGroupIdsByUserId(userId);
     }
 
     @Override
     public Map<String, List<GroupListVo>> getGroupByUserId(Integer userId) {
         List<GroupListVo> allGroup = groupService.getAllList();
-        HashSet<String> ownGroup = new HashSet<>(baseMapper.ownGroupIds(userId));
+        HashSet<String> ownGroup = new HashSet<>(baseMapper.getGroupIdsByUserId(userId));
         return allGroup.stream().filter(item -> !ownGroup.contains(item.getCode()))
                 .collect(Collectors.groupingBy(GroupListVo::getItem));
     }

+ 16 - 0
src/main/java/com/zy/bms/service/lp/ILpInfoRecordService.java

@@ -0,0 +1,16 @@
+package com.zy.bms.service.lp;
+
+import com.zy.bms.entity.lp.LpInfoRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 设备-路牌-历史记录表 服务类
+ * </p>
+ *
+ * @author chenyi
+ * @since 2021-08-26
+ */
+public interface ILpInfoRecordService extends IService<LpInfoRecord> {
+
+}

+ 8 - 0
src/main/java/com/zy/bms/service/lp/ILpInfoStateService.java

@@ -30,6 +30,14 @@ public interface ILpInfoStateService extends IService<LpInfoState> {
      */
     List<LpInfoState> listByUserId(Integer userId);
 
+    /**
+     * 微信端
+     * 通过设备组查询设备
+     *
+     * @param groupId 设备组
+     */
+    List<LpDeviceListVo> listByGroupIdWx(String groupId);
+
     /**
      * 通过设备ID获取设备信息
      *

+ 18 - 0
src/main/java/com/zy/bms/service/lp/impl/LpInfoRecordServiceImpl.java

@@ -0,0 +1,18 @@
+package com.zy.bms.service.lp.impl;
+
+import com.zy.bms.entity.lp.LpInfoRecord;
+import com.zy.bms.mapper.lp.LpInfoRecordMapper;
+import com.zy.bms.service.lp.ILpInfoRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * 设备-路牌-历史记录表 服务实现类
+ *
+ * @author chenyi
+ * @since 2021-08-26
+ */
+@Service
+public class LpInfoRecordServiceImpl extends ServiceImpl<LpInfoRecordMapper, LpInfoRecord> implements ILpInfoRecordService {
+
+}

+ 5 - 0
src/main/java/com/zy/bms/service/lp/impl/LpInfoStateServiceImpl.java

@@ -40,6 +40,11 @@ public class LpInfoStateServiceImpl extends ServiceImpl<LpInfoStateMapper, LpInf
         return baseMapper.listByUserId(userId);
     }
 
+    @Override
+    public List<LpDeviceListVo> listByGroupIdWx(String groupId) {
+        return baseMapper.listByGroupIdWx(groupId);
+    }
+
     @Override
     public LpInfoState getByOpenNum(String openNum) {
         return baseMapper.selectOne(new QueryWrapper<LpInfoState>().eq("open_num", openNum));

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

@@ -19,10 +19,6 @@ import java.util.List;
  * @since 2021-06-01
  */
 public interface IUbiInfoStateService extends IService<UbiInfoState> {
-    /**
-     * 定时任务,定时更新设备在线状态
-     */
-    void updateStatus();
 
     /**
      * 分页查询设备列表
@@ -41,11 +37,11 @@ public interface IUbiInfoStateService extends IService<UbiInfoState> {
 
     /**
      * 微信端
-     * 通过用户ID分页查询该用户拥有权限的设备列表
+     * 通过设备组查询设备
      *
-     * @param group 设备组
+     * @param groupId 设备组
      */
-    List<UbiDeviceListVo> listWx(String group);
+    List<UbiDeviceListVo> listByGroupIdWx(String groupId);
 
     /**
      * 微信端
@@ -55,10 +51,4 @@ public interface IUbiInfoStateService extends IService<UbiInfoState> {
      */
     UbiDeviceDetailVo getDetailWx(String openNum);
 
-    /**
-     * 校验设备码是否存在
-     *
-     * @param openNum 设备码
-     */
-    boolean checkOpenNum(String openNum);
 }

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

@@ -5,11 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.bms.entity.ubi.UbiInfoState;
 import com.zy.bms.mapper.ubi.UbiInfoStateMapper;
 import com.zy.bms.pojo.io.DeviceIO;
-import com.zy.bms.pojo.io.PageIO;
 import com.zy.bms.pojo.vo.UbiDeviceDetailVo;
 import com.zy.bms.pojo.vo.UbiDeviceListVo;
-import com.zy.bms.service.IUserPrivilegeService;
-import com.zy.bms.service.IUserService;
 import com.zy.bms.service.ubi.IUbiInfoStateService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zy.bms.service.ubi.IUbiNtripService;
@@ -17,12 +14,10 @@ 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;
 
 /**
- * 普适
+ * 普适
  * 设备动态信息表 服务实现类
  *
  * @author yangxiaokun
@@ -36,11 +31,6 @@ public class UbiInfoStateServiceImpl extends ServiceImpl<UbiInfoStateMapper, Ubi
     @Resource
     private IUbiNtripService ntripSetService;
 
-    @Override
-    public void updateStatus() {
-        baseMapper.updateStatus();
-    }
-
     @Override
     public IPage<UbiDeviceListVo> listPage(DeviceIO io) {
         Page<UbiDeviceListVo> page = new Page<>(io.getCurrent(), io.getSize());
@@ -56,8 +46,8 @@ public class UbiInfoStateServiceImpl extends ServiceImpl<UbiInfoStateMapper, Ubi
     }
 
     @Override
-    public List<UbiDeviceListVo> listWx(String group) {
-        return baseMapper.listWx(group);
+    public List<UbiDeviceListVo> listByGroupIdWx(String groupId) {
+        return baseMapper.listByGroupIdWx(groupId);
     }
 
     @Override
@@ -65,8 +55,4 @@ public class UbiInfoStateServiceImpl extends ServiceImpl<UbiInfoStateMapper, Ubi
         return baseMapper.getDetail(openNum);
     }
 
-    @Override
-    public boolean checkOpenNum(String openNum) {
-        return baseMapper.checkOpenNum(openNum) > 0;
-    }
 }

+ 7 - 0
src/main/resources/mapper/DeviceBaseMapper.xml

@@ -2,4 +2,11 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.bms.mapper.DeviceBaseMapper">
 
+    <select id="checkOpenNum" resultType="java.lang.Integer">
+        SELECT IFNULL((SELECT 1 FROM device_base WHERE open_num = #{openNum} LIMIT 1), 0)
+    </select>
+
+    <select id="getTypeByGroupId" resultType="java.lang.String">
+        SELECT type FROM device_base WHERE group_id = #{group_id} LIMIT 1
+    </select>
 </mapper>

+ 21 - 11
src/main/resources/mapper/GroupMapper.xml

@@ -4,14 +4,14 @@
 
     <select id="listPage" resultType="com.zy.bms.pojo.vo.GroupListVo">
         SELECT
-            t1.id,
-            t1.code,
-            t1.name,
-            t1.remark,
-            t1.status,
-            t1.create_time,
-            t2.name             AS item,
-            t2.id               AS itemId
+        t1.id,
+        t1.code,
+        t1.name,
+        t1.remark,
+        t1.status,
+        t1.create_time,
+        t2.name AS item,
+        t2.id AS itemId
         FROM item_group t1
         LEFT JOIN item t2 ON t1.item_id = t2.id
         <where>
@@ -31,11 +31,21 @@
 
     <select id="getAllList" resultType="com.zy.bms.pojo.vo.GroupListVo">
         SELECT
-            t1.code,
-            t1.name,
-            t2.name AS item
+        t1.code,
+        t1.name,
+        t2.name AS item
         FROM item_group t1
         LEFT JOIN item t2 ON t1.item_id = t2.id
     </select>
 
+    <select id="getByUserId" resultType="com.zy.bms.entity.Group">
+        SELECT
+            *
+        FROM
+            item_group
+        WHERE
+            `code` IN (SELECT group_id FROM user_privilege WHERE userId = #{userId})
+            AND `status` = 1
+    </select>
+
 </mapper>

+ 5 - 0
src/main/resources/mapper/LpInfoRecordMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.bms.mapper.lp.LpInfoRecordMapper">
+
+</mapper>

+ 13 - 0
src/main/resources/mapper/LpInfoStateMapper.xml

@@ -32,6 +32,19 @@
         WHERE t1.group_id IN (SELECT group_id FROM user_privilege WHERE user_id = #{userId})
     </select>
 
+    <select id="listByGroupIdWx" resultType="com.zy.bms.pojo.vo.LpDeviceListVo">
+        SELECT
+            t1.open_num,
+            t2.wake_int,
+            t2.update_time
+        FROM
+            device_base t1
+        LEFT JOIN
+            lp_info_state t2 ON t1.open_num = t2.open_num
+        WHERE
+            t1.type = "lupai" AND t1.group_id = #{group}
+    </select>
+
     <update id="updateWakeAndThresh">
         UPDATE
             lp_info_state

+ 10 - 22
src/main/resources/mapper/UbiInfoStateMapper.xml

@@ -2,14 +2,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.bms.mapper.ubi.UbiInfoStateMapper">
 
-    <update id="updateStatus">
-        UPDATE
-            ubi_info_state
-        SET status = 0
-        WHERE
-            TIMESTAMPDIFF(SECOND, update_time, NOW()) > (freq + 120)
-    </update>
-
     <select id="listPage" resultType="com.zy.bms.pojo.vo.UbiDeviceListVo">
         SELECT
             t1.open_num,
@@ -37,29 +29,25 @@
     </select>
 
     <select id="getDetail" resultType="com.zy.bms.pojo.vo.UbiDeviceDetailVo">
-        SELECT t1.open_num,
-               t2.*
+        SELECT
+            *
         FROM
-            device_base t1
-        LEFT JOIN
-            ubi_info_state t2 ON t1.open_num = t2.open_num
+            ubi_info_state
         WHERE
-            t1.type = "gnss" AND t1.open_num = #{openNum}
+            open_num = #{openNum}
     </select>
 
-    <select id="listWx" resultType="com.zy.bms.pojo.vo.UbiDeviceListVo">
-        SELECT t1.open_num,
-               t1.create_time,
-               t2.status
+    <select id="listByGroupIdWx" resultType="com.zy.bms.pojo.vo.UbiDeviceListVo">
+        SELECT
+            t1.open_num,
+            t2.freq,
+            t2.update_time
         FROM
             device_base t1
         LEFT JOIN
             ubi_info_state t2 ON t1.open_num = t2.open_num
         WHERE
-            t1.type = "gnss" t1.group_id = #{group}
+            t1.type = "gnss" AND t1.group_id = #{group}
     </select>
 
-    <select id="checkOpenNum" resultType="java.lang.Integer">
-        SELECT IFNULL((SELECT 1 FROM device_base WHERE open_num = #{openNum} LIMIT 1), 0)
-    </select>
 </mapper>

+ 1 - 1
src/test/java/com/zy/bms/MybatisPlusGenerator.java

@@ -18,7 +18,7 @@ public class MybatisPlusGenerator {
     private static final String username = "useryxk";
     private static final String password = "CHENyi406@";
     private static final String moduleName = "builder";
-    private static final String[] tables = {"user_privilege"};
+    private static final String[] tables = {"lp_info_record"};
 
 
     public static void main(String[] args) {