From 5d2cfd4562f74496a5263db3451c1e78ff53aead Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期四, 27 三月 2025 08:44:16 +0800
Subject: [PATCH] 单据增加查询返回字段

---
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictDataServiceImpl.java |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictDataServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictDataServiceImpl.java
index 0cf0828..c7aa3fc 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictDataServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictDataServiceImpl.java
@@ -1,12 +1,16 @@
 package com.gkhy.assess.system.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.assess.common.api.CommonPage;
+import com.gkhy.assess.common.enums.DeleteFlagEnum;
 import com.gkhy.assess.common.exception.ApiException;
 import com.gkhy.assess.common.utils.PageUtil;
 import com.gkhy.assess.system.domain.SysDictData;
 import com.gkhy.assess.system.mapper.SysDictDataMapper;
 import com.gkhy.assess.system.service.SysDictDataService;
+import com.gkhy.assess.system.utils.ShiroUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -29,6 +33,10 @@
 
     @Override
     public int addDictData(SysDictData dictData) {
+        if(!checkDictDataUnique(dictData)){
+            throw new ApiException("已存在相同字典数据");
+        }
+        dictData.setCreateBy(ShiroUtils.getSysUser().getUsername());
         boolean b=save(dictData);
         if(!b){
             throw new ApiException("新增字典数据失败");
@@ -36,8 +44,27 @@
         return 1;
     }
 
+    public boolean checkDictDataUnique(SysDictData dictData) {
+        LambdaQueryWrapper<SysDictData> lambdaQueryWrapper = Wrappers.<SysDictData>lambdaQuery()
+                .eq(SysDictData::getDictType, dictData.getDictType())
+                .eq(SysDictData::getDelFlag, DeleteFlagEnum.UN_DELETE)
+                .eq(SysDictData::getLabel, dictData.getLabel());
+        if(dictData.getId()!=null){
+            lambdaQueryWrapper.ne(SysDictData::getId,dictData.getId());
+        }
+        long existCount= count(lambdaQueryWrapper);
+        if(existCount>0){
+            return false;
+        }
+        return true;
+    }
+
     @Override
     public int editDictData(SysDictData dictData) {
+        if(!checkDictDataUnique(dictData)){
+            throw new ApiException("已存在相同字典数据");
+        }
+        dictData.setUpdateBy(ShiroUtils.getSysUser().getUsername());
         boolean b=updateById(dictData);
         if(!b){
             throw new ApiException("修改字典数据失败");
@@ -47,7 +74,10 @@
 
     @Override
     public int deleteDictDataById(Long dictId) {
-        boolean b=removeById(dictId);
+        SysDictData sysDictData=new SysDictData().setId(dictId)
+                .setDelFlag(DeleteFlagEnum.DELETED.getCode());
+        sysDictData.setUpdateBy(ShiroUtils.getSysUser().getName());
+        boolean b=updateById(sysDictData);
         if(!b){
             throw new ApiException("删除字典数据失败");
         }

--
Gitblit v1.9.2