From 6f12948893fcc846dfb32aa861c473a842edcd56 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Wed, 23 Jun 2021 14:46:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev_
---
screen-manage/src/main/java/com/moral/api/controller/TestController.java | 5 -
screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java | 72 ++++++++++++++++--
screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java | 3
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 79 ++++++++++---------
screen-manage/src/main/java/com/moral/api/util/CacheUtils.java | 5 +
screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java | 17 ++++
6 files changed, 128 insertions(+), 53 deletions(-)
diff --git a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
index 8f51aad..cf8b71c 100644
--- a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
+++ b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
@@ -59,7 +59,8 @@
ORGANIZATION_EXIST_MONITORPOINT(-44,"���������������������������������"),
CHILDREN_ORGANIZATION_EXIST_MONITORPOINT(-45,"������������������������������������"),
DEVICE_IS_NULL(-46, "���������������"),
- TARGET_IS_NULL(-47, "���������������������")
+ TARGET_IS_NULL(-47, "���������������������"),
+ VERSION_USED(-48,"������������������������������")
;
private final Integer code;
private final String msg;
diff --git a/screen-manage/src/main/java/com/moral/api/controller/TestController.java b/screen-manage/src/main/java/com/moral/api/controller/TestController.java
index 81bb874..13865dc 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/TestController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/TestController.java
@@ -182,9 +182,4 @@
writer.close();
fis.close();
}
-
- @GetMapping("testCacheUtils")
- public void testCacheUtils(){
- CacheUtils.flushDeviceAlarmUnit();
- }
}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java b/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java
index 33c428e..0e2ee21 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java
@@ -7,6 +7,7 @@
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
+import java.util.Objects;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -77,6 +78,22 @@
*/
private String isDelete;
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ VersionSensorUnit that = (VersionSensorUnit) o;
+ return Objects.equals(sensorCode, that.sensorCode) &&
+ Objects.equals(unitKey, that.unitKey) &&
+ Objects.equals(upper, that.upper) &&
+ Objects.equals(lower, that.lower);
+ }
+
+ @Override
+ public int hashCode() {
+
+ return Objects.hash(super.hashCode(), sensorCode, unitKey, upper, lower);
+ }
@Override
protected Serializable pkVal() {
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index c1b48df..4af7aef 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -12,6 +12,7 @@
import com.moral.api.service.DeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.util.CacheUtils;
import com.moral.api.util.AdjustDataUtils;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
@@ -91,8 +92,7 @@
* ���redis������������������
* */
private Map<String, Object> getDeviceInfoFromRedis(String mac) {
- Map<String, Object> deviceInfo = (Map<String, Object>) redisTemplate.opsForValue().get(getDeviceKey(mac));
- return deviceInfo;
+ return (Map<String, Object>) redisTemplate.opsForValue().get(getDeviceKey(mac));
}
/*
@@ -116,13 +116,6 @@
return keysConnect(RedisConstants.DEVICE, mac);
}
- /*
- * ���redis������������������
- * */
- private Map<String, Object> getOrgAlarmConfigFromRedis(String orId) {
- return null;
- }
-
//redis key������
private String keysConnect(String... keys) {
StringBuilder key = new StringBuilder(keys[0]);
@@ -141,13 +134,15 @@
deviceMapper.insert(device);
Map<String, Object> deviceInfo = selectDeviceInfoById(device.getId());
//���������������������������
- insertOrganizationUnitAlarm(orgId, device.getDeviceVersionId());
+ insertOrganizationUnitAlarm(orgId,device.getDeviceVersionId());
//������������������������redis
String mac = device.getMac();
//���redis���������������������
delDeviceInfoFromRedis(mac);
//������������������redis
setDeviceInfoToRedis(mac, deviceInfo);
+ //������deviceInfo������
+ CacheUtils.flushDeviceAlarmInfo();
//������������������
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
StringBuilder content = new StringBuilder();
@@ -165,6 +160,12 @@
String mac = device.getMac();
//���redis���������������������
delDeviceInfoFromRedis(mac);
+ //���������������������������
+ Integer versionId = device.getDeviceVersionId();
+ Integer orgId = device.getOrganizationId();
+ deleteOrganizationUnitAlarm(orgId,versionId);
+ //������deviceInfo������
+ CacheUtils.flushDeviceAlarmInfo();
//������������������
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
StringBuilder content = new StringBuilder();
@@ -178,7 +179,7 @@
Integer deviceId = device.getId();
Device oldDevice = deviceMapper.selectById(deviceId);
//���������������������������������������������������������������������������������id������������
- if (!ObjectUtils.isEmpty(device.getMonitorPointId())) {
+ if(!ObjectUtils.isEmpty(device.getMonitorPointId())){
MonitorPoint monitorPoint = monitorPointMapper.selectById(device.getMonitorPointId());
device.setOrganizationId(monitorPoint.getOrganizationId());
}
@@ -186,19 +187,21 @@
Device updateDevice = deviceMapper.selectById(deviceId);
String mac = updateDevice.getMac();
//���������������������������
- Integer oldOrgId = oldDevice.getOrganizationId();
- Integer newOrgId = updateDevice.getOrganizationId();
- Integer oldVersionId = oldDevice.getDeviceVersionId();
- Integer newVersionId = updateDevice.getDeviceVersionId();
- if (!oldOrgId.equals(newOrgId) || !oldVersionId.equals(newVersionId)) {
- deleteOrganizationUnitAlarm(oldOrgId, oldVersionId);
- insertOrganizationUnitAlarm(newOrgId, newVersionId);
- }
+ Integer oldOrgId = oldDevice.getOrganizationId();
+ Integer newOrgId = updateDevice.getOrganizationId();
+ Integer oldVersionId = oldDevice.getDeviceVersionId();
+ Integer newVersionId = updateDevice.getDeviceVersionId();
+ if(!oldOrgId.equals(newOrgId)||!oldVersionId.equals(newVersionId)){
+ deleteOrganizationUnitAlarm(oldOrgId,oldVersionId);
+ insertOrganizationUnitAlarm(newOrgId,newVersionId);
+ }
//���redis���������������������
delDeviceInfoFromRedis(mac);
Map<String, Object> deviceInfo = selectDeviceInfoById(deviceId);
//������������������redis
setDeviceInfoToRedis(mac, deviceInfo);
+ //������deviceInfo������
+ CacheUtils.flushDeviceAlarmInfo();
//������������������
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
StringBuilder content = new StringBuilder();
@@ -490,18 +493,18 @@
return state;
}
- private void insertOrganizationUnitAlarm(Integer orgId, Integer versionId) {
+ private void insertOrganizationUnitAlarm(Integer orgId,Integer versionId){
QueryWrapper<OrganizationUnitAlarm> queryOrganizationVersionWrapper = new QueryWrapper<>();
- queryOrganizationVersionWrapper.eq("organization_id", orgId);
- queryOrganizationVersionWrapper.eq("version_id", versionId);
- queryOrganizationVersionWrapper.eq("is_delete", Constants.NOT_DELETE);
+ queryOrganizationVersionWrapper.eq("organization_id",orgId);
+ queryOrganizationVersionWrapper.eq("version_id",versionId);
+ queryOrganizationVersionWrapper.eq("is_delete",Constants.NOT_DELETE);
List<OrganizationUnitAlarm> organizationUnitAlarms = organizationUnitAlarmMapper.selectList(queryOrganizationVersionWrapper);
- if (ObjectUtils.isEmpty(organizationUnitAlarms)) {
- QueryWrapper<VersionSensorUnit> queryVersionSensorUnitWrapper = new QueryWrapper<>();
- queryVersionSensorUnitWrapper.eq("version_id", versionId);
- queryVersionSensorUnitWrapper.eq("is_delete", Constants.NOT_DELETE);
+ if(ObjectUtils.isEmpty(organizationUnitAlarms)){
+ QueryWrapper<VersionSensorUnit> queryVersionSensorUnitWrapper =new QueryWrapper<>();
+ queryVersionSensorUnitWrapper.eq("version_id",versionId);
+ queryVersionSensorUnitWrapper.eq("is_delete",Constants.NOT_DELETE);
List<VersionSensorUnit> versionSensorUnits = versionSensorUnitMapper.selectList(queryVersionSensorUnitWrapper);
- if (!ObjectUtils.isEmpty(versionSensorUnits)) {
+ if(!ObjectUtils.isEmpty(versionSensorUnits)){
for (VersionSensorUnit versionSensorUnit : versionSensorUnits) {
OrganizationUnitAlarm organizationUnitAlarm = new OrganizationUnitAlarm();
organizationUnitAlarm.setOrganizationId(orgId);
@@ -515,19 +518,19 @@
}
}
- private void deleteOrganizationUnitAlarm(Integer orgId, Integer versionId) {
+ private void deleteOrganizationUnitAlarm(Integer orgId,Integer versionId){
QueryWrapper<Device> queryOrganizationVersionWrapper = new QueryWrapper<>();
- queryOrganizationVersionWrapper.eq("organization_id", orgId);
- queryOrganizationVersionWrapper.eq("device_version_id", versionId);
- queryOrganizationVersionWrapper.eq("is_delete", Constants.NOT_DELETE);
+ queryOrganizationVersionWrapper.eq("organization_id",orgId);
+ queryOrganizationVersionWrapper.eq("device_version_id",versionId);
+ queryOrganizationVersionWrapper.eq("is_delete",Constants.NOT_DELETE);
List<Device> devices = deviceMapper.selectList(queryOrganizationVersionWrapper);
- if (ObjectUtils.isEmpty(devices)) {//������������������������������������������������������
+ if(ObjectUtils.isEmpty(devices)){//������������������������������������������������������
UpdateWrapper deleteWrapper = new UpdateWrapper();
- deleteWrapper.eq("organization_id", orgId);
- deleteWrapper.eq("version_id", versionId);
- deleteWrapper.eq("is_delete", Constants.NOT_DELETE);
- deleteWrapper.set("is_delete", Constants.DELETE);
- organizationUnitAlarmMapper.update(null, deleteWrapper);
+ deleteWrapper.eq("organization_id",orgId);
+ deleteWrapper.eq("version_id",versionId);
+ deleteWrapper.eq("is_delete",Constants.NOT_DELETE);
+ deleteWrapper.set("is_delete",Constants.DELETE);
+ organizationUnitAlarmMapper.update(null,deleteWrapper);
}
}
}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
index 26f3540..452227f 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
@@ -165,6 +165,16 @@
VersionDTO dto = new VersionDTO();
//������
Integer id = form.getId();
+ //������������������������������������������������������������
+ QueryWrapper<OrganizationUnitAlarm> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("is_delete",Constants.NOT_DELETE);
+ queryWrapper.eq("version_id",id);
+ List<OrganizationUnitAlarm> organizationUnitAlarms = organizationUnitAlarmMapper.selectList(queryWrapper);
+ if(!ObjectUtils.isEmpty(organizationUnitAlarms)){
+ dto.setCode(ResponseCodeEnum.VERSION_USED.getCode());
+ dto.setMsg(ResponseCodeEnum.VERSION_USED.getMsg());
+ return dto;
+ }
//������������������������������������������
Version oldVersion = versionMapper.selectById(id);
//������������
@@ -191,21 +201,67 @@
//������
List<VersionSensorUnit> sensorUnits = form.getSensorUnits();
Integer versionId = form.getVersionId();
- //������������������������������������
- UpdateWrapper deleteWrapper = new UpdateWrapper();
- deleteWrapper.eq("version_id", versionId);
- deleteWrapper.set("is_delete", Constants.DELETE);
- versionSensorUnitMapper.update(null, deleteWrapper);
//������������������id������code
for (VersionSensorUnit sensorUnit : sensorUnits) {
Sensor sensor = sensorMapper.selectById(sensorUnit.getSensorId());
sensorUnit.setSensorCode(sensor.getCode());
}
- //���������������������������������
- for (VersionSensorUnit sensorUnit : sensorUnits) {
- sensorUnit.setVersionId(versionId);
+ //������������������������������������
+ QueryWrapper<VersionSensorUnit> queryOldWrapper = new QueryWrapper<>();
+ queryOldWrapper.eq("version_id",versionId);
+ queryOldWrapper.eq("is_delete",Constants.NOT_DELETE);
+ List<VersionSensorUnit> oldSensorUnits = versionSensorUnitMapper.selectList(queryOldWrapper);
+ //������������������������(������������������������)
+ List<VersionSensorUnit> insertList = new ArrayList<>();
+ List<VersionSensorUnit> deleteList = new ArrayList<>();
+ sensorUnits.forEach(value->{
+ value.setVersionId(versionId);
+ if(!oldSensorUnits.contains(value))
+ insertList.add(value);
+ });
+ oldSensorUnits.forEach(value->{
+ if(!sensorUnits.contains(value))
+ deleteList.add(value);
+ });
+ //������������
+ UpdateWrapper deleteWrapper = new UpdateWrapper();
+ List<Integer> deleteIds = new ArrayList<>();
+ deleteList.forEach(value->deleteIds.add(value.getId()));
+ deleteWrapper.in("id",deleteIds);
+ deleteWrapper.set("is_delete", Constants.DELETE);
+ versionSensorUnitMapper.update(null, deleteWrapper);
+ //������������
+ for (VersionSensorUnit sensorUnit : insertList) {
versionSensorUnitMapper.insert(sensorUnit);
}
+ //���������������������������
+ QueryWrapper<OrganizationUnitAlarm> queryOrgUnitAlarmWrapper = new QueryWrapper<>();
+ queryOrgUnitAlarmWrapper.select("distinct organization_id");
+ queryOrgUnitAlarmWrapper.eq("version_id",versionId);
+ queryOrgUnitAlarmWrapper.eq("is_delete",Constants.NOT_DELETE);
+ List<OrganizationUnitAlarm> organizationUnitAlarms = organizationUnitAlarmMapper.selectList(queryOrgUnitAlarmWrapper);
+ List<Integer> organizationIds = new ArrayList<>();
+ organizationUnitAlarms.forEach(value->organizationIds.add(value.getOrganizationId()));
+ for (Integer organizationId : organizationIds) {
+ //������������
+ for (VersionSensorUnit versionSensorUnit : deleteList) {
+ UpdateWrapper deleteOrganizationUnitAlarmWrapper = new UpdateWrapper();
+ deleteOrganizationUnitAlarmWrapper.eq("orgniazation_id",organizationId);
+ deleteOrganizationUnitAlarmWrapper.eq("version_id",versionId);
+ deleteOrganizationUnitAlarmWrapper.eq("sensor_code",versionSensorUnit.getSensorCode());
+ organizationUnitAlarmMapper.update(null,deleteOrganizationUnitAlarmWrapper);
+ }
+ //������������
+ for (VersionSensorUnit versionSensorUnit : insertList) {
+ OrganizationUnitAlarm organizationUnitAlarm = new OrganizationUnitAlarm();
+ organizationUnitAlarm.setOrganizationId(organizationId);
+ organizationUnitAlarm.setVersionId(versionId);
+ organizationUnitAlarm.setSensorCode(versionSensorUnit.getSensorCode());
+ organizationUnitAlarm.setUnitKey(versionSensorUnit.getUnitKey());
+ organizationUnitAlarm.setShowUnitKey(versionSensorUnit.getUnitKey());
+ organizationUnitAlarmMapper.insert(organizationUnitAlarm);
+ }
+ }
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
diff --git a/screen-manage/src/main/java/com/moral/api/util/CacheUtils.java b/screen-manage/src/main/java/com/moral/api/util/CacheUtils.java
index 8fa6e54..4975afd 100644
--- a/screen-manage/src/main/java/com/moral/api/util/CacheUtils.java
+++ b/screen-manage/src/main/java/com/moral/api/util/CacheUtils.java
@@ -71,7 +71,10 @@
redisTemplate.delete(RedisConstants.DICT_TYPE_KEY);
}
- public static void flushDeviceAlarmUnit() {
+ public static void flushDeviceAlarmInfo() {
+ //������������
+ redisTemplate.delete(RedisConstants.DEVICE_INFO);
+ //������������������
List<Device> devices = deviceMapper.queryDeviceUnitAlarmInfo();
Map<String, SysDictData> unitMap = sysDictDataService.getDictDatasByType("unit");
//���������������������������������������������
--
Gitblit v1.8.0