From c7dd4a195d8d893d92c49963447cdf6486844584 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 20 Oct 2023 09:45:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into cjl
---
screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java | 141 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 137 insertions(+), 4 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
index 75593af..98c461c 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.moral.api.config.mybatis.wrapper.NullFilterWrapper;
+import com.moral.api.entity.Sensor;
import com.moral.api.entity.SysDictData;
import com.moral.api.entity.UnitConversion;
import com.moral.api.mapper.UnitConversionMapper;
@@ -14,13 +15,18 @@
import com.moral.api.pojo.form.unitConversion.UnitConversionInsertForm;
import com.moral.api.pojo.form.unitConversion.UnitConversionQueryForm;
import com.moral.api.pojo.form.unitConversion.UnitConversionUpdateForm;
+import com.moral.api.service.SensorService;
import com.moral.api.service.SysDictDataService;
import com.moral.api.service.UnitConversionService;
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.ConvertUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
@@ -44,6 +50,11 @@
UnitConversionMapper unitConversionMapper;
@Autowired
SysDictDataService sysDictDataService;
+ @Autowired
+ RedisTemplate redisTemplate;
+ @Autowired
+ SensorService sensorService;
+
@Override
@Transactional
@@ -76,6 +87,10 @@
}
//������������
unitConversionMapper.insert(unitConversion);
+ //������������
+ refreshCache();
+ //������������
+ insertLog(unitConversion);
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -153,6 +168,10 @@
oldUnitConversion = unitConversionMapper.selectOne(oldWrapper);
//������
unitConversionMapper.updateById(unitConversion);
+ //������������
+ refreshCache();
+ //������������������
+ updateLog(oldUnitConversion,form.getFormula());
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -160,6 +179,7 @@
}
@Override
+ @Transactional
public UnitConversionDTO deleteUnitConversion(UnitConversionDeleteForm form) {
//������������������
UnitConversionDTO dto = new UnitConversionDTO();
@@ -177,15 +197,128 @@
deleteWrapper.set("is_delete", Constants.DELETE);
deleteWrapper.eq("id", id);
unitConversionMapper.update(null, deleteWrapper);
+ //������������
+ refreshCache();
+ //������������������
+ deleteLog(oldUnitConversion);
//������������������
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
return dto;
}
- public static void main(String[] args) {
- int[] array = new int[]{1,2,3,4,5,};
- String s = JSON.toJSONString(array);
- System.out.println(s);
+ /*������������*/
+ @Override
+ public void refreshCache(){
+ //������������������
+ CacheUtils.refreshDeviceAlarmInfo();
+ redisTemplate.delete((RedisConstants.UNIT_CONVERSION));
+ QueryWrapper<UnitConversion> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("is_delete",Constants.NOT_DELETE);
+ List<UnitConversion> unitConversions = unitConversionMapper.selectList(queryWrapper);
+ if(!ObjectUtils.isEmpty(unitConversions))
+ redisTemplate.opsForList().leftPushAll(RedisConstants.UNIT_CONVERSION,unitConversions);
+ }
+
+ /**
+ * @Description: ������������������������
+ * @Param: [unitConversion]
+ * @return: void
+ * @Author: ���������
+ * @Date: 2021/8/26
+ */
+ private void insertLog(UnitConversion unitConversion){
+ //������������������������
+ Map<String, SysDictData> units = sysDictDataService.getDictDatasByType("unit");
+ String originalUnitKey = unitConversion.getOriginalUnitKey();
+ String targetUnitKey = unitConversion.getTargetUnitKey();
+ SysDictData originalData = units.get(originalUnitKey);
+ SysDictData targetData = units.get(targetUnitKey);
+ String formula = unitConversion.getFormula();
+ //������������������
+ formula = formula.replace(Constants.FORMULA_PLACEHOLDER, "���������");
+ formula = "������������"+" = "+formula;
+ String sensorCode = unitConversion.getSensorCode();
+ StringBuilder content = new StringBuilder();
+ content.append("���������������������������;");
+ content.append("������������"+originalData.getDataValue()+";");
+ content.append("���������������"+targetData.getDataValue()+";");
+ content.append("���������������"+formula+";");
+ if(sensorCode!=null){
+ Sensor sensor = sensorService.getSensorByCode(sensorCode);
+ if(sensor!=null)
+ content.append("���������������"+sensor.getName()+";");
+ }
+
+ LogUtils.saveOperationForManage(content.toString(),Constants.INSERT_OPERATE_TYPE);
+ }
+
+ /**
+ * @Description: ������������������������
+ * @Param: [unitConversion]
+ * @return: void
+ * @Author: ���������
+ * @Date: 2021/8/26
+ */
+ private void deleteLog(UnitConversion unitConversion){
+ //������������������������ ��������� ������������������
+ Map<String, SysDictData> units = sysDictDataService.getDictDatasByType("unit");
+ String originalUnitKey = unitConversion.getOriginalUnitKey();
+ String targetUnitKey = unitConversion.getTargetUnitKey();
+ SysDictData originalData = units.get(originalUnitKey);
+ SysDictData targetData = units.get(targetUnitKey);
+ //������������������
+ String formula = unitConversion.getFormula();
+ formula = formula.replace(Constants.FORMULA_PLACEHOLDER, "���������");
+ formula = "������������"+" = "+formula;
+
+ StringBuilder content = new StringBuilder("���������������������;");
+ content.append("������������"+originalData.getDataValue()+";");
+ content.append("���������������"+targetData.getDataValue()+";");
+ content.append("���������������"+formula+";");
+ //������������������������������������������������
+ String sensorCode = unitConversion.getSensorCode();
+ if(sensorCode!=null){
+ Sensor sensor = sensorService.getSensorByCode(sensorCode);
+ if(sensor!=null)
+ content.append("���������������"+sensor.getName()+";");
+ }
+ LogUtils.saveOperationForManage(content.toString(),Constants.DELETE_OPERATE_TYPE);
+ }
+
+ /**
+ * @Description: ������������������������
+ * @Param: [unitConversion]
+ * @return: void
+ * @Author: ���������
+ * @Date: 2021/8/26
+ */
+ private void updateLog(UnitConversion oldUnitConversion,String newFormular){
+ StringBuilder content = new StringBuilder("���������������������������;");
+ //������������������������ ��������� ������������������
+ Map<String, SysDictData> units = sysDictDataService.getDictDatasByType("unit");
+ String originalUnitKey = oldUnitConversion.getOriginalUnitKey();
+ String targetUnitKey = oldUnitConversion.getTargetUnitKey();
+ SysDictData originalData = units.get(originalUnitKey);
+ SysDictData targetData = units.get(targetUnitKey);
+ //���������������������
+ newFormular = newFormular.replace(Constants.FORMULA_PLACEHOLDER, "���������");
+ newFormular = "������������"+" = "+newFormular;
+ //���������������
+ String oldFormula = oldUnitConversion.getFormula();
+ oldFormula = oldFormula.replace(Constants.FORMULA_PLACEHOLDER, "���������");
+ oldFormula = "������������"+" = "+oldFormula;
+
+ content.append("������������"+originalData.getDataValue()+";");
+ content.append("���������������"+targetData.getDataValue()+";");
+ content.append("���������������"+oldFormula+"->"+newFormular+";");
+ //������������������������������������������������
+ String sensorCode = oldUnitConversion.getSensorCode();
+ if(sensorCode!=null){
+ Sensor sensor = sensorService.getSensorByCode(sensorCode);
+ if(sensor!=null)
+ content.append("���������������"+sensor.getName()+";");
+ }
+ LogUtils.saveOperationForManage(content.toString(),Constants.UPDATE_OPERATE_TYPE);
}
}
--
Gitblit v1.8.0