Jelajahi Sumber

动环设备告警规则关联 App查询修改

jingyuanchao 1 tahun lalu
induk
melakukan
e38d2fb90d

+ 9 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/mapper/IotDeviceInfoMapper.java

@@ -0,0 +1,9 @@
+package com.xunmei.iot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xunmei.system.api.domain.iot.IotDeviceInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface IotDeviceInfoMapper extends BaseMapper<IotDeviceInfo> {
+}

+ 3 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/mapper/IotDeviceStatusMapper.java

@@ -2,6 +2,7 @@ package com.xunmei.iot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xunmei.system.api.domain.iot.IotDeviceStatus;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 【请填写功能名称】Mapper接口
@@ -12,4 +13,6 @@ import com.xunmei.system.api.domain.iot.IotDeviceStatus;
 public interface IotDeviceStatusMapper extends BaseMapper<IotDeviceStatus> {
 
 
+    IotDeviceStatus selectByDeviceId(@Param("deviceId") Long deviceId);
+
 }

+ 21 - 5
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotCommonSensorServiceImpl.java

@@ -22,10 +22,14 @@ import com.xunmei.common.security.utils.SecurityUtils;
 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.IotDeviceStatusMapper;
 import com.xunmei.iot.service.IIotCommonSensorService;
 import com.xunmei.iot.vo.sensor.*;
 import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.domain.SysOrg;
+import com.xunmei.system.api.domain.iot.IotDeviceInfo;
+import com.xunmei.system.api.domain.iot.IotDeviceStatus;
 import com.xunmei.system.api.vo.SysOrgVO;
 import io.netty.util.internal.StringUtil;
 import org.springframework.stereotype.Service;
@@ -56,6 +60,11 @@ public class IotCommonSensorServiceImpl extends ServiceImpl<IotCommonSensorMappe
     @Resource
     private IotCommonSensorMapper sensorMapper;
 
+    @Resource
+    private IotDeviceStatusMapper deviceStatusMapper;
+    @Resource
+    private IotDeviceInfoMapper deviceInfoMapper;
+
 
     @Override
     public TableDataInfo<SensorPageVo> selectSensorDataPage(SensorPageDto request) {
@@ -147,17 +156,24 @@ public class IotCommonSensorServiceImpl extends ServiceImpl<IotCommonSensorMappe
 
     @Override
     public SensorAppVo appDetail(Long id) {
-        IotSensor sensor = baseMapper.selectById(id);
-
-        if (ObjectUtil.isNull(sensor)) {
+        IotDeviceInfo deviceInfo =  deviceInfoMapper.selectById(id);
+        if (deviceInfo==null){
             throw new ServiceException("不存在该设备");
         }
+        IotDeviceStatus deviceStatus = deviceStatusMapper.selectByDeviceId(deviceInfo.getId());
+        if (ObjectUtil.isNull(deviceStatus)) {
+            throw new ServiceException("未获取到设备状态");
+        }
+
 
         SensorAppVo vo = new SensorAppVo();
-        BeanUtils.copyProperties(sensor, vo);
+        BeanUtils.copyProperties(deviceInfo, vo);
+        BeanUtils.copyProperties(deviceStatus, vo);
+        vo.setDeviceType(deviceStatus.getDeviceType());
+        vo.setInfos(deviceStatus.getInfo());
         vo.setDeviceTypeText(DictUtils.getDictLabel(DictConstants.APP_SENSOR_DEVICE_TYPE, Integer.parseInt(vo.getDeviceType())));
         vo.setStateText(DictUtils.getDictLabel(DictConstants.SENSOR_ALARM_STATUS, vo.getState()));
-        vo.setOrgName(orgService.concatOrgName(sensor.getOrgId(),SecurityConstants.INNER));
+        vo.setOrgName(orgService.concatOrgName(deviceInfo.getOrgId(),SecurityConstants.INNER));
         return vo;
     }
 

+ 8 - 0
soc-modules/soc-modules-iot/src/main/resources/mapper/IotDeviceStatusMapper.xml

@@ -0,0 +1,8 @@
+<?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.IotDeviceStatusMapper">
+
+    <select id="selectByDeviceId" resultType="com.xunmei.system.api.domain.iot.IotDeviceStatus">
+            select * from iot_device_status where device_id = #{deviceId} limit 1
+    </select>
+</mapper>

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

@@ -54,8 +54,8 @@
         </if>
     </select>
     <select id="selectAppPageData" resultType="com.xunmei.iot.vo.sensor.SensorAppPageVo">
-        select s.id,org_name,org_id, device_name, device_type, infos as info,device_code, state_update_time ,state
-        from iot_sensor s
+        select s.id, s.org_id, s.org_name, s.device_name, ds.device_type, ds.info as info, ds.state_update_time,ds.state
+        from iot_device_info s inner join iot_device_status ds on s.id=ds.device_id
         where s.deleted=0
         <if test="request.orgId!= null">
             and s.org_id=#{request.orgId}
@@ -64,12 +64,12 @@
             and s.org_path like CONCAT(#{request.orgPath}, '%')
         </if>
         <if test="request.state!= null">
-            and s.state = #{request.state}
+            and ds.state = #{request.state}
         </if>
         <if test="request.deviceType!= null and request.deviceType!= ''">
-            and s.device_type = #{request.deviceType}
+            and ds.device_type = #{request.deviceType}
         </if>
-        order by s.state desc
+        order by ds.state desc
     </select>
     <select id="stateStatistic" resultType="com.xunmei.iot.vo.sensor.SensorAppStateVo">
         SELECT sum(state=0) as normal,