chenxiaofei 1 місяць тому
батько
коміт
54204f6658

+ 2 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/SysDictFlexController.java

@@ -7,6 +7,7 @@ import com.sckw.system.model.vo.res.SysDictResp;
 import com.sckw.system.service.SysDictFlexBusinessService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
@@ -30,7 +31,7 @@ public class SysDictFlexController {
      */
     @Operation(summary = "新增字典")
     @PostMapping("/insert")
-    public BaseResult<Boolean> insert(@RequestBody SysDictReqVo reqVo) {
+    public BaseResult<Boolean> insert(@RequestBody @Valid SysDictReqVo reqVo) {
         return BaseResult.success(sysDictService.insert(reqVo.getEntity()));
     }
 

+ 12 - 9
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/SysDictReqVo.java

@@ -3,6 +3,9 @@ package com.sckw.system.model.vo.req;
 import com.sckw.core.web.request.PageReq;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -34,6 +37,7 @@ public class SysDictReqVo extends PageReq implements Serializable {
      * 字典实体
      */
     @Schema(description = "字典实体")
+    @Valid
     private SysDictInfo entity;
 
     /**
@@ -94,24 +98,28 @@ public class SysDictReqVo extends PageReq implements Serializable {
          * 字典类型id
          */
         @Schema(description = "字典类型id")
+        @NotNull(message = "字典类型id不能为空")
         private Long dictId;
 
         /**
-         * 选项
+         * 字典
          */
-        @Schema(description = "选项值")
+        @Schema(description = "字典值")
+        @NotBlank(message = "字典值不能为空")
         private String value;
 
         /**
          * 选项
          */
-        @Schema(description = "选项")
+        @Schema(description = "字典名称")
+        @NotBlank(message = "字典名称不能为空")
         private String label;
 
         /**
          * 类型
          */
         @Schema(description = "类型")
+        @NotBlank(message = "字典类型不能为空")
         private String type;
 
         /**
@@ -124,6 +132,7 @@ public class SysDictReqVo extends PageReq implements Serializable {
          * 排序(升序)
          */
         @Schema(description = "排序(升序)")
+        @NotNull(message = "排序不能为空")
         private Long sort;
 
         /**
@@ -132,12 +141,6 @@ public class SysDictReqVo extends PageReq implements Serializable {
         @Schema(description = "父级编号")
         private String parentId;
 
-        /**
-         * 图标、文件等
-         */
-        @Schema(description = "图标、文件等")
-        private String url;
-
         /**
          * 备注
          */

+ 13 - 25
sckw-modules/sckw-system/src/main/java/com/sckw/system/repository/SysDictRepository.java

@@ -1,7 +1,6 @@
 package com.sckw.system.repository;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -9,12 +8,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sckw.core.model.base.BaseModel;
 import com.sckw.system.dao.SysDictDao;
 import com.sckw.system.model.SysDict;
-import jakarta.annotation.Resource;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Repository;
-import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 
 /**
@@ -29,24 +27,15 @@ public class SysDictRepository extends ServiceImpl<SysDictDao, SysDict> {
     /**
      * 根据条件查询唯一字典
      */
-    public SysDict selectUniqueDict(Long dictTypeId, String value, String label, String parentId) {
-        LambdaQueryWrapper<SysDict> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(SysDict::getDelFlag, 0);
-        
-        if (dictTypeId != null) {
-            wrapper.eq(SysDict::getDictId, dictTypeId);
-        }
-        if (StringUtils.isNotBlank(value)) {
-            wrapper.eq(SysDict::getValue, value);
-        }
-        if (StringUtils.isNotBlank(label)) {
-            wrapper.eq(SysDict::getLabel, label);
-        }
-        if (StringUtils.isNotBlank(parentId)) {
-            wrapper.eq(SysDict::getParentId, parentId);
-        }
-        wrapper.last("limit 1");
-        return this.getOne(wrapper);
+    public SysDict selectUniqueDict(Long dictTypeId, String value, String label,String type, String parentId) {
+        return this.getOne(Wrappers.<SysDict>lambdaQuery()
+                .eq(BaseModel::getDelFlag,0)
+                .eq(Objects.nonNull(dictTypeId),SysDict::getDictId, dictTypeId)
+                .eq(StringUtils.isNotBlank(value),SysDict::getValue, value)
+                .eq(StringUtils.isNotBlank(label),SysDict::getLabel, label)
+                .eq(StringUtils.isNotBlank( type),SysDict::getType, type)
+                .eq(StringUtils.isNotBlank(parentId),SysDict::getParentId, parentId)
+                .last("limit 1"));
     }
 
     /**
@@ -115,10 +104,9 @@ public class SysDictRepository extends ServiceImpl<SysDictDao, SysDict> {
      * 快捷更改字典状态
      */
     public Boolean updateStatus(Long id, Integer status) {
-        LambdaUpdateWrapper<SysDict> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.eq(SysDict::getId, id)
-               .set(SysDict::getStatus, status);
-        return update(null, wrapper);
+        SysDict sysDict = new SysDict();
+        sysDict.setStatus( status);
+        return update(sysDict, Wrappers.<SysDict>lambdaUpdate().eq(BaseModel::getId, id));
     }
 
     public List<SysDict> queryByIds(Set<String> parentIds) {

+ 3 - 3
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/SysDictFlexBusinessService.java

@@ -45,7 +45,8 @@ public class SysDictFlexBusinessService {
         SysDict existDict = sysDictRepository.selectUniqueDict(
             entity.getDictId(), 
             entity.getValue(), 
-            entity.getLabel(), 
+            entity.getLabel(),
+            entity.getType(),
             entity.getParentId()
         );
         if (existDict != null) {
@@ -68,10 +69,9 @@ public class SysDictFlexBusinessService {
         sysDict.setValue(entity.getValue());
         sysDict.setLabel(entity.getLabel());
         sysDict.setType(entity.getType());
-        sysDict.setDescription(entity.getDescription());
+        sysDict.setDescription(entity.getLabel());
         sysDict.setSort(entity.getSort());
         sysDict.setParentId(entity.getParentId());
-        sysDict.setUrl(entity.getUrl());
         sysDict.setRemark(entity.getRemark());
         sysDict.setStatus(0);
         sysDict.setCreateBy(userId);