From 68a49e074e779e1960f827ff02d69d3b73fa9165 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 15 Jul 2021 09:13:11 +0800
Subject: [PATCH] web端小时aqi,因子月均值
---
screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java | 116 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 97 insertions(+), 19 deletions(-)
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 ed60274..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
@@ -3,17 +3,19 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.moral.api.entity.ManageRole;
-import com.moral.api.entity.Sensor;
-import com.moral.api.entity.VersionSensorUnit;
+import com.moral.api.entity.*;
+import com.moral.api.mapper.OrganizationUnitAlarmMapper;
import com.moral.api.mapper.SensorMapper;
+import com.moral.api.mapper.SysDictDataMapper;
import com.moral.api.mapper.VersionSensorUnitMapper;
import com.moral.api.service.SensorService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.util.CacheUtils;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.constant.ResponseCodeEnum;
+import com.moral.util.TokenUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
@@ -46,6 +48,12 @@
@Autowired(required = false)
private VersionSensorUnitMapper versionSensorUnitMapper;
+
+ @Autowired(required = false)
+ private SysDictDataMapper sysDictDataMapper;
+
+ @Autowired(required = false)
+ private OrganizationUnitAlarmMapper organizationUnitAlarmMapper;
@Autowired
LogUtils logUtils;
@@ -125,6 +133,16 @@
return resultMap;
}
sensorMapper.updateSensor(updateSensorMap);
+ if (!ObjectUtils.isEmpty(updateSensorMap.get("code"))&&!oldSensor.getCode().equals(updateSensorMap.get("code"))){
+ QueryWrapper<OrganizationUnitAlarm> wrapper_OUA = new QueryWrapper<>();
+ wrapper_OUA.eq("is_delete",Constants.NOT_DELETE);
+ wrapper_OUA.eq("sensor_code",oldSensor.getCode());
+ OrganizationUnitAlarm organizationUnitAlarm = new OrganizationUnitAlarm();
+ organizationUnitAlarm.setSensorCode(updateSensorMap.get("code").toString());
+ organizationUnitAlarmMapper.update(organizationUnitAlarm,wrapper_OUA);
+ //������deviceInfo������
+ CacheUtils.refreshDeviceAlarmInfo();
+ }
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String content = "������������:"+oldSensor.getName()+";";
for (Object key:updateSensorMap.keySet()) {
@@ -132,12 +150,12 @@
content = content+"���������:"+oldSensor.getName()+"->"+updateSensorMap.get(key)+";";
}
if (key.toString().equals("code")&&updateSensorMap.get(key)!=null){
- QueryWrapper<VersionSensorUnit> wrapper_Version = new QueryWrapper<>();
+ /*QueryWrapper<VersionSensorUnit> wrapper_Version = new QueryWrapper<>();
wrapper_Version.eq("sensor_code",oldSensor.getCode());
wrapper_Version.eq("is_delete","0");
VersionSensorUnit versionSensorUnit = new VersionSensorUnit();
versionSensorUnit.setSensorCode(updateSensorMap.get(key).toString());
- versionSensorUnitMapper.update(versionSensorUnit,wrapper_Version);
+ versionSensorUnitMapper.update(versionSensorUnit,wrapper_Version);*/
content = content+"������:"+oldSensor.getCode()+"->"+updateSensorMap.get(key)+";";
}
if (key.toString().equals("desc")&&updateSensorMap.get(key)!=null){
@@ -170,11 +188,13 @@
QueryWrapper<Sensor> wrapper = new QueryWrapper();
wrapper.eq("is_delete",0);
int totleNum = sensorMapper.selectCount(wrapper);
- String orderType = map.get("orderType").toString();
- if (orderType.equals(Constants.ORDER_ASC)){
- wrapper.orderByAsc("create_time");
- }else {
- wrapper.orderByDesc("create_time");
+ if (!ObjectUtils.isEmpty(map.get("orderType"))){
+ String orderType = map.get("orderType").toString();
+ if (orderType.equals(Constants.ORDER_DESC)){
+ wrapper.orderByDesc("update_time");
+ }else {
+ wrapper.orderByAsc("update_time");
+ }
}
Page resultPage = sensorMapper.selectPage(page,wrapper);
List<Sensor> sensors = resultPage.getRecords();
@@ -187,9 +207,18 @@
sensorMap.put("createTime",createTime);
sensorMap.put("updateTime",updateTime);
sensorMap.put("key",sensor.getId());
+ if (sensor.getDefaultUnitKey()!=null&&sensor.getDefaultUnitKey()!=""){
+ QueryWrapper<SysDictData> wrapper_VSU = new QueryWrapper();
+ wrapper_VSU.eq("is_delete",0);
+ wrapper_VSU.eq("dataKey",sensor.getDefaultUnitKey());
+ wrapper_VSU.eq("dict_type_id",14);
+ if (!ObjectUtils.isEmpty(sysDictDataMapper.selectOne(wrapper_VSU))&&!ObjectUtils.isEmpty(sysDictDataMapper.selectOne(wrapper_VSU).getDataValue())){
+ sensorMap.put("default_unit_key",sysDictDataMapper.selectOne(wrapper_VSU).getDataValue());
+ }
+ }
sensorList.add(sensorMap);
}
- resultMap.put("manageRoles",sensorList);
+ resultMap.put("sensors",sensorList);
resultMap.put("totalNumber",totleNum);
resultMap.put("current",current);
int totalPageNumber = totleNum/size;
@@ -197,6 +226,36 @@
totalPageNumber += 1;
}
resultMap.put("totalPageNumber",totalPageNumber);
+ return resultMap;
+ }
+
+ @Override
+ public Map<String, Object> getAllSensorWithoutPage() {
+ Map<String,Object> resultMap = new HashMap<>();
+ QueryWrapper<Sensor> wrapper = new QueryWrapper();
+ wrapper.eq("is_delete",0);
+ List<Sensor> sensors = sensorMapper.selectList(wrapper);
+ SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ List<Map<String,Object>> sensorList = new ArrayList<>();
+ for (Sensor sensor:sensors) {
+ Map sensorMap = JSON.parseObject(JSON.toJSONString(sensor),Map.class);
+ String createTime = SDF.format(sensor.getCreateTime());
+ String updateTime = SDF.format(sensor.getUpdateTime());
+ sensorMap.put("createTime",createTime);
+ sensorMap.put("updateTime",updateTime);
+ sensorMap.put("key",sensor.getId());
+ if (sensor.getDefaultUnitKey()!=null&&sensor.getDefaultUnitKey()!=""){
+ QueryWrapper<SysDictData> wrapper_VSU = new QueryWrapper();
+ wrapper_VSU.eq("is_delete",0);
+ wrapper_VSU.eq("dataKey",sensor.getDefaultUnitKey());
+ wrapper_VSU.eq("dict_type_id",14);
+ if (!ObjectUtils.isEmpty(sysDictDataMapper.selectOne(wrapper_VSU))&&!ObjectUtils.isEmpty(sysDictDataMapper.selectOne(wrapper_VSU).getDataValue())){
+ sensorMap.put("default_unit_key",sysDictDataMapper.selectOne(wrapper_VSU).getDataValue());
+ }
+ }
+ sensorList.add(sensorMap);
+ }
+ resultMap.put("sensors",sensorList);
return resultMap;
}
@@ -222,6 +281,14 @@
VersionSensorUnit versionSensorUnit = new VersionSensorUnit();
versionSensorUnit.setIsDelete(Constants.DELETE);
versionSensorUnitMapper.update(versionSensorUnit,wrapper_Version);
+ if (!ObjectUtils.isEmpty(sensor.getCode())&&!sensor.getCode().equals("")){
+ QueryWrapper<OrganizationUnitAlarm> wrapper_OUA = new QueryWrapper<>();
+ wrapper_OUA.eq("is_delete",Constants.NOT_DELETE);
+ wrapper_OUA.eq("sensor_code",sensor.getCode());
+ OrganizationUnitAlarm organizationUnitAlarm = new OrganizationUnitAlarm();
+ organizationUnitAlarm.setIsDelete(Constants.DELETE);
+ organizationUnitAlarmMapper.update(organizationUnitAlarm,wrapper_OUA);
+ }
//������������������
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String content = "������������:"+sensor.getName()+";";
@@ -230,6 +297,8 @@
resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
//������������
refreshCache();
+ //������token
+ TokenUtils.destoryToken(Integer.parseInt(map.get("id").toString()));
return resultMap;
}
@@ -245,9 +314,9 @@
int totleNum = sensorMapper.selectCount(wrapper);
String orderType = map.get("orderType").toString();
if (orderType.equals(Constants.ORDER_ASC)){
- wrapper.orderByAsc("create_time");
+ wrapper.orderByAsc("update_time");
}else {
- wrapper.orderByDesc("create_time");
+ wrapper.orderByDesc("update_time");
}
Page resultPage = sensorMapper.selectPage(page,wrapper);
List<Sensor> sensors = resultPage.getRecords();
@@ -260,9 +329,16 @@
sensorMap.put("createTime",createTime);
sensorMap.put("updateTime",updateTime);
sensorMap.put("key",sensor.getId());
+ if (sensor.getDefaultUnitKey()!=null&&!sensor.getDefaultUnitKey().equals("")){
+ QueryWrapper<SysDictData> wrapper_VSU = new QueryWrapper();
+ wrapper_VSU.eq("is_delete",0);
+ wrapper_VSU.eq("dataKey",sensor.getDefaultUnitKey());
+ wrapper_VSU.eq("dict_type_id",14);
+ sensorMap.put("default_unit_key",sysDictDataMapper.selectOne(wrapper_VSU).getDataValue());
+ }
sensorList.add(sensorMap);
}
- resultMap.put("manageRoles",sensorList);
+ resultMap.put("sensors",sensorList);
resultMap.put("totalNumber",totleNum);
resultMap.put("current",current);
int totalPageNumber = totleNum/size;
@@ -273,6 +349,7 @@
return resultMap;
}
+ @Override
public Map<String,Sensor> getAllSensorFromCache(){
Map<String,Sensor> sensors = redisTemplate.opsForHash().entries(RedisConstants.SENSOR_KEY);
if(ObjectUtils.isEmpty(sensors))
@@ -280,6 +357,12 @@
//������������
refreshCache(sensors);
return sensors;
+ }
+
+ @Override
+ public void refreshCache(){
+ Map<String, Sensor> sensors = getAllSensorFromDB();
+ refreshCache(sensors);
}
private Map<String,Sensor> getAllSensorFromDB(){
@@ -291,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){
--
Gitblit v1.8.0