screen-manage/src/main/java/com/moral/api/controller/TestController.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.Test; import com.moral.api.service.TestService; import com.moral.api.util.CacheUtils; import com.moral.constant.ResultMessage; import com.moral.redis.RedisUtil; import com.moral.util.PageResult; @@ -164,4 +165,9 @@ writer.close(); fis.close(); } @GetMapping("testCacheUtils") public void testCacheUtils(){ CacheUtils.flushDeviceAlarmUnit(); } } screen-manage/src/main/java/com/moral/api/entity/Device.java
@@ -1,6 +1,7 @@ package com.moral.api.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; @@ -129,6 +130,12 @@ */ private String extend; /* * 设备型号 * */ @TableField(exist = false) private Version version; @Override protected Serializable pkVal() { return this.id; screen-manage/src/main/java/com/moral/api/entity/Sensor.java
@@ -84,4 +84,16 @@ @TableField(exist = false) private String unitKey; @TableField(exist = false) private String showUnit; @TableField(exist = false) private String showUnitKey; @TableField(exist = false) private String alarmLevel; @TableField(exist = false) private String formula; } screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java
@@ -24,4 +24,6 @@ DeviceVO selectDeviceInfoById(Integer deviceId); List<Device> queryDeviceUnitAlarmInfo(); } screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -445,6 +445,7 @@ organizationUnitAlarm.setVersionId(versionId); organizationUnitAlarm.setSensorCode(versionSensorUnit.getSensorCode()); organizationUnitAlarm.setUnitKey(versionSensorUnit.getUnitKey()); organizationUnitAlarm.setShowUnitKey(versionSensorUnit.getUnitKey()); organizationUnitAlarmMapper.insert(organizationUnitAlarm); } } screen-manage/src/main/java/com/moral/api/util/CacheUtils.java
@@ -1,11 +1,15 @@ package com.moral.api.util; import com.moral.api.entity.Device; import com.moral.api.mapper.DeviceMapper; import com.moral.constant.RedisConstants; import com.moral.util.TokenUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import java.util.List; /** * @ClassName CacheUtils @@ -20,14 +24,23 @@ private static RedisTemplate redisTemplate; private static DeviceMapper deviceMapper; @Autowired public void setRedisTemplate(RedisTemplate redisTemplate) { CacheUtils.redisTemplate = redisTemplate; } @Autowired public void setDeviceMapper(DeviceMapper deviceMapper) { CacheUtils.deviceMapper = deviceMapper; } public static void clearDictionariesCache(){ redisTemplate.delete(RedisConstants.DICT_DATA_KEY); redisTemplate.delete(RedisConstants.DICT_TYPE_KEY); } public static void flushDeviceAlarmUnit(){ List<Device> devices = deviceMapper.queryDeviceUnitAlarmInfo(); System.out.println(devices); } } screen-manage/src/main/resources/mapper/DeviceMapper.xml
@@ -65,6 +65,34 @@ </collection> </resultMap> <resultMap id="queryDeviceUnitAlarmInfoMap" type="com.moral.api.entity.Device"> <id column="d.id" property="id"/> <result column="d.name" property="name"/> <result column="d.mac" property="mac"/> <result column="d.address" property="address"/> <result column="d.longitude" property="longitude"/> <result column="d.latitude" property="latitude"/> <result column="d.operate_ids" property="operateIds"/> <result column="d.monitor_point_id" property="monitorPointId"/> <result column="d.organization_id" property="organizationId"/> <result column="oua.version_id" property="deviceVersionId"/> <result column="d.profession" property="profession"/> <result column="d.tech" property="tech"/> <result column="d.detector" property="detector"/> <result column="d.purchaser" property="purchaser"/> <result column="d.extend" property="extend" javaType="String" /> <association property="version" column="d.device_version_id" javaType="com.moral.api.entity.Version"> <id column="v.id" property="id"></id> <result column="v.name" property="name"></result> <collection column="d.device_version_id" property="sensors" ofType="com.moral.api.entity.Sensor"> <result column="oua.sensor_code" property="code" ></result> <result column="oua.unit_key" property="unitKey"></result> <result column="oua.show_unit_key" property="showUnitKey"></result> <result column="oua.alarm_level" property="alarmLevel" javaType="String" ></result> </collection> </association> </resultMap> <select id="selectDeviceInfoById" resultMap="resultMap"> SELECT d.id, @@ -151,5 +179,42 @@ WHERE d.id = #{deviceId} </select> <select id="queryDeviceUnitAlarmInfo" resultMap="queryDeviceUnitAlarmInfoMap"> select d.id as `d.id`, d.mac as `d.mac`, d.name as `d.name`, d.address as `d.address`, d.longitude as `d.longitude`, d.latitude as `d.latitude`, d.operate_ids as `d.operate_ids`, d.monitor_point_id as `d.monitor_point_id`, d.organization_id as `d.organization_id`, d.profession as `d.profession`, d.tech as `d.tech`, d.detector as `d.detector`, d.purchaser as `d.purchaser`, d.extend as `d.extend`, oua.version_id as `oua.version_id`, oua.sensor_code as `oua.sensor_code`, oua.unit_key as `oua.unit_key`, oua.show_unit_key as `oua.show_unit_key`, oua.alarm_level as `oua.alarm_level`, v.id as `v.id`, v.name as `v.name` from device d join version v on v.`id` = d.`device_version_id` and v.`is_delete` = 0 join organization_unit_alarm oua on d.`device_version_id` = oua.`version_id` and d.`organization_id` = oua.`organization_id` and oua.`is_delete` = 0 where d.`is_delete` = 0; </select> </mapper>