From f13711161ab0f5982f638c3418765c599e84e4f9 Mon Sep 17 00:00:00 2001 From: zhangbaojian <1065122561@qq.com> Date: Fri, 21 Apr 2023 14:31:10 +0800 Subject: [PATCH] =?UTF-8?q?zbj//1.=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E5=87=BA=E7=8E=B0=E4=B8=A4=E4=B8=AA=E5=B7=B2?= =?UTF-8?q?=E6=BF=80=E6=B4=BB=E7=8A=B6=E6=80=81bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/system/enums/SystemResponseEnum.java | 1 + .../njcn/system/pojo/param/ConfigParam.java | 9 ++++ .../system/controller/ConfigController.java | 2 - .../system/mapper/mapping/ConfigMapper.xml | 3 +- .../service/impl/ConfigServiceImpl.java | 42 +++++++++++++++---- 5 files changed, 46 insertions(+), 11 deletions(-) diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/SystemResponseEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/SystemResponseEnum.java index ccc5ebb93..c006a9912 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/enums/SystemResponseEnum.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/SystemResponseEnum.java @@ -38,6 +38,7 @@ public enum SystemResponseEnum { MONITORY_TYPE_EMPTY("A00366","查询字典监测对象类型为空"), TERMINAL_WIRING_EMPTY("A00367","查询字典监测终端接线方式为空"), MONITOR_TYPE_EMPTY("A00368","查询字典监测点类别为空"), + ACTIVATED_STATE("A00369","必须存在一个已激活的系统类型"), diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/ConfigParam.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/ConfigParam.java index eb2f70917..1f2fc2ae6 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/ConfigParam.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/ConfigParam.java @@ -45,6 +45,15 @@ public class ConfigParam { @ApiModelProperty("审计日志存储时间(1-6个月,默认3个月)") private Integer logTime; + /** + * 系统类型 + */ + @ApiModelProperty("激活状态:0-未激活;1-激活") + @NotNull(message = "激活状态不可为空") + @Max(value = 1) + @Min(value = 0) + private Integer state; + /** * 更新操作实体 */ diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/ConfigController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/ConfigController.java index dddd5193c..c9a4c97a4 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/ConfigController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/ConfigController.java @@ -1,7 +1,6 @@ package com.njcn.system.controller; -import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; @@ -27,7 +26,6 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; /** *

diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/ConfigMapper.xml b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/ConfigMapper.xml index 0ee2662c9..a65a7718f 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/ConfigMapper.xml +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/ConfigMapper.xml @@ -12,8 +12,7 @@ sys_config sys_config LEFT JOIN sys_user sys_usera ON sys_config.create_by = sys_usera.id LEFT JOIN sys_user sys_userb ON sys_config.update_by = sys_userb.id - WHERE - sys_config.state = 1 + ORDER BY sys_config.create_time DESC diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/ConfigServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/ConfigServiceImpl.java index 8c1030411..a1c98fc98 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/ConfigServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/ConfigServiceImpl.java @@ -1,6 +1,9 @@ package com.njcn.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.system.enums.SystemResponseEnum; import com.njcn.system.mapper.ConfigMapper; import com.njcn.system.pojo.param.ConfigParam; import com.njcn.system.pojo.po.Config; @@ -8,6 +11,7 @@ import com.njcn.system.service.IConfigService; import com.njcn.web.utils.RequestUtil; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.List; @@ -15,7 +19,7 @@ import java.util.Objects; /** *

- * 服务实现类 + * 服务实现类 *

* * @author hongawen @@ -25,7 +29,6 @@ import java.util.Objects; public class ConfigServiceImpl extends ServiceImpl implements IConfigService { - @Override public boolean addSysConfig(ConfigParam configParam) { Config config = new Config(); @@ -39,14 +42,39 @@ public class ConfigServiceImpl extends ServiceImpl impleme } @Override + @Transactional public boolean updateSysConfig(ConfigParam.ConfigUpdateParam configUpdateParam) { Config config = this.baseMapper.selectById(configUpdateParam.getId()); if (!Objects.isNull(config)) { - BeanUtils.copyProperties(configUpdateParam, config); - config.setUpdateBy(RequestUtil.getUserIndex()); - config.setUpdateTime(LocalDateTime.now()); - this.baseMapper.updateById(config); - return true; + if (config.getState() == 1) { + if (Objects.equals(configUpdateParam.getState(), config.getState())) { + BeanUtils.copyProperties(configUpdateParam, config); + config.setUpdateBy(RequestUtil.getUserIndex()); + config.setUpdateTime(LocalDateTime.now()); + this.baseMapper.updateById(config); + return true; + } else { + //不可更改当前激活状态,必须保留一个激活系统 + throw new BusinessException(SystemResponseEnum.ACTIVATED_STATE); + } + } else { + if (configUpdateParam.getState() == 1) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(Config::getState, 0); + this.baseMapper.update(null, updateWrapper); + BeanUtils.copyProperties(configUpdateParam, config); + config.setUpdateBy(RequestUtil.getUserIndex()); + config.setUpdateTime(LocalDateTime.now()); + this.baseMapper.updateById(config); + return true; + } else { + BeanUtils.copyProperties(configUpdateParam, config); + config.setUpdateBy(RequestUtil.getUserIndex()); + config.setUpdateTime(LocalDateTime.now()); + this.baseMapper.updateById(config); + return true; + } + } } return false; }