Merge remote-tracking branch 'origin/boot3.0' into boot3.0

# Conflicts:
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysPostServiceImpl.java
boot3.0
21407 2025-02-24 11:53:47 +08:00
commit 11d790a0f4
22 changed files with 1127 additions and 74 deletions

View File

@ -102,4 +102,5 @@ public class SysDictData extends BaseEntity {
public boolean getDefault () { public boolean getDefault () {
return SysWhetherEnum.isYes(this.isDefault); return SysWhetherEnum.isYes(this.isDefault);
} }
} }

View File

@ -11,8 +11,13 @@ import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysDictData; import com.muyu.common.system.domain.SysDictData;
import com.muyu.system.domain.model.SysDictDataAddModel;
import com.muyu.system.domain.model.SysDictDataPageQueryModel; import com.muyu.system.domain.model.SysDictDataPageQueryModel;
import com.muyu.system.domain.model.SysDictDataUpdModel;
import com.muyu.system.domain.rep.SysDictDataAddReq;
import com.muyu.system.domain.rep.SysDictDataListReq; import com.muyu.system.domain.rep.SysDictDataListReq;
import com.muyu.system.domain.rep.SysDictDataUpdReq;
import com.muyu.system.domain.resp.SysDictDataListResp;
import com.muyu.system.service.SysDictDataService; import com.muyu.system.service.SysDictDataService;
import com.muyu.system.service.SysDictTypeService; import com.muyu.system.service.SysDictTypeService;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@ -22,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* *
@ -37,15 +43,31 @@ public class SysDictDataController extends BaseController {
@Autowired @Autowired
private SysDictTypeService dictTypeService; private SysDictTypeService dictTypeService;
/**
*
* @param sysDictDataListReq
* @return
*/
@RequiresPermissions("system:dict:list") @RequiresPermissions("system:dict:list")
@PostMapping("/list") @PostMapping("/list")
public Result<DataPageResp<SysDictData>> list (@RequestBody SysDictDataListReq sysDictDataListReq) { public Result<DataPageResp<SysDictDataListResp>> list (@RequestBody SysDictDataListReq sysDictDataListReq) {
PageQueryModel<SysDictData> sysDictDataPageQueryModel = dictDataService.selectDictDataList(SysDictDataPageQueryModel.reqBuild(sysDictDataListReq)); List<SysDictData> sysDictDataList = dictDataService.selectDictDataList(SysDictDataPageQueryModel.reqBuild(sysDictDataListReq)).getDataList();
List<SysDictDataListResp> sysDictDataListRespList = sysDictDataList.stream().map(
sysDictData -> SysDictDataListResp.buildResp(sysDictData)
).distinct().collect(Collectors.toList());
PageQueryModel<SysDictDataListResp> sysDictDataListRespPageQueryModel = new PageQueryModel<>();
sysDictDataListRespPageQueryModel.setTotal(sysDictDataListRespList.size());
sysDictDataListRespPageQueryModel.setDataList(sysDictDataListRespList);
return Result.success( return Result.success(
DataPageResp.of(sysDictDataPageQueryModel) DataPageResp.of(sysDictDataListRespPageQueryModel)
); );
} }
/**
*
* @param response
* @param sysDictDataListReq
*/
@Log(title = "字典数据", businessType = BusinessType.EXPORT) @Log(title = "字典数据", businessType = BusinessType.EXPORT)
@RequiresPermissions("system:dict:export") @RequiresPermissions("system:dict:export")
@PostMapping("/export") @PostMapping("/export")
@ -83,21 +105,21 @@ public class SysDictDataController extends BaseController {
@RequiresPermissions("system:dict:add") @RequiresPermissions("system:dict:add")
@Log(title = "字典数据", businessType = BusinessType.INSERT) @Log(title = "字典数据", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public Result<String> add (@Validated @RequestBody SysDictData dict) { public Result<String> add (@Validated @RequestBody SysDictDataAddReq sysDictDataAddReq) {
dict.setCreateBy(SecurityUtils.getUsername()); sysDictDataAddReq.setCreateBy(SecurityUtils.getUsername());
dictDataService.insertDictData(dict); dictDataService.insertDictData(SysDictDataAddModel.buildAddModel(sysDictDataAddReq));
return Result.success(); return Result.success();
} }
/** /**
* *
*/ */
@RequiresPermissions("system:dict:edit") //@RequiresPermissions("system:dict:edit")
@Log(title = "字典数据", businessType = BusinessType.UPDATE) @Log(title = "字典数据", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public Result<String> edit (@Validated @RequestBody SysDictData dict) { public Result<String> edit (@Validated @RequestBody SysDictDataUpdReq sysDictDataUpdReq) {
dict.setUpdateBy(SecurityUtils.getUsername()); sysDictDataUpdReq.setUpdateBy(SecurityUtils.getUsername());
dictDataService.updateDictData(dict); dictDataService.updateDictData(SysDictDataUpdModel.buildUpdModel(sysDictDataUpdReq));
return Result.success(); return Result.success();
} }

View File

@ -9,6 +9,14 @@ import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysDictType; import com.muyu.common.system.domain.SysDictType;
import com.muyu.system.domain.model.SysDictTypeAddModel;
import com.muyu.system.domain.model.SysDictTypeListModel;
import com.muyu.system.domain.model.SysDictTypePageQueryModel;
import com.muyu.system.domain.model.SysDictTypeUpdModel;
import com.muyu.system.domain.rep.SysDictTypeAddReq;
import com.muyu.system.domain.rep.SysDictTypeListReq;
import com.muyu.system.domain.rep.SysDictTypeUpdReq;
import com.muyu.system.domain.resp.SysDictTypeListResp;
import com.muyu.system.service.SysDictTypeService; import com.muyu.system.service.SysDictTypeService;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -16,6 +24,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* *
@ -30,18 +39,24 @@ public class SysDictTypeController extends BaseController {
@RequiresPermissions("system:dict:list") @RequiresPermissions("system:dict:list")
@PostMapping("/list") @PostMapping("/list")
public Result<DataPageResp<SysDictType>> list (@RequestBody SysDictType dictType) { public Result<DataPageResp<SysDictTypeListResp>> list (@RequestBody SysDictTypeListReq sysDictTypeListReq) {
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType); List<SysDictTypeListResp> dictTypeListResps = dictTypeService.selectDictTypeList(SysDictTypePageQueryModel.reqBuild(sysDictTypeListReq))
return Result.success(new DataPageResp<>(0,list)); .stream()
.map(SysDictTypeListResp::buildResp)
.collect(Collectors.toList());
return Result.success(new DataPageResp<>(dictTypeListResps.size(), dictTypeListResps));
} }
@Log(title = "字典类型", businessType = BusinessType.EXPORT) @Log(title = "字典类型", businessType = BusinessType.EXPORT)
@RequiresPermissions("system:dict:export") @RequiresPermissions("system:dict:export")
@PostMapping("/export") @PostMapping("/export")
public void export (HttpServletResponse response, SysDictType dictType) { public void export (HttpServletResponse response, SysDictTypeListReq sysDictTypeListReq) {
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType); List<SysDictTypeListResp> dictTypeListResps = dictTypeService.selectDictTypeList(SysDictTypePageQueryModel.reqBuild(sysDictTypeListReq))
ExcelUtil<SysDictType> util = new ExcelUtil<SysDictType>(SysDictType.class); .stream()
util.exportExcel(response, list, "字典类型"); .map(SysDictTypeListResp::buildResp)
.collect(Collectors.toList());
ExcelUtil<SysDictTypeListResp> util = new ExcelUtil<SysDictTypeListResp>(SysDictTypeListResp.class);
util.exportExcel(response, dictTypeListResps, "字典类型");
} }
/** /**
@ -59,12 +74,12 @@ public class SysDictTypeController extends BaseController {
@RequiresPermissions("system:dict:add") @RequiresPermissions("system:dict:add")
@Log(title = "字典类型", businessType = BusinessType.INSERT) @Log(title = "字典类型", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public Result add (@Validated @RequestBody SysDictType dict) { public Result add (@Validated @RequestBody SysDictTypeAddReq sysDictTypeAddReq) {
if (!dictTypeService.checkDictTypeUnique(dict)) { if (!dictTypeService.checkDictTypeUnique(SysDictTypeAddModel.buildModel(sysDictTypeAddReq))) {
return error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在"); return error("新增字典'" + sysDictTypeAddReq.getDictName() + "'失败,字典类型已存在");
} }
dict.setCreateBy(SecurityUtils.getUsername()); sysDictTypeAddReq.setCreateBy(SecurityUtils.getUsername());
dictTypeService.insertDictType(dict); dictTypeService.insertDictType(SysDictTypeAddModel.buildModel(sysDictTypeAddReq));
return Result.success(); return Result.success();
} }
@ -74,12 +89,12 @@ public class SysDictTypeController extends BaseController {
@RequiresPermissions("system:dict:edit") @RequiresPermissions("system:dict:edit")
@Log(title = "字典类型", businessType = BusinessType.UPDATE) @Log(title = "字典类型", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public Result edit (@Validated @RequestBody SysDictType dict) { public Result edit (@Validated @RequestBody SysDictTypeUpdReq sysDictTypeUpdReq) {
if (!dictTypeService.checkDictTypeUnique(dict)) { if (!dictTypeService.checkDictTypeUnique(SysDictTypeUpdModel.buildUpdModel(sysDictTypeUpdReq))) {
return error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在"); return error("修改字典'" + sysDictTypeUpdReq.getDictName() + "'失败,字典类型已存在");
} }
dict.setUpdateBy(SecurityUtils.getUsername()); sysDictTypeUpdReq.setUpdateBy(SecurityUtils.getUsername());
dictTypeService.updateDictType(dict); dictTypeService.updateDictType(SysDictTypeUpdModel.buildUpdModel(sysDictTypeUpdReq));
return Result.success(); return Result.success();
} }

View File

@ -0,0 +1,85 @@
package com.muyu.system.domain.model;
import com.muyu.system.domain.rep.SysDictDataAddReq;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*
* @author
* @version 1.0
* @date 2025/2/23 19:29
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SysDictDataAddModel {
/**
*
*/
private Long dictCode;
/**
*
*/
private Long dictSort;
/**
*
*/
private String dictLabel;
/**
*
*/
private String dictValue;
/**
*
*/
private String dictType;
/**
*
*/
private String cssClass;
/**
*
*/
private String listClass;
/**
* Y N
*/
private String isDefault;
/**
* 0 1
*/
private String status;
/**
*
*
* @param sysDictDataAddReq
* @return
*/
public static SysDictDataAddModel buildAddModel(SysDictDataAddReq sysDictDataAddReq) {
return SysDictDataAddModel.builder()
.dictCode(sysDictDataAddReq.getDictCode())
.dictSort(sysDictDataAddReq.getDictSort())
.dictLabel(sysDictDataAddReq.getDictLabel())
.dictValue(sysDictDataAddReq.getDictValue())
.dictType(sysDictDataAddReq.getDictType())
.cssClass(sysDictDataAddReq.getCssClass())
.listClass(sysDictDataAddReq.getListClass())
.isDefault(sysDictDataAddReq.getIsDefault())
.status(sysDictDataAddReq.getStatus())
.build();
}
}

View File

@ -0,0 +1,69 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author SunLY
* @version 1.0
* @date 2025/2/23 21:24
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictDataListModel extends BaseEntity {
/**
*
*/
@Excel(name = "字典编码", cellType = Excel.ColumnType.NUMERIC)
private Long dictCode;
/**
*
*/
@Excel(name = "字典排序", cellType = Excel.ColumnType.NUMERIC)
private Long dictSort;
/**
*
*/
@Excel(name = "字典标签")
private String dictLabel;
/**
*
*/
@Excel(name = "字典键值")
private String dictValue;
/**
*
*/
@Excel(name = "字典类型")
private String dictType;
/**
*
*/
private String cssClass;
/**
*
*/
private String listClass;
/**
* Y N
*/
@Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
private String isDefault;
}

View File

@ -31,6 +31,9 @@ public class SysDictDataPageQueryModel extends QueryModel<SysDictDataPageQueryMo
*/ */
private String status; private String status;
public static SysDictDataPageQueryModel reqBuild(SysDictDataListReq sysDictDataListReq) { public static SysDictDataPageQueryModel reqBuild(SysDictDataListReq sysDictDataListReq) {
SysDictDataPageQueryModel sysDictDataPageQueryModel = SysDictDataPageQueryModel.builder() SysDictDataPageQueryModel sysDictDataPageQueryModel = SysDictDataPageQueryModel.builder()
.dictType(sysDictDataListReq.getDictType()) .dictType(sysDictDataListReq.getDictType())

View File

@ -0,0 +1,113 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.enums.SysWhetherEnum;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.system.domain.rep.SysDictDataUpdReq;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author SunLY
* @version 1.0
* @date 2025/2/23 19:29
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictDataUpdModel extends BaseEntity {
/**
*
*/
private Long dictCode;
/**
*
*/
private Long dictSort;
/**
*
*/
private String dictLabel;
/**
*
*/
private String dictValue;
/**
*
*/
private String dictType;
/**
*
*/
private String cssClass;
/**
*
*/
private String listClass;
/**
* Y N
*/
private String isDefault;
/**
* 0 1
*/
private String status;
@NotBlank(message = "字典标签不能为空")
@Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
public String getDictLabel () {
return dictLabel;
}
@NotBlank(message = "字典键值不能为空")
@Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
public String getDictValue () {
return dictValue;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
public String getDictType () {
return dictType;
}
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
public String getCssClass () {
return cssClass;
}
public boolean getDefault () {
return SysWhetherEnum.isYes(this.isDefault);
}
public static SysDictDataUpdModel buildUpdModel(SysDictDataUpdReq sysDictDataUpdReq){
return SysDictDataUpdModel.builder()
.dictCode(sysDictDataUpdReq.getDictCode())
.dictSort(sysDictDataUpdReq.getDictSort())
.dictLabel(sysDictDataUpdReq.getDictLabel())
.dictValue(sysDictDataUpdReq.getDictValue())
.dictType(sysDictDataUpdReq.getDictType())
.cssClass(sysDictDataUpdReq.getCssClass())
.listClass(sysDictDataUpdReq.getListClass())
.isDefault(sysDictDataUpdReq.getIsDefault())
.status(sysDictDataUpdReq.getStatus())
.build();
}
}

View File

@ -0,0 +1,58 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.system.domain.rep.SysDictTypeAddReq;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author
* @version 1.0
* @date 2025/2/24 1:35
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictTypeAddModel extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
private Long dictId;
/**
*
*/
private String dictName;
/**
*
*/
private String dictType;
/**
* 0 1
*/
private String status;
public static SysDictTypeAddModel buildModel(SysDictTypeAddReq sysDictTypeAddReq){
return SysDictTypeAddModel.builder()
.dictId(sysDictTypeAddReq.getDictId())
.dictName(sysDictTypeAddReq.getDictName())
.dictType(sysDictTypeAddReq.getDictType())
.status(sysDictTypeAddReq.getStatus())
.build();
}
}

View File

@ -0,0 +1,59 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.annotation.Excel.ColumnType;
import com.muyu.common.core.web.domain.BaseEntity;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictTypeListModel extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
@Excel(name = "字典主键", cellType = ColumnType.NUMERIC)
private Long dictId;
/**
*
*/
@Excel(name = "字典名称")
private String dictName;
/**
*
*/
@Excel(name = "字典类型")
private String dictType;
/**
* 0 1
*/
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
@NotBlank(message = "字典名称不能为空")
@Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
public String getDictName () {
return dictName;
}
}

View File

@ -1,5 +1,7 @@
package com.muyu.system.domain.model; package com.muyu.system.domain.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.muyu.common.core.web.model.QueryModel; import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysDictTypeListReq; import com.muyu.system.domain.rep.SysDictTypeListReq;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -9,6 +11,8 @@ import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/** /**
* *
@ -45,6 +49,24 @@ public class SysDictTypePageQueryModel extends QueryModel<SysDictTypePageQueryMo
*/ */
private Date endTime; private Date endTime;
/**
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@TableField(exist = false)
private Map<String, Object> params;
public Map<String, Object> getParams () {
if (params == null) {
params = new HashMap<>();
}
return params;
}
public void setParams (Map<String, Object> params) {
this.params = params;
}
public static SysDictTypePageQueryModel reqBuild(SysDictTypeListReq sysDictTypeListReq) { public static SysDictTypePageQueryModel reqBuild(SysDictTypeListReq sysDictTypeListReq) {
SysDictTypePageQueryModel sysDictTypePageQueryModel = SysDictTypePageQueryModel.builder() SysDictTypePageQueryModel sysDictTypePageQueryModel = SysDictTypePageQueryModel.builder()
.dictName(sysDictTypeListReq.getDictName()) .dictName(sysDictTypeListReq.getDictName())

View File

@ -0,0 +1,58 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.system.domain.rep.SysDictTypeUpdReq;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author
* @version 1.0
* @date 2025/2/24 1:35
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictTypeUpdModel extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
private Long dictId;
/**
*
*/
private String dictName;
/**
*
*/
private String dictType;
/**
* 0 1
*/
private String status;
public static SysDictTypeUpdModel buildUpdModel(SysDictTypeUpdReq sysDictTypeUpdReq) {
return SysDictTypeUpdModel.builder()
.dictId(sysDictTypeUpdReq.getDictId())
.dictName(sysDictTypeUpdReq.getDictName())
.dictType(sysDictTypeUpdReq.getDictType())
.status(sysDictTypeUpdReq.getStatus())
.build();
}
}

View File

@ -41,4 +41,6 @@ public class SysConfigAddReq {
* *
*/ */
private String remark; private String remark;
} }

View File

@ -0,0 +1,96 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.enums.SysWhetherEnum;
import com.muyu.common.core.web.domain.BaseEntity;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.*;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author
* @version 1.0
* @date 2025/2/23 19:29
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictDataAddReq extends BaseEntity {
/**
*
*/
private Long dictCode;
/**
*
*/
private Long dictSort;
/**
*
*/
private String dictLabel;
/**
*
*/
private String dictValue;
/**
*
*/
private String dictType;
/**
*
*/
private String cssClass;
/**
*
*/
private String listClass;
/**
* Y N
*/
private String isDefault;
/**
* 0 1
*/
private String status;
@NotBlank(message = "字典标签不能为空")
@Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
public String getDictLabel () {
return dictLabel;
}
@NotBlank(message = "字典键值不能为空")
@Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
public String getDictValue () {
return dictValue;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
public String getDictType () {
return dictType;
}
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
public String getCssClass () {
return cssClass;
}
public boolean getDefault () {
return SysWhetherEnum.isYes(this.isDefault);
}
}

View File

@ -0,0 +1,98 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.enums.SysWhetherEnum;
import com.muyu.common.core.web.domain.BaseEntity;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author
* @version 1.0
* @date 2025/2/23 19:29
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictDataUpdReq extends BaseEntity {
/**
*
*/
private Long dictCode;
/**
*
*/
private Long dictSort;
/**
*
*/
private String dictLabel;
/**
*
*/
private String dictValue;
/**
*
*/
private String dictType;
/**
*
*/
private String cssClass;
/**
*
*/
private String listClass;
/**
* Y N
*/
private String isDefault;
/**
* 0 1
*/
private String status;
@NotBlank(message = "字典标签不能为空")
@Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
public String getDictLabel () {
return dictLabel;
}
@NotBlank(message = "字典键值不能为空")
@Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
public String getDictValue () {
return dictValue;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
public String getDictType () {
return dictType;
}
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
public String getCssClass () {
return cssClass;
}
public boolean getDefault () {
return SysWhetherEnum.isYes(this.isDefault);
}
}

View File

@ -0,0 +1,62 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author
* @version 1.0
* @date 2025/2/24 1:35
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictTypeAddReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
private Long dictId;
/**
*
*/
private String dictName;
/**
*
*/
private String dictType;
/**
* 0 1
*/
private String status;
@NotBlank(message = "字典名称不能为空")
@Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
public String getDictName () {
return dictName;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
@Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
public String getDictType () {
return dictType;
}
}

View File

@ -0,0 +1,60 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.web.domain.BaseEntity;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author
* @version 1.0
* @date 2025/2/24 1:35
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictTypeUpdReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
private Long dictId;
/**
*
*/
private String dictName;
/**
*
*/
private String dictType;
/**
* 0 1
*/
private String status;
@NotBlank(message = "字典名称不能为空")
@Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
public String getDictName () {
return dictName;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
@Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
public String getDictType () {
return dictType;
}
}

View File

@ -0,0 +1,88 @@
package com.muyu.system.domain.resp;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.common.system.domain.SysDictData;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @author SunLY
* @version 1.0
* @date 2025/2/23 21:24
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictDataListResp extends BaseEntity {
/**
*
*/
@Excel(name = "字典编码", cellType = Excel.ColumnType.NUMERIC)
private Long dictCode;
/**
*
*/
@Excel(name = "字典排序", cellType = Excel.ColumnType.NUMERIC)
private Long dictSort;
/**
*
*/
@Excel(name = "字典标签")
private String dictLabel;
/**
*
*/
@Excel(name = "字典键值")
private String dictValue;
/**
*
*/
@Excel(name = "字典类型")
private String dictType;
/**
*
*/
private String cssClass;
/**
*
*/
private String listClass;
/**
* Y N
*/
@Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
private String isDefault;
/**
* 0 1
*/
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
public static SysDictDataListResp buildResp(SysDictData sysDictData){
return SysDictDataListResp.builder()
.dictCode(sysDictData.getDictCode())
.dictSort(sysDictData.getDictSort())
.dictLabel(sysDictData.getDictLabel())
.dictValue(sysDictData.getDictValue())
.dictType(sysDictData.getDictType())
.cssClass(sysDictData.getCssClass())
.listClass(sysDictData.getListClass())
.isDefault(sysDictData.getIsDefault())
.status(sysDictData.getStatus())
.build();
}
}

View File

@ -0,0 +1,68 @@
package com.muyu.system.domain.resp;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.annotation.Excel.ColumnType;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.system.domain.model.SysDictTypeListModel;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictTypeListResp extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
@Excel(name = "字典主键", cellType = ColumnType.NUMERIC)
private Long dictId;
/**
*
*/
@Excel(name = "字典名称")
private String dictName;
/**
*
*/
@Excel(name = "字典类型")
private String dictType;
/**
* 0 1
*/
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
@NotBlank(message = "字典名称不能为空")
@Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
public String getDictName () {
return dictName;
}
public static SysDictTypeListResp buildResp(SysDictTypeListModel sysDictTypeListModel) {
return SysDictTypeListResp.builder()
.dictId(sysDictTypeListModel.getDictId())
.dictName(sysDictTypeListModel.getDictName())
.dictType(sysDictTypeListModel.getDictType())
.status(sysDictTypeListModel.getStatus())
.build();
}
}

View File

@ -3,7 +3,10 @@ package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel; import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysDictData; import com.muyu.common.system.domain.SysDictData;
import com.muyu.system.domain.model.SysDictDataAddModel;
import com.muyu.system.domain.model.SysDictDataPageQueryModel; import com.muyu.system.domain.model.SysDictDataPageQueryModel;
import com.muyu.system.domain.model.SysDictDataUpdModel;
import com.muyu.system.domain.rep.SysDictDataUpdReq;
import java.util.List; import java.util.List;
@ -51,16 +54,16 @@ public interface SysDictDataService extends IService<SysDictData> {
/** /**
* *
* *
* @param dictData * @param sysDictDataAddModel
*/ */
public void insertDictData (SysDictData dictData); public void insertDictData (SysDictDataAddModel sysDictDataAddModel);
/** /**
* *
* *
* @param dictData * @param sysDictDataUpdModel
*/ */
public void updateDictData (SysDictData dictData); public void updateDictData (SysDictDataUpdModel sysDictDataUpdModel);
PageQueryModel<SysDictData> pageQuery(SysDictDataPageQueryModel sysDictDataPageQueryModel); PageQueryModel<SysDictData> pageQuery(SysDictDataPageQueryModel sysDictDataPageQueryModel);

View File

@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel; import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysDictData; import com.muyu.common.system.domain.SysDictData;
import com.muyu.common.system.domain.SysDictType; import com.muyu.common.system.domain.SysDictType;
import com.muyu.system.domain.model.SysDictTypeAddModel;
import com.muyu.system.domain.model.SysDictTypeListModel;
import com.muyu.system.domain.model.SysDictTypePageQueryModel; import com.muyu.system.domain.model.SysDictTypePageQueryModel;
import com.muyu.system.domain.model.SysDictTypeUpdModel;
import java.util.List; import java.util.List;
@ -17,11 +20,11 @@ public interface SysDictTypeService extends IService<SysDictType> {
/** /**
* *
* *
* @param dictType * @param sysDictTypePageQueryModel
* *
* @return * @return
*/ */
public List<SysDictType> selectDictTypeList (SysDictType dictType); public List<SysDictTypeListModel> selectDictTypeList (SysDictTypePageQueryModel sysDictTypePageQueryModel);
/** /**
* *
@ -82,27 +85,36 @@ public interface SysDictTypeService extends IService<SysDictType> {
/** /**
* *
* *
* @param dictType * @param sysDictTypeAddModel
* *
* @return * @return
*/ */
public void insertDictType (SysDictType dictType); public void insertDictType (SysDictTypeAddModel sysDictTypeAddModel);
/** /**
* *
* *
* @param dictType * @param sysDictTypeUpdModel
*/ */
public void updateDictType (SysDictType dictType); public void updateDictType (SysDictTypeUpdModel sysDictTypeUpdModel);
/** /**
* *
* *
* @param dictType * @param sysDictTypeAddModel
* *
* @return * @return
*/ */
public boolean checkDictTypeUnique (SysDictType dictType); public boolean checkDictTypeUnique (SysDictTypeAddModel sysDictTypeAddModel);
/**
*
*
* @param sysDictTypeUpdModel
*
* @return
*/
public boolean checkDictTypeUnique (SysDictTypeUpdModel sysDictTypeUpdModel);
PageQueryModel<SysDictType> pageQuery(SysDictTypePageQueryModel sysDictTypePageQueryModel); PageQueryModel<SysDictType> pageQuery(SysDictTypePageQueryModel sysDictTypePageQueryModel);

View File

@ -9,7 +9,9 @@ import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel; import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.security.utils.DictUtils; import com.muyu.common.security.utils.DictUtils;
import com.muyu.common.system.domain.SysDictData; import com.muyu.common.system.domain.SysDictData;
import com.muyu.system.domain.model.SysDictDataAddModel;
import com.muyu.system.domain.model.SysDictDataPageQueryModel; import com.muyu.system.domain.model.SysDictDataPageQueryModel;
import com.muyu.system.domain.model.SysDictDataUpdModel;
import com.muyu.system.mapper.SysDictDataMapper; import com.muyu.system.mapper.SysDictDataMapper;
import com.muyu.system.service.SysDictDataService; import com.muyu.system.service.SysDictDataService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -25,15 +27,12 @@ import java.util.List;
*/ */
@Service @Service
public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements SysDictDataService { public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements SysDictDataService {
@Autowired
private SysDictDataMapper dictDataMapper;
/** /**
* *
* *
* @param dictData * @param pageQueryModel
* *
* @return * @return
*/ */
@ -101,26 +100,48 @@ public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDi
/** /**
* *
* *
* @param data * @param sysDictDataAddModel
*/ */
@Override @Override
public void insertDictData (SysDictData data) { public void insertDictData (SysDictDataAddModel sysDictDataAddModel) {
if (this.save(data)) { SysDictData sysDictData = SysDictData.builder()
List<SysDictData> dictDataList = this.selectDictDataByType(data.getDictType()); .dictCode(sysDictDataAddModel.getDictCode())
DictUtils.setDictCache(data.getDictType(), dictDataList); .dictSort(sysDictDataAddModel.getDictSort())
.dictLabel(sysDictDataAddModel.getDictLabel())
.dictValue(sysDictDataAddModel.getDictValue())
.dictType(sysDictDataAddModel.getDictType())
.cssClass(sysDictDataAddModel.getCssClass())
.listClass(sysDictDataAddModel.getListClass())
.isDefault(sysDictDataAddModel.getIsDefault())
.status(sysDictDataAddModel.getStatus())
.build();
if (this.save(sysDictData)) {
List<SysDictData> dictDataList = this.selectDictDataByType(sysDictData.getDictType());
DictUtils.setDictCache(sysDictData.getDictType(), dictDataList);
} }
} }
/** /**
* *
* *
* @param data * @param sysDictDataUpdModel
*/ */
@Override @Override
public void updateDictData (SysDictData data) { public void updateDictData (SysDictDataUpdModel sysDictDataUpdModel) {
if (this.updateById(data)) { SysDictData sysDictData = SysDictData.builder()
List<SysDictData> dictDataList = this.selectDictDataByType(data.getDictType()); .dictCode(sysDictDataUpdModel.getDictCode())
DictUtils.setDictCache(data.getDictType(), dictDataList); .dictSort(sysDictDataUpdModel.getDictSort())
.dictLabel(sysDictDataUpdModel.getDictLabel())
.dictValue(sysDictDataUpdModel.getDictValue())
.dictType(sysDictDataUpdModel.getDictType())
.cssClass(sysDictDataUpdModel.getCssClass())
.listClass(sysDictDataUpdModel.getListClass())
.isDefault(sysDictDataUpdModel.getIsDefault())
.status(sysDictDataUpdModel.getStatus())
.build();
if (this.updateById(sysDictData)) {
List<SysDictData> dictDataList = this.selectDictDataByType(sysDictData.getDictType());
DictUtils.setDictCache(sysDictData.getDictType(), dictDataList);
} }
} }

View File

@ -10,7 +10,10 @@ import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.security.utils.DictUtils; import com.muyu.common.security.utils.DictUtils;
import com.muyu.common.system.domain.SysDictData; import com.muyu.common.system.domain.SysDictData;
import com.muyu.common.system.domain.SysDictType; import com.muyu.common.system.domain.SysDictType;
import com.muyu.system.domain.model.SysDictTypeAddModel;
import com.muyu.system.domain.model.SysDictTypeListModel;
import com.muyu.system.domain.model.SysDictTypePageQueryModel; import com.muyu.system.domain.model.SysDictTypePageQueryModel;
import com.muyu.system.domain.model.SysDictTypeUpdModel;
import com.muyu.system.mapper.SysDictTypeMapper; import com.muyu.system.mapper.SysDictTypeMapper;
import com.muyu.system.service.SysDictDataService; import com.muyu.system.service.SysDictDataService;
import com.muyu.system.service.SysDictTypeService; import com.muyu.system.service.SysDictTypeService;
@ -30,8 +33,7 @@ import java.util.stream.Collectors;
*/ */
@Service @Service
public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictType> implements SysDictTypeService { public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictType> implements SysDictTypeService {
@Autowired
private SysDictTypeMapper dictTypeMapper;
@Autowired @Autowired
private SysDictDataService sysDictDataService; private SysDictDataService sysDictDataService;
@ -59,24 +61,34 @@ public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDi
/** /**
* *
* *
* @param dictType * @param sysDictTypePageQueryModel
* *
* @return * @return
*/ */
@Override @Override
public List<SysDictType> selectDictTypeList (SysDictType dictType) { public List<SysDictTypeListModel> selectDictTypeList (SysDictTypePageQueryModel sysDictTypePageQueryModel) {
LambdaQueryWrapper<SysDictType> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDictType> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.like(StringUtils.isNotEmpty(dictType.getDictName()),SysDictType::getDictName, dictType.getDictName()); lambdaQueryWrapper.like(StringUtils.isNotEmpty(sysDictTypePageQueryModel.getDictName()),SysDictType::getDictName, sysDictTypePageQueryModel.getDictName());
lambdaQueryWrapper.eq(StringUtils.isNotEmpty(dictType.getStatus()),SysDictType::getStatus, dictType.getStatus()); lambdaQueryWrapper.eq(StringUtils.isNotEmpty(sysDictTypePageQueryModel.getStatus()),SysDictType::getStatus, sysDictTypePageQueryModel.getStatus());
lambdaQueryWrapper.like(StringUtils.isNotEmpty(dictType.getDictType()),SysDictType::getDictType, dictType.getDictType()); lambdaQueryWrapper.like(StringUtils.isNotEmpty(sysDictTypePageQueryModel.getDictType()),SysDictType::getDictType, sysDictTypePageQueryModel.getDictType());
Map<String, Object> params = dictType.getParams(); Map<String, Object> params = sysDictTypePageQueryModel.getParams();
Date beginTime = (Date) params.get("beginTime"); Date beginTime = (Date) params.get("beginTime");
Date endTime = (Date) params.get("endTime"); Date endTime = (Date) params.get("endTime");
lambdaQueryWrapper.between( lambdaQueryWrapper.between(
beginTime != null && endTime != null, beginTime != null && endTime != null,
SysDictType::getCreateTime, beginTime, endTime SysDictType::getCreateTime, beginTime, endTime
); );
return this.list(lambdaQueryWrapper); List<SysDictType> sysDictTypeList = this.list(lambdaQueryWrapper);
List<SysDictTypeListModel> sysDictTypeListModelList = sysDictTypeList.stream().map(
sysDictType -> SysDictTypeListModel.builder()
.dictId(sysDictType.getDictId())
.dictName(sysDictType.getDictName())
.dictType(sysDictType.getDictType())
.status(sysDictType.getStatus())
.remark(sysDictType.getRemark())
.build()
).distinct().collect(Collectors.toList());
return sysDictTypeListModelList;
} }
/** /**
@ -191,25 +203,38 @@ public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDi
/** /**
* *
* *
* @param dict * @param sysDictTypeAddModel
* *
* @return * @return
*/ */
@Override @Override
public void insertDictType (SysDictType dict) { public void insertDictType (SysDictTypeAddModel sysDictTypeAddModel) {
if (this.save(dict)) { SysDictType sysDictType = SysDictType.builder()
DictUtils.setDictCache(dict.getDictType(), null); .dictName(sysDictTypeAddModel.getDictName())
.dictType(sysDictTypeAddModel.getDictType())
.status(sysDictTypeAddModel.getStatus())
.remark(sysDictTypeAddModel.getRemark())
.build();
if (this.save(sysDictType)) {
DictUtils.setDictCache(sysDictType.getDictType(), null);
} }
} }
/** /**
* *
* *
* @param dict * @param sysDictTypeUpdModel
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateDictType (SysDictType dict) { public void updateDictType (SysDictTypeUpdModel sysDictTypeUpdModel) {
SysDictType dict = SysDictType.builder()
.dictId(sysDictTypeUpdModel.getDictId())
.dictName(sysDictTypeUpdModel.getDictName())
.dictType(sysDictTypeUpdModel.getDictType())
.status(sysDictTypeUpdModel.getStatus())
.remark(sysDictTypeUpdModel.getRemark())
.build();
SysDictType oldDict = this.getById(dict.getDictId()); SysDictType oldDict = this.getById(dict.getDictId());
sysDictDataService.updateDictDataType(oldDict.getDictType(), dict.getDictType()); sysDictDataService.updateDictDataType(oldDict.getDictType(), dict.getDictType());
if (this.updateById(dict)) { if (this.updateById(dict)) {
@ -221,17 +246,30 @@ public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDi
/** /**
* *
* *
* @param dict * @param sysDictTypeAddModel
* *
* @return * @return
*/ */
@Override @Override
public boolean checkDictTypeUnique (SysDictType dict) { public boolean checkDictTypeUnique (SysDictTypeAddModel sysDictTypeAddModel) {
Assert.notNull(dict.getDictType(), "字典类型不可为空"); Assert.notNull(sysDictTypeAddModel.getDictType(), "字典类型不可为空");
Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId(); Long dictId = StringUtils.isNull(sysDictTypeAddModel.getDictId()) ? -1L : sysDictTypeAddModel.getDictId();
LambdaQueryWrapper<SysDictType> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDictType> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysDictType::getDictType, dict.getDictType()); lambdaQueryWrapper.eq(SysDictType::getDictType, sysDictTypeAddModel.getDictType());
lambdaQueryWrapper.ne(dict.getDictId() != null, SysDictType::getDictId, dictId); lambdaQueryWrapper.ne(sysDictTypeAddModel.getDictId() != null, SysDictType::getDictId, dictId);
if (this.count(lambdaQueryWrapper) > 0) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
@Override
public boolean checkDictTypeUnique(SysDictTypeUpdModel sysDictTypeUpdModel) {
Assert.notNull(sysDictTypeUpdModel.getDictType(), "字典类型不可为空");
Long dictId = StringUtils.isNull(sysDictTypeUpdModel.getDictId()) ? -1L : sysDictTypeUpdModel.getDictId();
LambdaQueryWrapper<SysDictType> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysDictType::getDictType, sysDictTypeUpdModel.getDictType());
lambdaQueryWrapper.ne(sysDictTypeUpdModel.getDictId() != null, SysDictType::getDictId, dictId);
if (this.count(lambdaQueryWrapper) > 0) { if (this.count(lambdaQueryWrapper) > 0) {
return UserConstants.NOT_UNIQUE; return UserConstants.NOT_UNIQUE;
} }