فهرست منبع

北向 动环传感器状态同步代码提交,增加web动环设备管理页面分页接口

jingyuanchao 1 سال پیش
والد
کامیت
a56447dd3c

+ 1 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/SocIotApplication.java

@@ -16,6 +16,6 @@ import org.springframework.scheduling.annotation.EnableAsync;
 public class SocIotApplication {
     public static void main(String[] args) {
         SpringApplication.run(SocIotApplication.class, args);
-        System.out.println("(♥◠‿◠)ノ゙  系统模块接口启动成功   ლ(´ڡ`ლ)゙  ");
+        System.out.println("(♥◠‿◠)ノ゙  Iot模块接口启动成功   ლ(´ڡ`ლ)゙  ");
     }
 }

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

@@ -0,0 +1,36 @@
+package com.xunmei.iot.controller;
+
+import com.xunmei.common.core.web.page.TableDataInfo;
+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.SensorPageVo;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * @author jingyuanchao
+ * @date 2024/2/26 14:10
+ */
+@RestController
+@RequestMapping("/sensor")
+public class IotSensorController {
+
+    @Resource
+    IIotCommonSensorService sensorService;
+
+
+    @ApiOperation("分页")
+    @PostMapping({"/find"})
+    TableDataInfo<SensorPageVo> webPage(@RequestBody final SensorPageDto request) {
+        TableDataInfo<SensorPageVo> page = this.sensorService.selectSensorDataPage(request);
+        return page;
+    }
+
+}

+ 14 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/dto/sensor/SensorPageDto.java

@@ -0,0 +1,14 @@
+package com.xunmei.iot.dto.sensor;
+
+import com.xunmei.common.core.web.domain.PageRequest;
+import lombok.Data;
+
+/**
+ * @author jingyuanchao
+ * @date 2024/2/26 14:32
+ */
+@Data
+public class SensorPageDto extends PageRequest {
+
+    private String deviceName;
+}

+ 6 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/mapper/IotCommonSensorMapper.java

@@ -1,7 +1,12 @@
 package com.xunmei.iot.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.domain.iot.domain.IotSensor;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.iot.dto.sensor.SensorPageDto;
+import com.xunmei.iot.vo.sensor.SensorPageVo;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface IotCommonSensorMapper extends BaseMapper<IotSensor> {
 
+    Page<SensorPageVo> selectPageData(Page<SensorPageVo> pageRequest, @Param("request") SensorPageDto request);
 }

+ 6 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/IIotCommonSensorService.java

@@ -1,7 +1,10 @@
-package com.xunmei.common.core.domain.iot.domain.current.service;
+package com.xunmei.iot.service;
 
 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.SensorPageDto;
+import com.xunmei.iot.vo.sensor.SensorPageVo;
 
 /**
  * <p>
@@ -13,4 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IIotCommonSensorService extends IService<IotSensor> {
 
+    TableDataInfo<SensorPageVo> selectSensorDataPage(SensorPageDto request);
+
 }

+ 31 - 2
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotCommonSensorServiceImpl.java

@@ -1,11 +1,21 @@
-package com.xunmei.common.core.domain.iot.domain.current.service.impl;
+package com.xunmei.iot.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.iot.domain.IotSensor;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.iot.dto.sensor.SensorPageDto;
 import com.xunmei.iot.mapper.IotCommonSensorMapper;
-import com.xunmei.common.core.domain.iot.domain.current.service.IIotCommonSensorService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.iot.service.IIotCommonSensorService;
+import com.xunmei.iot.vo.sensor.SensorPageVo;
+import com.xunmei.system.api.RemoteOrgService;
+import com.xunmei.system.api.domain.SysOrg;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +27,23 @@ import org.springframework.stereotype.Service;
 @Service
 public class IotCommonSensorServiceImpl extends ServiceImpl<IotCommonSensorMapper, IotSensor> implements IIotCommonSensorService {
 
+    @Resource
+    private RemoteOrgService orgService;
+
+    @Resource
+    private IotCommonSensorMapper sensorMapper;
+
+    @Override
+    public TableDataInfo<SensorPageVo> selectSensorDataPage(SensorPageDto request) {
+        final SysOrg sysOrg = orgService.selectOrgById(request.getOrgId(), SecurityConstants.INNER);
+
+        if (ObjectUtil.equal(Boolean.TRUE,request.getCheckSub())){
+            request.setOrgPath(sysOrg.getPath());
+            request.setOrgId(null);
+        }
+
+        Page<SensorPageVo> page=  sensorMapper.selectPageData(request.getPageRequest(),request);
+
+        return TableDataInfo.build(page);
+    }
 }

+ 44 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/vo/sensor/SensorPageVo.java

@@ -0,0 +1,44 @@
+package com.xunmei.iot.vo.sensor;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.xunmei.common.core.constant.CacheConstants;
+import com.xunmei.common.core.constant.Constants;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author jingyuanchao
+ * @date 2024/2/26 14:37
+ */
+@Data
+public class SensorPageVo {
+
+    private Long id;
+
+    @ApiModelProperty("机构id")
+    private Long orgId;
+
+    private Long categoryId;
+
+    @ApiModelProperty("所属机构")
+    private String orgName;
+
+    @ApiModelProperty("设备名称")
+    private String deviceName;
+
+    @ApiModelProperty("资产类别")
+    private String assetsType;
+
+    @ApiModelProperty("设备类型")
+    private String categoryType;
+
+    @ApiModelProperty("上报内容")
+    private String info;
+
+    @JsonFormat(pattern = Constants.HMS_FORMAT)
+    @ApiModelProperty("上报时间")
+    private LocalDateTime updateTime;
+
+}

+ 19 - 0
soc-modules/soc-modules-iot/src/main/resources/mapper/IotSensorMapper.xml

@@ -0,0 +1,19 @@
+<?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.IotCommonSensorMapper">
+
+    <select id="selectPageData" resultType="com.xunmei.iot.vo.sensor.SensorPageVo">
+        select s.id, org_id, org_name, device_name, category_id, infos as info, update_time from iot_sensor s
+        <where>
+            <if test="request.orgId!= null">
+                and s.org_id=#{request.orgId}
+            </if>
+            <if test="request.orgPath!= null">
+                and s.org_path like CONCAT(#{request.orgPath}, '%')
+            </if>
+            <if test="request.deviceName != null and request.deviceName!= ''">
+                and s.device_name like CONCAT('%',#{request.deviceName},'%')
+            </if>
+        </where>
+    </select>
+</mapper>