From ac625fa6aee52f467243c78764625cf053dcfe81 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Wed, 25 Aug 2021 11:44:20 +0800
Subject: [PATCH] screen-manage         重构组织模块日志插入代码

---
 screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java |  109 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 96 insertions(+), 13 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 16ff9d1..0e40019 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
@@ -1,6 +1,8 @@
 package com.moral.api.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.SysDictData;
@@ -8,17 +10,21 @@
 import com.moral.api.mapper.UnitConversionMapper;
 import com.moral.api.pojo.dto.unitConversion.UnitConversionDTO;
 import com.moral.api.pojo.dto.unitConversion.UnitConversionQueryDTO;
+import com.moral.api.pojo.form.unitConversion.UnitConversionDeleteForm;
 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.SysDictDataService;
 import com.moral.api.service.UnitConversionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
 import com.moral.constant.ResponseCodeEnum;
 import com.moral.util.ConvertUtils;
-import net.bytebuddy.description.method.ParameterList;
 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;
 
 import java.util.ArrayList;
@@ -40,26 +46,42 @@
     UnitConversionMapper unitConversionMapper;
     @Autowired
     SysDictDataService sysDictDataService;
+    @Autowired
+    RedisTemplate redisTemplate;
 
     @Override
+    @Transactional
     public UnitConversionDTO insertUnitConversion(UnitConversionInsertForm form) {
         //������������������
-        UnitConversionDTO dto  = new UnitConversionDTO();
+        UnitConversionDTO dto = new UnitConversionDTO();
         //������
         UnitConversion unitConversion = form.formConvertEntity();
         //������������������������������������������������������������������������
-        QueryWrapper existWrapper = new QueryWrapper();
-        existWrapper.eq("original_unit_key",unitConversion.getOriginalUnitKey());
-        existWrapper.eq("target_unit_key",unitConversion.getTargetUnitKey());
-        existWrapper.eq("is_delete",Constants.NOT_DELETE);
-        UnitConversion existConversion = unitConversionMapper.selectOne(existWrapper);
-        if(!ObjectUtils.isEmpty(existConversion)){
-            dto.setCode(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getCode());
-            dto.setMsg(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getMsg());
-            return dto;
+        QueryWrapper<UnitConversion> existWrapper = new QueryWrapper();
+        existWrapper.eq("original_unit_key", unitConversion.getOriginalUnitKey());
+        existWrapper.eq("target_unit_key", unitConversion.getTargetUnitKey());
+        existWrapper.eq("is_delete", Constants.NOT_DELETE);
+        List<UnitConversion> unitConversions = unitConversionMapper.selectList(existWrapper);
+        if (ObjectUtils.isEmpty(unitConversion.getSensorCode())) {
+            if (!ObjectUtils.isEmpty(unitConversions)) {
+                dto.setCode(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getCode());
+                dto.setMsg(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getMsg());
+                return dto;
+            }
+        }
+        if (!ObjectUtils.isEmpty(unitConversion.getSensorCode())) {
+            for (UnitConversion conversion : unitConversions) {
+                if (ObjectUtils.isEmpty(conversion.getSensorCode())||conversion.getSensorCode().equals(unitConversion.getSensorCode())) {
+                    dto.setCode(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getCode());
+                    dto.setMsg(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getMsg());
+                    return dto;
+                }
+            }
         }
         //������������
         unitConversionMapper.insert(unitConversion);
+        //������������
+        refreshCache();
         //������������������
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -81,8 +103,8 @@
         //������������������
         Page<UnitConversion> queryPage = new Page<>(page, size);
         NullFilterWrapper<UnitConversion> wrapper = new NullFilterWrapper<>();
-        wrapper.eq("original_unit_key",originalUnitKey);
-        wrapper.eq("target_unit_key",targetUnitKey);
+        wrapper.eq("original_unit_key", originalUnitKey);
+        wrapper.eq("target_unit_key", targetUnitKey);
         //������������������������
         if (!ObjectUtils.isEmpty(order) && !ObjectUtils.isEmpty(orderType)) {
             if (orderType.equals(Constants.ORDER_ASC))
@@ -120,4 +142,65 @@
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
         return dto;
     }
+
+    @Override
+    @Transactional
+    public UnitConversionDTO updateUnitConversion(UnitConversionUpdateForm form) {
+        //������������������
+        UnitConversionDTO dto = new UnitConversionDTO();
+        //������
+        UnitConversion unitConversion = form.formConvertEntity();
+        //������������������������ ������������������
+        QueryWrapper<UnitConversion> oldWrapper = new QueryWrapper<>();
+        UnitConversion oldUnitConversion = new UnitConversion();
+        oldUnitConversion.setId(unitConversion.getId());
+        oldUnitConversion.setIsDelete(Constants.NOT_DELETE);
+        oldWrapper.setEntity(oldUnitConversion);
+        oldUnitConversion = unitConversionMapper.selectOne(oldWrapper);
+        //������
+        unitConversionMapper.updateById(unitConversion);
+        //������������
+        refreshCache();
+        //������������������
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+    @Override
+    public UnitConversionDTO deleteUnitConversion(UnitConversionDeleteForm form) {
+        //������������������
+        UnitConversionDTO dto = new UnitConversionDTO();
+        //������
+        Integer id = form.getId();
+        //������������������������������������������
+        QueryWrapper<UnitConversion> oldWrapper = new QueryWrapper<>();
+        UnitConversion oldUnitConversion = new UnitConversion();
+        oldUnitConversion.setId(id);
+        oldUnitConversion.setIsDelete(Constants.NOT_DELETE);
+        oldWrapper.setEntity(oldUnitConversion);
+        oldUnitConversion = unitConversionMapper.selectOne(oldWrapper);
+        //������������������
+        UpdateWrapper deleteWrapper = new UpdateWrapper();
+        deleteWrapper.set("is_delete", Constants.DELETE);
+        deleteWrapper.eq("id", id);
+        unitConversionMapper.update(null, deleteWrapper);
+        //������������
+        refreshCache();
+        //������������������
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+    /*������������*/
+    @Override
+    public void refreshCache(){
+        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);
+    }
 }

--
Gitblit v1.8.0