From 92b586e7d47167421f6500be641734acebeacd79 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 15 三月 2024 20:39:30 +0800
Subject: [PATCH] 分类管理、字段管理接口

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldCategoryController.java |  109 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 56 insertions(+), 53 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldCategoryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldCategoryController.java
index c0b5ffd..6a4ea9d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldCategoryController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldCategoryController.java
@@ -1,9 +1,9 @@
 package com.ruoyi.web.controller.api;
 
 
-import com.ruoyi.common.basic.PageVO;
-import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.basic.PageDTO;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.utils.BeanUtils;
 import com.ruoyi.system.domain.TbFieldCategory;
 import com.ruoyi.system.dto.FieldCategoryDTO;
 import com.ruoyi.system.dto.ShowHideDTO;
@@ -11,15 +11,16 @@
 import com.ruoyi.system.query.FieldCategoryQuery;
 import com.ruoyi.system.service.TbFieldCategoryService;
 import com.ruoyi.system.vo.FieldCategoryDetailVO;
+import com.ruoyi.system.vo.FieldCategoryVO;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.constraints.NotNull;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -29,58 +30,58 @@
  * @author mitao
  * @since 2024-03-13
  */
-@Api(tags = "字段分类管理")
-@Validated
+@Slf4j
 @RestController
 @RequestMapping("/field-category")
 @RequiredArgsConstructor
+@Api(tags = "字段分类管理相关接口")
 public class TbFieldCategoryController {
+
     private final TbFieldCategoryService tbFieldCategoryService;
 
     /**
      * 添加
      * @param dto 字段分类数据传输对象
-     * @return AjaxResult
+     * @return R
      */
     @PostMapping("/add")
     @ApiOperation("添加")
-    public AjaxResult add(@RequestBody FieldCategoryDTO dto) {
+    public R<Object> add(@RequestBody @Validated FieldCategoryDTO dto) {
         try {
             tbFieldCategoryService.add(dto);
         } catch (Exception e) {
+            log.error("添加分类异常", e);
             throw new RuntimeException("操作失败");
         }
-        return AjaxResult.success();
+        return R.ok();
     }
 
     /**
      * 根据id获取字段分类详情
      * @param id 字段分类id
-     * @return AjaxResult
+     * @return R
      */
     @GetMapping("/getById")
     @ApiOperation("根据id获取字段分类详情")
-    @ApiImplicitParam(name = "id", value = "字段分类id", required = true)
-    public AjaxResult<FieldCategoryDetailVO> getById(@RequestParam(value = "id") @NotNull(message = "id不能为空") Integer id) {
+    public R<FieldCategoryDetailVO> getById(@RequestParam(value = "id") Integer id) {
         TbFieldCategory oneCategory = tbFieldCategoryService.getById(id);
-        FieldCategoryDetailVO vo = new FieldCategoryDetailVO();
-        BeanUtils.copyBeanProp(vo, oneCategory);
+        if (Objects.isNull(oneCategory)) {
+            return R.ok(new FieldCategoryDetailVO());
+        }
+        FieldCategoryDetailVO vo = BeanUtils.copyBean(oneCategory, FieldCategoryDetailVO.class);
         //根据一级分类id,查询二级分类
         List<TbFieldCategory> twoCategoryList = tbFieldCategoryService.lambdaQuery().eq(TbFieldCategory::getParentId, oneCategory.getId()).list();
         twoCategoryList.forEach(item->{
-            FieldCategoryDetailVO twoCategoryVO = new FieldCategoryDetailVO();
-            BeanUtils.copyBeanProp(twoCategoryVO, item);
+            FieldCategoryDetailVO twoCategoryVO = BeanUtils.copyBean(item, FieldCategoryDetailVO.class);
             vo.getChildren().add(twoCategoryVO);
             //根据二级分类id,查询三级分类
             List<TbFieldCategory> threeCategoryList = tbFieldCategoryService.lambdaQuery().eq(TbFieldCategory::getParentId, item.getId()).list();
             threeCategoryList.forEach(threeCategory->{
-                FieldCategoryDetailVO threeCategoryVO = new FieldCategoryDetailVO();
-                BeanUtils.copyBeanProp(threeCategoryVO, threeCategory);
+                FieldCategoryDetailVO threeCategoryVO = BeanUtils.copyBean(threeCategory, FieldCategoryDetailVO.class);
                 twoCategoryVO.getChildren().add(threeCategoryVO);
             });
-            vo.getChildren().add(twoCategoryVO);
         });
-        return AjaxResult.success(vo);
+        return R.ok(vo);
     }
 
     /**
@@ -90,59 +91,61 @@
      */
     @PostMapping("/page")
     @ApiOperation("分页条件查询")
-    public AjaxResult<PageVO<FieldCategoryDetailVO>> page(@RequestBody FieldCategoryQuery query) {
-        return AjaxResult.success(tbFieldCategoryService.queryPage(query));
+    public R<PageDTO<FieldCategoryVO>> page(@RequestBody FieldCategoryQuery query) {
+        return R.ok(tbFieldCategoryService.queryPage(query));
     }
 
     /**
      * 隐藏显示操作
      * @param dto 显示隐藏操作数据传输对象
-     * @return AjaxResult
+     * @return R
      */
-    @PostMapping("/show-hide")
+    @PutMapping("/show-hide")
     @ApiOperation("隐藏显示操作")
-    public AjaxResult showHide(@RequestBody ShowHideDTO dto) {
-        try {
-            tbFieldCategoryService.showHide(dto);
-        } catch (Exception e) {
-            throw new RuntimeException("操作失败");
-        }
-        return AjaxResult.success();
+    public R<Object> showHide(@RequestBody ShowHideDTO dto) {
+        tbFieldCategoryService.showHide(dto);
+        return R.ok();
     }
 
-    @GetMapping("/delete-children")
+    /**
+     * 删除分类子节点
+     * @param id id
+     * @return R
+     */
+    @DeleteMapping("/delete-children")
     @ApiOperation("编辑页面删除子字段分类")
-    @ApiImplicitParam(name = "id", value = "字段分类id", required = true)
-    public AjaxResult deleteChildren(@RequestParam(value = "id") @NotNull(message = "id不能为空") Integer id){
+    public R<Object> deleteChildren(@RequestParam(value = "id") Integer id){
         try {
             tbFieldCategoryService.deleteChildren(id);
         } catch (Exception e) {
+            log.error("编辑页面删除子字段分类失败",e);
             throw new RuntimeException("操作失败");
         }
-        return AjaxResult.success();
+        return R.ok();
     }
 
-    @GetMapping("/delete")
+    /**
+     * 删除分类
+     * @param id id
+     * @return R
+     */
+    @DeleteMapping("/delete")
     @ApiOperation("列表页面删除分类")
-    @ApiImplicitParam(name = "id", value = "字段分类id", required = true)
-    public AjaxResult delete(@RequestParam(value = "id") @NotNull(message = "id不能为空") Integer id){
-        try {
-            tbFieldCategoryService.delete(id);
-        } catch (Exception e) {
-            throw new RuntimeException("操作失败");
-        }
-        return AjaxResult.success();
+    public R<Void> delete(@RequestParam(value = "id") Integer id){
+        tbFieldCategoryService.delete(id);
+        return R.ok();
     }
 
-    @PostMapping("/edit")
+    /**
+     * 编辑分类
+     * @param dto 字段分类更新数据传输对象
+     * @return R
+     */
+    @PutMapping("/edit")
     @ApiOperation("编辑")
-    public AjaxResult edit(@RequestBody FieldCategoryUpdateDTO dto) {
-        try {
-            tbFieldCategoryService.edit(dto);
-        } catch (Exception e) {
-            throw new RuntimeException("操作失败");
-        }
-        return AjaxResult.success();
+    public R<Object> edit(@RequestBody FieldCategoryUpdateDTO dto) {
+        tbFieldCategoryService.edit(dto);
+        return R.ok();
     }
 
 }

--
Gitblit v1.7.1