Parcourir la source

设备统计状态数量

李进 il y a 2 ans
Parent
commit
8a14f07531

+ 5 - 0
device-api-service/src/main/java/com/xy/mapper/entity/DeviceStatusCount.java

@@ -7,6 +7,11 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 public class DeviceStatusCount {
 
+    /**
+     * 设备总数
+     */
+    private Integer deviceCount;
+
     /**
      * 运营状态数量
      */

+ 17 - 1
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -48,6 +48,8 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
 
     private final RedisService<String> redisService;
 
+    private String keyPrefix = "device:history:";
+
     @Override
     @ApiOperation("对象查询")
     public R<DeviceInfoDto.Vo> obj(DeviceInfoDto.Obj obj) {
@@ -85,7 +87,7 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         SysDictRedis sysDictRedis = SysDictUtils.get(DeviceEnum.DATA_CLEAR_SIZE.getKey(), "device_history_twig");
         Integer value = Integer.valueOf(sysDictRedis.getValue());
         //获取redis
-        String key = "device:history:" + AuthorizeUtils.getLoginId(Long.class);
+        String key = keyPrefix + AuthorizeUtils.getLoginId(Long.class);
         List<String> list = redisService.getList(key);
         list.add(0, String.valueOf(obj.getDeviceId()));
         //去重
@@ -103,6 +105,20 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         return R.ok();
     }
 
+    @PostMapping("historyList")
+    @ApiOperation("设备访问历史查询")
+    public R<List<DeviceInfoDto.Vo>> historyList() {
+        //获取redis
+        String key = keyPrefix + AuthorizeUtils.getLoginId(Long.class);
+        List<String> deviceIds = redisService.getList(key);
+        if (!Emptys.check(deviceIds)) {
+            return R.ok();
+        }
+        //查询数据库
+        List<DeviceInfo> list = list(new LambdaQueryWrapper<DeviceInfo>().in(DeviceInfo::getDeviceId, deviceIds));
+        return R.ok(copy(DeviceInfoDto.Vo.class, list));
+    }
+
     @ApiOperation("修改")
     @PostMapping("update")
     public R update(@RequestBody @Validated DeviceInfoDto.Update update) {

+ 1 - 0
device-api-service/src/main/resources/mapper/DeviceStatusMapper.xml

@@ -5,6 +5,7 @@
     <!-- 统计状态数量 -->
     <select id="statusCount" resultType="com.xy.mapper.entity.DeviceStatusCount">
         select
+        (select count(*) device_count from device_info) deviceCount,
         (select count(*) busy_state from device_info where busy_state = 1) busyState,
         (select count(*) net_state from device_status where net_state = 0) netState,
         (select count(*) device_state from device_status where device_state = 1) deviceState,