From 044418513c4c1a838ad2f22684d6b7d0e6c50f00 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 27 May 2021 10:58:39 +0800
Subject: [PATCH] screen-manage               修改字典数据更新逻辑

---
 screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java |  127 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 120 insertions(+), 7 deletions(-)

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 dc1d8f1..dd7f7b1 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
@@ -1,6 +1,7 @@
 package com.moral.api.service.impl;
 
 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.User;
@@ -10,19 +11,19 @@
 import com.moral.api.mapper.VersionSensorUnitMapper;
 import com.moral.api.pojo.dto.version.VersionDTO;
 import com.moral.api.pojo.dto.version.VersionQueryDTO;
-import com.moral.api.pojo.form.version.VersionQueryForm;
+import com.moral.api.pojo.form.version.*;
 import com.moral.api.service.VersionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.constant.Constants;
 import com.moral.constant.ResponseCodeEnum;
 import com.moral.util.ConvertUtils;
+import org.apache.tomcat.websocket.WsRemoteEndpointAsync;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * <p>
@@ -54,6 +55,7 @@
         Date updateEndTime = form.getUpdateEndTime();
         String order = form.getOrder();
         String orderType = form.getOrderType();
+        Integer isDelete = form.getIsDelete();
         //������������������
         Page<Version> queryPage = new Page<>(page, size);
         NullFilterWrapper<Version> wrapper = new NullFilterWrapper<>();
@@ -67,19 +69,24 @@
             else
                 wrapper.orderByDesc(ConvertUtils.toLine(order));
         }
+        //������������������������
+        if (!ObjectUtils.isEmpty(isDelete))
+            wrapper.eq("is_delete", isDelete);
+        else
+            wrapper.eq("is_delete", Constants.NOT_DELETE);
         //������������
         Page<Version> versionsPage = versionMapper.selectPage(queryPage, wrapper);
         List<Version> versions = versionsPage.getRecords();
         //������������������������������������
         List<Integer> versionsIds = new ArrayList<>();
         versions.forEach(value -> versionsIds.add(value.getId()));
-        List<Version> result = new ArrayList<>();
+        List<Version> queryResult = new ArrayList<>();
         if (!ObjectUtils.isEmpty(versionsIds)) {
-            result = versionMapper.queryVersionsAndSensorUnitByIds(versionsIds);
+            queryResult = versionMapper.queryVersionsAndSensorUnitByIds(versionsIds);
         }
         //������������������
         List<VersionDTO> dtos = new ArrayList<>();
-        result.forEach(value -> dtos.add(new VersionDTO(value)));
+        queryResult.forEach(value -> dtos.add(new VersionDTO(value)));
         dto.setVersionDTOS(dtos);
         dto.setCurrent(versionsPage.getCurrent());
         dto.setPages(versionsPage.getPages());
@@ -89,4 +96,110 @@
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
         return dto;
     }
+
+    @Override
+    @Transactional
+    public VersionDTO update(VersionUpdateForm form) {
+        //������������������
+        VersionDTO dto = new VersionDTO();
+        //������
+        Version version = form.formConvertEntity();
+        //������������������version ������������������
+        QueryWrapper<Version> oldVersionWrapper = new QueryWrapper<>();
+        Version oldVersion = new Version();
+        oldVersion.setId(version.getId());
+        oldVersion.setIsDelete(Constants.NOT_DELETE);
+        oldVersionWrapper.setEntity(oldVersion);
+        oldVersion = versionMapper.selectOne(oldVersionWrapper);
+        if (ObjectUtils.isEmpty(oldVersion)) {
+            dto.setCode(ResponseCodeEnum.VERSION_NOT_EXIST.getCode());
+            dto.setMsg(ResponseCodeEnum.VERSION_NOT_EXIST.getMsg());
+            return dto;
+        }
+
+        //������
+        versionMapper.updateById(version);
+
+        //������������������
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+
+        return dto;
+    }
+
+    @Override
+    @Transactional
+    public VersionDTO insert(VersionInsertForm form) {
+        //������������������
+        VersionDTO dto = new VersionDTO();
+        //������
+        Version version = form.formConvertEntity();
+        //������������������������������������
+        Version existVersion = new Version();
+        existVersion.setName(version.getName());
+        existVersion.setIsDelete(Constants.NOT_DELETE);
+        QueryWrapper<Version> wrapper = new QueryWrapper<>();
+        wrapper.setEntity(existVersion);
+        Version existVersionResult = versionMapper.selectOne(wrapper);
+        if(!ObjectUtils.isEmpty(existVersionResult)){
+            dto.setCode(ResponseCodeEnum.VERSION_EXIST.getCode());
+            dto.setMsg(ResponseCodeEnum.VERSION_EXIST.getMsg());
+            return dto;
+        }
+        //������
+        versionMapper.insert(version);
+        //������������������
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+    @Override
+    @Transactional
+    public VersionDTO delete(VersionDeleteForm form) {
+        //������������������
+        VersionDTO dto = new VersionDTO();
+        //������
+        Integer id = form.getId();
+        //������������������������������������������
+        Version oldVersion = versionMapper.selectById(id);
+        //������������
+        Version deleteVersion = new Version();
+        deleteVersion.setId(oldVersion.getId());
+        deleteVersion.setIsDelete(Constants.DELETE);
+        versionMapper.updateById(deleteVersion);
+        //������������������������������������
+        UpdateWrapper deleteSensorUnitWrapper = new UpdateWrapper();
+        deleteSensorUnitWrapper.eq("version_id",id);
+        deleteSensorUnitWrapper.set("is_delete",Constants.DELETE);
+        versionSensorUnitMapper.update(null,deleteSensorUnitWrapper);
+        //������������������
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+    @Override
+    @Transactional
+    public VersionDTO updateSensorUnits(VersionSensorUnitForm form) {
+        //������������������
+        VersionDTO dto = new VersionDTO();
+        //������
+        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);
+        //���������������������������������
+        for (VersionSensorUnit sensorUnit : sensorUnits) {
+            sensorUnit.setVersionId(versionId);
+            versionSensorUnitMapper.insert(sensorUnit);
+        }
+        //������������������
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
 }

--
Gitblit v1.8.0