Quellcode durchsuchen

动环上报日志代码提交

jingyuanchao vor 1 Jahr
Ursprung
Commit
d4e9a2eae6

+ 53 - 33
project_data/sql/0.1.1/soc/soc.sql

@@ -849,43 +849,63 @@ CREATE TABLE `iot_device_info`  (
 -- ----------------------------
 DROP TABLE IF EXISTS `iot_device_info_extend`;
 CREATE TABLE `iot_device_info_extend`  (
-                                           `id` bigint(0) NOT NULL COMMENT '主键',
-                                           `device_id` bigint(0) NOT NULL COMMENT '设备id',
-                                           `user_name` varchar(100) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL COMMENT '登录用户名',
-                                           `password` varchar(100) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL COMMENT '登录密码',
-                                           `port` int(0) NULL DEFAULT NULL COMMENT '端口',
-                                           `net_address` varchar(20) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL COMMENT 'ip地址',
-                                           `deleted` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除状态',
-                                           `iot_token` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'iot服务token',
-                                           `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
-                                           `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
-                                           `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
-                                           `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
-                                           PRIMARY KEY (`id`) USING BTREE
+           `id` bigint(0) NOT NULL COMMENT '主键',
+           `device_id` bigint(0) NOT NULL COMMENT '设备id',
+           `user_name` varchar(100) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL COMMENT '登录用户名',
+           `password` varchar(100) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL COMMENT '登录密码',
+           `port` int(0) NULL DEFAULT NULL COMMENT '端口',
+           `net_address` varchar(20) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL COMMENT 'ip地址',
+           `deleted` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除状态',
+           `iot_token` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'iot服务token',
+           `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
+           `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+           `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
+           `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
+           PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
 
 DROP TABLE IF EXISTS `iot_device_status`;
 CREATE TABLE `iot_device_status` (
-                                     `id` bigint NOT NULL,
-                                     `device_id` bigint DEFAULT NULL COMMENT '设备id',
-                                     `device_product` varchar(62) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备品牌',
-                                     `device_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备编码',
-                                     `device_type` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备类型',
-                                     `device_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备名称',
-                                     `iot_token` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'iot服务唯一编码',
-                                     `unique_code` varchar(225) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备编码',
-                                     `org_id` bigint DEFAULT NULL COMMENT '机构id',
-                                     `org_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '机构名称',
-                                     `org_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '机构路径',
-                                     `info` text COLLATE utf8mb4_general_ci COMMENT '设备状态数据',
-                                     `state_update_time` datetime DEFAULT NULL COMMENT '最后一次状态更新时间',
-                                     `state_start_time` datetime DEFAULT NULL COMMENT '状态更新开始时间',
-                                     `state` int DEFAULT 2 COMMENT '告警状态,0:正常,1:告警,2:未知',
-                                     `create_time` datetime DEFAULT NULL COMMENT '创建时间',
-                                     `update_time` datetime DEFAULT NULL COMMENT '修改时间',
-                                     `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
-                                     `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
-                                     PRIMARY KEY (`id`)
+         `id` bigint NOT NULL,
+         `device_id` bigint DEFAULT NULL COMMENT '设备id',
+         `device_product` varchar(62) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备品牌',
+         `device_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备编码',
+         `device_type` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备类型',
+         `device_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备名称',
+         `iot_token` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'iot服务唯一编码',
+         `unique_code` varchar(225) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备编码',
+         `org_id` bigint DEFAULT NULL COMMENT '机构id',
+         `org_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '机构名称',
+         `org_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '机构路径',
+         `info` text COLLATE utf8mb4_general_ci COMMENT '设备状态数据',
+         `state_update_time` datetime DEFAULT NULL COMMENT '最后一次状态更新时间',
+         `state_start_time` datetime DEFAULT NULL COMMENT '状态更新开始时间',
+         `state` int DEFAULT 2 COMMENT '告警状态,0:正常,1:告警,2:未知',
+         `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+         `update_time` datetime DEFAULT NULL COMMENT '修改时间',
+         `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
+         `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
+         PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+
+drop table if exists iot_device_status_log;
+CREATE TABLE `iot_device_status_log` (
+         `id` bigint NOT NULL,
+         `device_status_id` bigint DEFAULT NULL COMMENT '设备id',
+         `device_id` bigint DEFAULT NULL COMMENT '设备id',
+         `device_product` varchar(62) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备品牌',
+         `device_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备编码',
+         `device_type` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备类型',
+         `device_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备名称',
+         `iot_token` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'iot服务唯一编码',
+         `unique_code` varchar(225) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备编码',
+         `org_id` bigint DEFAULT NULL COMMENT '机构id',
+         `org_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '机构名称',
+         `org_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '机构路径',
+         `info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '设备状态数据',
+         `state` int DEFAULT '2' COMMENT '告警状态,0:正常,1:告警,2:未知',
+         `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+         PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
 
 

+ 80 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/domain/iot/IotDeviceStatusLog.java

@@ -0,0 +1,80 @@
+package com.xunmei.system.api.domain.iot;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * @author jingyuanchao
+ * @date 2024/8/12 16:03
+ */
+
+@Data
+@TableName("iot_device_status_log")
+public class IotDeviceStatusLog {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId
+    private Long id;
+
+    @TableField(value = "device_status_id")
+    @ApiModelProperty(value = "主表id")
+    private Long deviceStatusId;
+
+    @TableField(value = "device_id")
+    @ApiModelProperty(value = "设备id")
+    private Long deviceId;
+
+    @TableField(value = "device_product")
+    @ApiModelProperty(value = "设备品牌")
+    private String deviceProduct;
+
+    @TableField(value = "device_code")
+    @ApiModelProperty(value = "设备编码")
+    private String deviceCode;
+
+    @TableField(value = "device_type")
+    @ApiModelProperty(value = "设备类型")
+    private String deviceType;
+
+    @TableField(value = "device_name")
+    @ApiModelProperty(value = "设备名称")
+    private String deviceName;
+
+    @TableField(value = "iot_token")
+    @ApiModelProperty(value = "iot服务唯一编码")
+    private String iotToken;
+
+    @TableField(value = "unique_code")
+    @ApiModelProperty(value = "设备唯一编码")
+    private String uniqueCode;
+
+    @TableField(value = "org_id")
+    @ApiModelProperty(value = "机构id")
+    private Long orgId;
+
+    @TableField(value = "org_name")
+    @ApiModelProperty(value = "机构名称")
+    private String orgName;
+
+    @TableField(value = "org_path")
+    @ApiModelProperty(value = "机构路径")
+    private String orgPath;
+
+    @TableField(value = "info")
+    @ApiModelProperty(value = "设备状态数据")
+    private String info;
+
+    @TableField(value = "create_time")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+}

+ 12 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/iot/mapper/IotDeviceStatusLogMapper.java

@@ -0,0 +1,12 @@
+package com.xunmei.host.iot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xunmei.system.api.domain.iot.IotDeviceInfo;
+import com.xunmei.system.api.domain.iot.IotDeviceStatusLog;
+
+/**
+ * @author jingyuanchao
+ * @date 2024/8/12 16:06
+ */
+public interface IotDeviceStatusLogMapper extends BaseMapper<IotDeviceStatusLog> {
+}

+ 19 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/iot/service/IotDeviceStatusLogService.java

@@ -0,0 +1,19 @@
+package com.xunmei.host.iot.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xunmei.host.websocket.dto.WebsocketExecuteReq;
+import com.xunmei.system.api.domain.iot.IotDeviceStatus;
+import com.xunmei.system.api.domain.iot.IotDeviceStatusLog;
+
+/**
+ * 【请填写功能名称】Service接口
+ *
+ * @author xunmei
+ * @date 2024-07-18
+ */
+public interface IotDeviceStatusLogService extends IService<IotDeviceStatusLog> {
+
+
+    void saveLog(IotDeviceStatus status);
+}

+ 1 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/iot/service/IotDeviceStatusService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.host.websocket.dto.WebsocketExecuteReq;
 import com.xunmei.host.websocket.dto.WebsocketResult;
 import com.xunmei.system.api.domain.iot.IotDeviceStatus;
+import com.xunmei.system.api.domain.iot.IotDeviceStatusLog;
 
 /**
  * 【请填写功能名称】Service接口

+ 28 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/iot/service/impl/IotDeviceStatusLogServiceImpl.java

@@ -0,0 +1,28 @@
+package com.xunmei.host.iot.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.utils.bean.BeanUtils;
+import com.xunmei.host.iot.mapper.IotDeviceStatusLogMapper;
+import com.xunmei.host.iot.service.IotDeviceStatusLogService;
+import com.xunmei.system.api.domain.iot.IotDeviceStatus;
+import com.xunmei.system.api.domain.iot.IotDeviceStatusLog;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author jingyuanchao
+ * @date 2024/8/12 16:05
+ */
+@Service
+public class IotDeviceStatusLogServiceImpl extends ServiceImpl<IotDeviceStatusLogMapper, IotDeviceStatusLog> implements IotDeviceStatusLogService {
+
+
+    @Override
+    public void saveLog(IotDeviceStatus status) {
+        final IotDeviceStatusLog statusLog = new IotDeviceStatusLog();
+        BeanUtils.copyProperties(status, statusLog,"id");
+        statusLog.setId(IdWorker.getId());
+        statusLog.setDeviceStatusId(status.getId());
+        this.save(statusLog);
+    }
+}

+ 5 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/iot/service/impl/IotDeviceStatusServiceImpl.java

@@ -19,6 +19,7 @@ import com.xunmei.host.alarm.service.IotAlarmDataService;
 import com.xunmei.host.iot.dto.AlarmDataReq;
 import com.xunmei.host.iot.mapper.IotDeviceStatusMapper;
 import com.xunmei.host.iot.service.IIotDeviceInfoService;
+import com.xunmei.host.iot.service.IotDeviceStatusLogService;
 import com.xunmei.host.iot.service.IotDeviceStatusService;
 import com.xunmei.host.server.service.IotServerInfoService;
 import com.xunmei.host.websocket.constant.WebSocketConstants;
@@ -38,6 +39,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -63,6 +65,8 @@ public class IotDeviceStatusServiceImpl extends ServiceImpl<IotDeviceStatusMappe
     private IotAlarmSystemFieldMapper alarmSystemFieldMapper;
     @Autowired
     private IotAlarmDataService iotAlarmDataService;
+    @Resource
+    private IotDeviceStatusLogService deviceStatusLogService;
 
     @Override
     public IotDeviceStatus getByDeviceId(Long deviceId) {
@@ -243,6 +247,7 @@ public class IotDeviceStatusServiceImpl extends ServiceImpl<IotDeviceStatusMappe
             status.setInfo(JSON.toJSONString(array));
             updateById(status);
         }
+        deviceStatusLogService.saveLog(status);
         return null;
     }
 }

+ 0 - 12
soc-modules/soc-modules-iot/pom.xml

@@ -86,18 +86,6 @@
             <version>${freemarker.version}</version>
         </dependency>
 
-        <!--代码生成器包-->
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-generator</artifactId>
-            <version>${generator.version}</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>mybatis-plus-extension</artifactId>
-                    <groupId>com.baomidou</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
         <!--lombok-->
         <dependency>
             <groupId>org.projectlombok</groupId>

+ 8 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/IotSensorController.java

@@ -8,6 +8,7 @@ import com.xunmei.iot.dto.dvrDisk.DvrDiskPageDto;
 import com.xunmei.iot.dto.sensor.SensorPageDto;
 import com.xunmei.iot.service.IIotCommonSensorService;
 import com.xunmei.iot.vo.dvrDisk.DvrDiskPageVo;
+import com.xunmei.iot.vo.sensor.IotDeviceStatusLogPageVo;
 import com.xunmei.iot.vo.sensor.SensorPageVo;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -44,6 +45,13 @@ public class IotSensorController {
         return page;
     }
 
+    @ApiOperation("动环设备上报历史数据分页")
+    @PostMapping({"/data/log"})
+    TableDataInfo<IotDeviceStatusLogPageVo> webLogPageData(@RequestBody final SensorPageDto request) {
+        final TableDataInfo<IotDeviceStatusLogPageVo> page = this.sensorService.selectDeviceStatusLogPage(request);
+        return page;
+    }
+
 
     @ApiOperation(value = "导出动环设备")
     @Log(title = "导出动环设备", businessType = BusinessType.EXPORT)

+ 16 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/mapper/IotDeviceStatusLogMapper.java

@@ -0,0 +1,16 @@
+package com.xunmei.iot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.iot.dto.sensor.SensorPageDto;
+import com.xunmei.iot.vo.sensor.IotDeviceStatusLogPageVo;
+import com.xunmei.system.api.domain.iot.IotDeviceStatusLog;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author jingyuanchao
+ * @date 2024/8/12 16:06
+ */
+public interface IotDeviceStatusLogMapper extends BaseMapper<IotDeviceStatusLog> {
+    Page<IotDeviceStatusLogPageVo> selectPageData(Page<IotDeviceStatusLogPageVo> pageRequest, @Param("req") SensorPageDto request);
+}

+ 2 - 4
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/IIotCommonSensorService.java

@@ -4,11 +4,8 @@ import com.xunmei.common.core.domain.iot.domain.IotSensor;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.iot.dto.sensor.SensorAppPageDto;
-import com.xunmei.iot.vo.sensor.SensorAppStateVo;
+import com.xunmei.iot.vo.sensor.*;
 import com.xunmei.iot.dto.sensor.SensorPageDto;
-import com.xunmei.iot.vo.sensor.SensorAppPageVo;
-import com.xunmei.iot.vo.sensor.SensorAppVo;
-import com.xunmei.iot.vo.sensor.SensorPageVo;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
@@ -26,6 +23,7 @@ public interface IIotCommonSensorService extends IService<IotSensor> {
     TableDataInfo<SensorPageVo> selectSensorDataPage(SensorPageDto request);
 
     TableDataInfo<SensorPageVo> selectSensorLogDataPage(SensorPageDto request);
+    TableDataInfo<IotDeviceStatusLogPageVo> selectDeviceStatusLogPage(SensorPageDto request);
 
     void export(SensorPageDto request, HttpServletResponse response);
 

+ 17 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotCommonSensorServiceImpl.java

@@ -23,6 +23,7 @@ import com.xunmei.iot.dto.sensor.SensorAppPageDto;
 import com.xunmei.iot.dto.sensor.SensorPageDto;
 import com.xunmei.iot.mapper.IotCommonSensorMapper;
 import com.xunmei.iot.mapper.IotDeviceInfoMapper;
+import com.xunmei.iot.mapper.IotDeviceStatusLogMapper;
 import com.xunmei.iot.mapper.IotDeviceStatusMapper;
 import com.xunmei.iot.service.IIotCommonSensorService;
 import com.xunmei.iot.vo.sensor.*;
@@ -64,7 +65,8 @@ public class IotCommonSensorServiceImpl extends ServiceImpl<IotCommonSensorMappe
     private IotDeviceStatusMapper deviceStatusMapper;
     @Resource
     private IotDeviceInfoMapper deviceInfoMapper;
-
+    @Resource
+    private IotDeviceStatusLogMapper deviceStatusLogMapper;
 
     @Override
     public TableDataInfo<SensorPageVo> selectSensorDataPage(SensorPageDto request) {
@@ -103,6 +105,20 @@ public class IotCommonSensorServiceImpl extends ServiceImpl<IotCommonSensorMappe
     }
 
     @Override
+    public TableDataInfo<IotDeviceStatusLogPageVo> selectDeviceStatusLogPage(SensorPageDto request) {
+        dealPageParam(request);
+        if (ObjectUtil.isEmpty(request.getDeviceCode())) {
+            throw new RuntimeException("设备编码不能为空!");
+        }
+        Page<IotDeviceStatusLogPageVo> page = deviceStatusLogMapper.selectPageData(request.getPageRequest(), request);
+        for (IotDeviceStatusLogPageVo record : page.getRecords()) {
+            final String info = record.getInfo();
+            record.setInfo(dealInfoData(info));
+        }
+        return TableDataInfo.build(page);
+    }
+
+    @Override
     public void export(SensorPageDto request, HttpServletResponse response) {
         dealPageParam(request);
         List<SensorExportVo> data = sensorMapper.selectListData(request);

+ 28 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/vo/sensor/IotDeviceStatusLogPageVo.java

@@ -0,0 +1,28 @@
+package com.xunmei.iot.vo.sensor;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author jingyuanchao
+ * @date 2024/8/12 16:19
+ */
+@Data
+public class IotDeviceStatusLogPageVo {
+
+
+    @ApiModelProperty(value = "设备名称")
+    private String deviceName;
+
+    @ApiModelProperty(value = "设备状态数据")
+    private String info;
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+
+}

+ 16 - 0
soc-modules/soc-modules-iot/src/main/resources/mapper/IotDeviceStatusLogMapper.xml

@@ -0,0 +1,16 @@
+<?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.xunmei.iot.mapper.IotDeviceStatusLogMapper">
+
+    <select id="selectPageData" resultType="com.xunmei.iot.vo.sensor.IotDeviceStatusLogPageVo">
+
+        select device_name,create_time,info from iot_device_status_log
+
+        <where>
+            <if test="req.startTime != null and req.endTime != null">
+                and create_time between #{req.startTime} and #{req.endTime}
+            </if>
+        </where>
+        order by create_time desc
+    </select>
+</mapper>