From 16500ff805484fb876ff9736d21021b242f1d7cd Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 01 Jul 2021 09:03:55 +0800
Subject: [PATCH] screen-manage 添加websocket实时界面
---
screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java | 2
screen-api/src/main/java/com/moral/api/websocket/SingleDeviceServer.java | 2
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 6 +-
screen.iml | 9 +-
screen-manage/src/main/java/com/moral/api/util/CacheUtils.java | 14 +++-
screen-manage/src/main/java/com/moral/api/service/DeviceAdjustValueService.java | 8 +-
screen-manage/src/main/java/com/moral/api/service/SysDictDataService.java | 9 +++
screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java | 13 ++--
screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java | 5 +
screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java | 19 ++++--
screen-manage/src/main/java/com/moral/api/service/SysDictTypeService.java | 9 +++
screen-manage/src/main/java/com/moral/api/service/SensorService.java | 2
screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java | 19 ++++--
myBatisPlusGenerator/src/main/java/com/moral/CodeGenerator.java | 4
screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java | 4 +
15 files changed, 86 insertions(+), 39 deletions(-)
diff --git a/myBatisPlusGenerator/src/main/java/com/moral/CodeGenerator.java b/myBatisPlusGenerator/src/main/java/com/moral/CodeGenerator.java
index 1ace387..10e56d0 100644
--- a/myBatisPlusGenerator/src/main/java/com/moral/CodeGenerator.java
+++ b/myBatisPlusGenerator/src/main/java/com/moral/CodeGenerator.java
@@ -43,7 +43,7 @@
// ������������
GlobalConfig gc = new GlobalConfig();
//String projectPath = System.getProperty("user.dir");
- String projectPath="D:\\tools\\IdeaProjects\\moral\\screen-job";
+ String projectPath="C:\\Users\\cdl\\Desktop\\comProject\\newProject\\moral\\screen-api";
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("moral");
gc.setOpen(false);
@@ -68,7 +68,7 @@
// ���������������
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://rm-bp1pr3rx9m3fnkwsk8o.mysql.rds.aliyuncs.com:3306/moral?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC");
- dsc.setUrl("jdbc:mysql://rm-bp1pr3rx9m3fnkwsk8o.mysql.rds.aliyuncs.com:3306/moral?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai");
+ //dsc.setUrl("jdbc:mysql://rm-bp1pr3rx9m3fnkwsk8o.mysql.rds.aliyuncs.com:3306/moral?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("moral_123456");
diff --git a/screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java b/screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java
index 6865acf..54fab17 100644
--- a/screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java
+++ b/screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java
@@ -19,15 +19,17 @@
* @Date 2021/6/15 14:49
* @Version TODO
**/
-//@Component
+@Component
public class SecondDataConsumer implements ConsumerSeekAware {
@KafkaListener(topics = "second_data",groupId = "SecondsDataGroup3")
public void listen(ConsumerRecord<String, String> record , Consumer consumer) throws Exception {
String messageStr = record.value();
Map<String,String> message = (Map<String,String>)JSON.parse(messageStr);
+ System.out.println(message);
CopyOnWriteArraySet<SingleDeviceServer> sockets = SingleDeviceServer.sockets;
for (SingleDeviceServer socket : sockets) {
+ //���������������������������socket
socket.sendMessage(message.toString());
}
System.out.println(message);
diff --git a/screen-api/src/main/java/com/moral/api/websocket/SingleDeviceServer.java b/screen-api/src/main/java/com/moral/api/websocket/SingleDeviceServer.java
index fa1a3b3..107357d 100644
--- a/screen-api/src/main/java/com/moral/api/websocket/SingleDeviceServer.java
+++ b/screen-api/src/main/java/com/moral/api/websocket/SingleDeviceServer.java
@@ -26,6 +26,8 @@
private String mac;
+
+
@OnOpen
public void onOpen(Session session, @PathParam("mac") String mac) throws Exception {
this.session = session;
diff --git a/screen-manage/src/main/java/com/moral/api/service/DeviceAdjustValueService.java b/screen-manage/src/main/java/com/moral/api/service/DeviceAdjustValueService.java
index da7a6e8..e54d163 100644
--- a/screen-manage/src/main/java/com/moral/api/service/DeviceAdjustValueService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/DeviceAdjustValueService.java
@@ -20,15 +20,15 @@
@Transactional
Map<String, Object> insertOne(DeviceAdjustValue deviceAdjustValue);
- Map<String,Object> getDataByCondition(Map map);
+ Map<String, Object> getDataByCondition(Map map);
@Transactional
- Map<String,Object> updateOne(Map map);
+ Map<String, Object> updateOne(Map map);
@Transactional
- Map<String,Object> deleteOne(Map map);
+ Map<String, Object> deleteOne(Map map);
- Map<String,Object> getTimeSlot(Map map);
+ Map<String, Object> getTimeSlot(Map map);
Map<String,Object> refreshRedis();
diff --git a/screen-manage/src/main/java/com/moral/api/service/SensorService.java b/screen-manage/src/main/java/com/moral/api/service/SensorService.java
index c95ad47..3ea51ff 100644
--- a/screen-manage/src/main/java/com/moral/api/service/SensorService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/SensorService.java
@@ -34,4 +34,6 @@
Map<String, Object> getSensorByFuzzy(Map map);
Map<String, Sensor> getAllSensorFromCache();
+
+ void refreshCache();
}
diff --git a/screen-manage/src/main/java/com/moral/api/service/SysDictDataService.java b/screen-manage/src/main/java/com/moral/api/service/SysDictDataService.java
index b7c1f99..7262fab 100644
--- a/screen-manage/src/main/java/com/moral/api/service/SysDictDataService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/SysDictDataService.java
@@ -74,4 +74,13 @@
*/
Map<String,SysDictData> getDictDatasByType(String type);
+ /**
+ * @Description: ������������������������
+ * @Param: []
+ * @return: void
+ * @Author: ���������
+ * @Date: 2021/6/28
+ */
+ void refreshCache();
+
}
diff --git a/screen-manage/src/main/java/com/moral/api/service/SysDictTypeService.java b/screen-manage/src/main/java/com/moral/api/service/SysDictTypeService.java
index fe7d376..c36517c 100644
--- a/screen-manage/src/main/java/com/moral/api/service/SysDictTypeService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/SysDictTypeService.java
@@ -74,6 +74,15 @@
*/
SysDictType getDictTypeById(Integer id);
+ /**
+ * @Description: ������������
+ * @Param: []
+ * @return: void
+ * @Author: ���������
+ * @Date: 2021/6/28
+ */
+ void refreshCache();
+
}
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 f3d42c9..6e0e9b3 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
@@ -123,7 +123,7 @@
//������������������redis
setDeviceInfoToRedis(mac, deviceInfo);
//������deviceInfo������
- CacheUtils.flushDeviceAlarmInfo();
+ CacheUtils.refreshDeviceAlarmInfo();
//������������������
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
StringBuilder content = new StringBuilder();
@@ -146,7 +146,7 @@
Integer orgId = device.getOrganizationId();
deleteOrganizationUnitAlarm(orgId, versionId);
//������deviceInfo������
- CacheUtils.flushDeviceAlarmInfo();
+ CacheUtils.refreshDeviceAlarmInfo();
//������������������
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
StringBuilder content = new StringBuilder();
@@ -182,7 +182,7 @@
//������������������redis
setDeviceInfoToRedis(mac, deviceInfo);
//������deviceInfo������
- CacheUtils.flushDeviceAlarmInfo();
+ CacheUtils.refreshDeviceAlarmInfo();
//������������������
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
StringBuilder content = new StringBuilder();
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java
index 1a8aa11..31078ec 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java
@@ -78,7 +78,7 @@
//������������������������������������������
OrganizationUnitAlarm newRecord = organizationUnitAlarmMapper.selectById(organizationUnitAlarm.getId());
//������deviceInfo������
- CacheUtils.flushDeviceAlarmInfo();
+ CacheUtils.refreshDeviceAlarmInfo();
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java
index a8323c5..953468c 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java
@@ -141,7 +141,7 @@
organizationUnitAlarm.setSensorCode(updateSensorMap.get("code").toString());
organizationUnitAlarmMapper.update(organizationUnitAlarm,wrapper_OUA);
//������deviceInfo������
- CacheUtils.flushDeviceAlarmInfo();
+ CacheUtils.refreshDeviceAlarmInfo();
}
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String content = "������������:"+oldSensor.getName()+";";
@@ -359,6 +359,12 @@
return sensors;
}
+ @Override
+ public void refreshCache(){
+ Map<String, Sensor> sensors = getAllSensorFromDB();
+ refreshCache(sensors);
+ }
+
private Map<String,Sensor> getAllSensorFromDB(){
QueryWrapper<Sensor> wrapper = new QueryWrapper<>();
wrapper.eq("is_delete",Constants.NOT_DELETE);
@@ -368,11 +374,6 @@
result.put(sensor.getCode(),sensor);
}
return result;
- }
-
- private void refreshCache(){
- Map<String, Sensor> sensors = getAllSensorFromDB();
- refreshCache(sensors);
}
private void refreshCache(Map<String,Sensor> sensors){
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java
index 78aaf42..20efc91 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java
@@ -61,8 +61,8 @@
deleteWrapper.set("is_delete", Constants.DELETE);
deleteWrapper.eq("id", id);
sysDictDataMapper.update(null, deleteWrapper);
- //������������
- CacheUtils.clearDictionariesCache();
+ //������������
+ refreshCache();
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -95,8 +95,8 @@
}
//������������
sysDictDataMapper.updateById(sysDictData);
- //������������
- CacheUtils.clearDictionariesCache();
+ //������������
+ refreshCache();
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -136,8 +136,8 @@
}
//������������
sysDictDataMapper.insert(sysDictData);
- //������������
- CacheUtils.clearDictionariesCache();
+ //������������
+ refreshCache();
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -188,6 +188,13 @@
return result;
}
+ @Override
+ public void refreshCache(){
+ redisTemplate.delete(RedisConstants.DICT_DATA_KEY);
+ Map<String, List<SysDictData>> datas = getDictDataFromDB();
+ redisTemplate.opsForValue().set(RedisConstants.DICT_DATA_KEY, datas);
+ }
+
/**
* @Description: ������������������������������������������������������������Map Key��������������� value���������������
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
index a0aa05b..fd27610 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
@@ -72,8 +72,8 @@
deleteDataWrapper.eq("dict_type_id",typeId);
deleteDataWrapper.set("is_delete",Constants.DELETE);
sysDictDataService.update(null,deleteDataWrapper);
- //������������������
- CacheUtils.clearDictionariesCache();
+ //������������������
+ refreshCache();
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -102,8 +102,8 @@
sysDictTypeMapper.updateById(type);
//������������������������
SysDictType sysDictType = sysDictTypeMapper.selectById(type.getId());
- //������������
- CacheUtils.clearDictionariesCache();
+ //������������
+ refreshCache();
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -129,8 +129,8 @@
}
//������������
sysDictTypeMapper.insert(sysDictType);
- //������������
- CacheUtils.clearDictionariesCache();
+ //������������
+ refreshCache();
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -200,5 +200,12 @@
return sysDictTypes;
}
+ @Override
+ public void refreshCache(){
+ redisTemplate.delete(RedisConstants.DICT_TYPE_KEY);
+ List<SysDictType> types = getAllDictTypeFromDB();
+ redisTemplate.opsForValue().set(RedisConstants.DICT_TYPE_KEY,types);
+ }
+
}
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 69f528d..7af8572 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
@@ -14,6 +14,7 @@
import com.moral.api.pojo.form.version.*;
import com.moral.api.service.VersionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.util.CacheUtils;
import com.moral.constant.Constants;
import com.moral.constant.ResponseCodeEnum;
import com.moral.util.ConvertUtils;
@@ -100,7 +101,7 @@
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
return dto;
}
-
+
@Override
@Transactional
public VersionDTO update(VersionUpdateForm form) {
@@ -265,6 +266,8 @@
organizationUnitAlarmMapper.insert(organizationUnitAlarm);
}
}
+ //������deviceInfo������
+ CacheUtils.refreshDeviceAlarmInfo();
//������������������
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 4975afd..62c0b4f 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
@@ -66,12 +66,8 @@
CacheUtils.unitConversionMapper = unitConversionMapper;
}
- public static void clearDictionariesCache() {
- redisTemplate.delete(RedisConstants.DICT_DATA_KEY);
- redisTemplate.delete(RedisConstants.DICT_TYPE_KEY);
- }
- public static void flushDeviceAlarmInfo() {
+ public static void refreshDeviceAlarmInfo() {
//������������
redisTemplate.delete(RedisConstants.DEVICE_INFO);
//������������������
@@ -119,4 +115,12 @@
//������redis
redisTemplate.opsForHash().putAll(RedisConstants.DEVICE_INFO,result);
}
+
+ public static void refreshSensor(){
+ sensorService.refreshCache();
+ }
+
+ public static void refreshDicTypeAndData(){
+
+ }
}
diff --git a/screen.iml b/screen.iml
index 5933ffe..c7561d7 100644
--- a/screen.iml
+++ b/screen.iml
@@ -4,14 +4,17 @@
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
- <excludeFolder url="file://$MODULE_DIR$/target" />
+ <excludeFolder url="file://$MODULE_DIR$/home" />
<excludeFolder url="file://$MODULE_DIR$/home/moral/soft/log/screen-manage/%d{yyyy-MM-dd}" />
<excludeFolder url="file://$MODULE_DIR$/home/moral/soft/log/screen-manage/2021-06-08" />
<excludeFolder url="file://$MODULE_DIR$/home/moral/soft/log/springAppName_IS_UNDEFINED" />
- <excludeFolder url="file://$MODULE_DIR$/home" />
+ <excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
+ <orderEntry type="library" name="Maven: com.googlecode.aviator:aviator:5.2.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.13.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.13.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.13.RELEASE" level="project" />
@@ -110,8 +113,6 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.14.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.1.14.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" />
- <orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
- <orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.kaptcha:kaptcha:2.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.1.13.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.14.RELEASE" level="project" />
--
Gitblit v1.8.0