From 60f94fdf7ffe379082d848accfe77ca8f5588991 Mon Sep 17 00:00:00 2001
From: "Ray.Hao" <1490493387@qq.com>
Date: Mon, 24 Mar 2025 07:24:32 +0800
Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=AD=97=E5=85=B8=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97=E9=87=8D=E6=9E=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../youlai/boot/common/result/ResultCode.java | 5 +
.../system/controller/DictController.java | 97 ++++++++++++++++---
.../system/controller/DictDataController.java | 96 ------------------
.../system/controller/UserController.java | 2 +-
.../system/converter/DictDataConverter.java | 15 ++-
.../system/listener/UserImportListener.java | 8 +-
.../boot/system/mapper/DictDataMapper.java | 28 ------
.../boot/system/mapper/DictItemMapper.java | 27 ++++++
.../youlai/boot/system/mapper/DictMapper.java | 7 --
.../youlai/boot/system/mapper/RoleMapper.java | 9 +-
.../entity/{DictData.java => DictItem.java} | 11 +--
.../{DictDataForm.java => DictItemForm.java} | 21 ++--
...aPageQuery.java => DictItemPageQuery.java} | 6 +-
.../system/model/query/DictPageQuery.java | 6 +-
.../system/model/vo/DictItemOptionVO.java | 27 ++++++
...ictDataPageVO.java => DictItemPageVO.java} | 4 +-
...tDataService.java => DictItemService.java} | 29 +++---
.../boot/system/service/DictService.java | 10 +-
...viceImpl.java => DictItemServiceImpl.java} | 46 ++++-----
.../system/service/impl/DictServiceImpl.java | 47 +++++----
.../system/service/impl/UserServiceImpl.java | 10 +-
...{DictDataMapper.xml => DictItemMapper.xml} | 8 +-
.../resources/mapper/system/DictMapper.xml | 21 ----
.../resources/mapper/system/UserMapper.xml | 1 +
24 files changed, 264 insertions(+), 277 deletions(-)
delete mode 100644 src/main/java/com/youlai/boot/system/controller/DictDataController.java
delete mode 100644 src/main/java/com/youlai/boot/system/mapper/DictDataMapper.java
create mode 100644 src/main/java/com/youlai/boot/system/mapper/DictItemMapper.java
rename src/main/java/com/youlai/boot/system/model/entity/{DictData.java => DictItem.java} (77%)
rename src/main/java/com/youlai/boot/system/model/form/{DictDataForm.java => DictItemForm.java} (50%)
rename src/main/java/com/youlai/boot/system/model/query/{DictDataPageQuery.java => DictItemPageQuery.java} (66%)
create mode 100644 src/main/java/com/youlai/boot/system/model/vo/DictItemOptionVO.java
rename src/main/java/com/youlai/boot/system/model/vo/{DictDataPageVO.java => DictItemPageVO.java} (92%)
rename src/main/java/com/youlai/boot/system/service/{DictDataService.java => DictItemService.java} (55%)
rename src/main/java/com/youlai/boot/system/service/impl/{DictDataServiceImpl.java => DictItemServiceImpl.java} (58%)
rename src/main/resources/mapper/system/{DictDataMapper.xml => DictItemMapper.xml} (85%)
diff --git a/src/main/java/com/youlai/boot/common/result/ResultCode.java b/src/main/java/com/youlai/boot/common/result/ResultCode.java
index 4f046f6e..7491e913 100644
--- a/src/main/java/com/youlai/boot/common/result/ResultCode.java
+++ b/src/main/java/com/youlai/boot/common/result/ResultCode.java
@@ -9,6 +9,10 @@ import java.io.Serializable;
* 响应码枚举
*
* 参考阿里巴巴开发手册响应码规范
+ * 00000 正常
+ * A**** 用户端错误
+ * B**** 系统执行出错
+ * C**** 调用第三方服务出错
*
* @author Ray.Hao
* @since 2020/6/23
@@ -57,6 +61,7 @@ public enum ResultCode implements IResultCode, Serializable {
USER_PASSWORD_ERROR("A0210", "用户名或密码错误"),
USER_INPUT_PASSWORD_ERROR_LIMIT_EXCEEDED("A0211", "用户输入密码错误次数超限"),
+ USER_NOT_EXIST("A0212", "用户不存在"),
USER_IDENTITY_VERIFICATION_FAILED("A0220", "用户身份校验失败"),
USER_FINGERPRINT_RECOGNITION_FAILED("A0221", "用户指纹识别失败"),
diff --git a/src/main/java/com/youlai/boot/system/controller/DictController.java b/src/main/java/com/youlai/boot/system/controller/DictController.java
index 8cf20f75..5009f3a2 100644
--- a/src/main/java/com/youlai/boot/system/controller/DictController.java
+++ b/src/main/java/com/youlai/boot/system/controller/DictController.java
@@ -4,12 +4,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.common.result.PageResult;
import com.youlai.boot.common.result.Result;
import com.youlai.boot.common.enums.LogModuleEnum;
+import com.youlai.boot.system.model.form.DictItemForm;
+import com.youlai.boot.system.model.query.DictItemPageQuery;
import com.youlai.boot.system.model.query.DictPageQuery;
+import com.youlai.boot.system.model.vo.DictItemOptionVO;
+import com.youlai.boot.system.model.vo.DictItemPageVO;
import com.youlai.boot.system.model.vo.DictPageVO;
import com.youlai.boot.common.annotation.RepeatSubmit;
import com.youlai.boot.system.model.form.DictForm;
import com.youlai.boot.common.annotation.Log;
-import com.youlai.boot.system.model.vo.DictVO;
+import com.youlai.boot.system.service.DictItemService;
import com.youlai.boot.system.service.DictService;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -25,17 +29,23 @@ import java.util.List;
/**
* 字典控制层
*
- * @author Ray
+ * @author Ray.Hao
* @since 2.9.0
*/
@Tag(name = "06.字典接口")
@RestController
-@RequestMapping("/api/v1/dict")
+@SuppressWarnings("SpellCheckingInspection")
+@RequestMapping("/api/v1/dicts")
@RequiredArgsConstructor
public class DictController {
private final DictService dictService;
+ private final DictItemService dictItemService;
+
+ //---------------------------------------------------
+ // 字典相关接口
+ //---------------------------------------------------
@Operation(summary = "字典分页列表")
@GetMapping("/page")
@Log( value = "字典分页列表",module = LogModuleEnum.DICT)
@@ -46,14 +56,7 @@ public class DictController {
return PageResult.success(result);
}
- @Operation(summary = "所有字典列表")
- @GetMapping("/list")
- public Result> getAllDictWithData() {
- List list = dictService.getAllDictWithData();
- return Result.success(list);
- }
-
- @Operation(summary = "字典表单")
+ @Operation(summary = "字典表单数据")
@GetMapping("/{id}/form")
public Result getDictForm(
@Parameter(description = "字典ID") @PathVariable Long id
@@ -92,4 +95,76 @@ public class DictController {
return Result.success();
}
+
+ //---------------------------------------------------
+ // 字典项相关接口
+ //---------------------------------------------------
+ @Operation(summary = "字典项分页")
+ @GetMapping("/{dictCode}/items/page")
+ public PageResult getDictItemPage(
+ @PathVariable String dictCode,
+ DictItemPageQuery queryParams
+ ) {
+ queryParams.setDictCode(dictCode);
+ Page result = dictItemService.getDictItemPage(queryParams);
+ return PageResult.success(result);
+ }
+
+ @Operation(summary = "字典项列表")
+ @GetMapping("/{dictCode}/items")
+ public Result> getDictItems(
+ @Parameter(description = "字典编码") @PathVariable String dictCode
+ ) {
+ List list = dictService.getDictItems(dictCode);
+ return Result.success(list);
+ }
+
+ @Operation(summary = "新增字典项")
+ @PostMapping("/{dictCode}/items")
+ @PreAuthorize("@ss.hasPerm('sys:dict-item:add')")
+ @RepeatSubmit
+ public Result saveDictItem(
+ @PathVariable String dictCode,
+ @Valid @RequestBody DictItemForm formData
+ ) {
+ formData.setDictCode(dictCode);
+ boolean result = dictItemService.saveDictItem(formData);
+ return Result.judge(result);
+ }
+
+ @Operation(summary = "字典项表单数据")
+ @GetMapping("/{dictCode}/items/{itemId}/form")
+ public Result getDictItemForm(
+ @PathVariable String dictCode,
+ @Parameter(description = "字典项ID") @PathVariable Long itemId
+ ) {
+ DictItemForm formData = dictItemService.getDictItemForm(dictCode,itemId);
+ return Result.success(formData);
+ }
+
+ @Operation(summary = "修改字典项")
+ @PutMapping("/{dictCode}/items/{itemId}")
+ @PreAuthorize("@ss.hasPerm('sys:dict-item:edit')")
+ @RepeatSubmit
+ public Result> updateDictItem(
+ @PathVariable String dictCode,
+ @PathVariable Long itemId,
+ @RequestBody DictItemForm formData
+ ) {
+ formData.setId(itemId);
+ formData.setDictCode(dictCode);
+ boolean status = dictItemService.updateDictItem(formData);
+ return Result.judge(status);
+ }
+
+ @Operation(summary = "删除字典项")
+ @DeleteMapping("/{dictCode}/items/{itemIds}")
+ @PreAuthorize("@ss.hasPerm('sys:dict-item:delete')")
+ public Result deleteDictItems(
+ @Parameter(description = "字典ID,多个以英文逗号(,)拼接") @PathVariable String ids
+ ) {
+ dictItemService.deleteDictItemByIds(ids);
+ return Result.success();
+ }
+
}
diff --git a/src/main/java/com/youlai/boot/system/controller/DictDataController.java b/src/main/java/com/youlai/boot/system/controller/DictDataController.java
deleted file mode 100644
index f99c8256..00000000
--- a/src/main/java/com/youlai/boot/system/controller/DictDataController.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.youlai.boot.system.controller;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.youlai.boot.common.annotation.Log;
-import com.youlai.boot.common.annotation.RepeatSubmit;
-import com.youlai.boot.common.enums.LogModuleEnum;
-import com.youlai.boot.common.model.Option;
-import com.youlai.boot.common.result.PageResult;
-import com.youlai.boot.common.result.Result;
-import com.youlai.boot.system.model.form.DictDataForm;
-import com.youlai.boot.system.model.query.DictDataPageQuery;
-import com.youlai.boot.system.model.vo.DictDataPageVO;
-import com.youlai.boot.system.service.DictDataService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import jakarta.validation.Valid;
-import lombok.RequiredArgsConstructor;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * 字典数据控制层
- *
- * @author Ray
- * @since 2.9.0
- */
-@Tag(name = "07.字典数据接口")
-@RestController
-@RequestMapping("/api/v1/dict-data")
-@RequiredArgsConstructor
-public class DictDataController {
-
- private final DictDataService dictDataService;
-
- @Operation(summary = "字典数据分页列表")
- @GetMapping("/page")
- @Log( value = "字典数据分页列表",module = LogModuleEnum.DICT)
- public PageResult getDictDataPage(
- DictDataPageQuery queryParams
- ) {
- Page result = dictDataService.getDictDataPage(queryParams);
- return PageResult.success(result);
- }
-
- @Operation(summary = "获取字典数据表单")
- @GetMapping("/{id}/form")
- public Result getDictDataForm(
- @Parameter(description = "字典数据ID") @PathVariable Long id
- ) {
- DictDataForm formData = dictDataService.getDictDataForm(id);
- return Result.success(formData);
- }
-
- @Operation(summary = "新增字典数据")
- @PostMapping
- @PreAuthorize("@ss.hasPerm('sys:dict-data:add')")
- @RepeatSubmit
- public Result saveDictData(@Valid @RequestBody DictDataForm formData) {
- boolean result = dictDataService.saveDictData(formData);
- return Result.judge(result);
- }
-
- @Operation(summary = "修改字典数据")
- @PutMapping("/{id}")
- @PreAuthorize("@ss.hasPerm('sys:dict-data:edit')")
- public Result> updateDictData(
- @PathVariable Long id,
- @RequestBody DictDataForm formData
- ) {
- boolean status = dictDataService.updateDictData(formData);
- return Result.judge(status);
- }
-
- @Operation(summary = "删除字典数据")
- @DeleteMapping("/{ids}")
- @PreAuthorize("@ss.hasPerm('sys:dict-data:delete')")
- public Result deleteDictionaries(
- @Parameter(description = "字典ID,多个以英文逗号(,)拼接") @PathVariable String ids
- ) {
- dictDataService.deleteDictDataByIds(ids);
- return Result.success();
- }
-
- @Operation(summary = "字典数据列表")
- @GetMapping("/{dictCode}/options")
- public Result>> getDictDataList(
- @Parameter(description = "字典编码") @PathVariable String dictCode
- ) {
- List