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/TbFieldController.java |  122 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 119 insertions(+), 3 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldController.java
index 895dba4..0db336e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldController.java
@@ -1,8 +1,27 @@
 package com.ruoyi.web.controller.api;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.basic.PageDTO;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.utils.BeanUtils;
+import com.ruoyi.system.domain.TbField;
+import com.ruoyi.system.dto.FieldDTO;
+import com.ruoyi.system.dto.ShowHideDTO;
+import com.ruoyi.system.dto.update.FieldUpdateDTO;
+import com.ruoyi.system.query.FieldQuery;
+import com.ruoyi.system.service.TbFieldCategoryService;
+import com.ruoyi.system.service.TbFieldService;
+import com.ruoyi.system.vo.FieldCategoryVO;
+import com.ruoyi.system.vo.FieldVO;
+import io.swagger.annotations.Api;
+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 java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -12,9 +31,106 @@
  * @author mitao
  * @since 2024-03-13
  */
+@Slf4j
 @RestController
-@RequestMapping("/tb-field")
+@RequiredArgsConstructor
+@RequestMapping("/field")
+@Api(tags = "字段管理相关接口")
 public class TbFieldController {
 
+    private final TbFieldService tbFieldService;
+    private final TbFieldCategoryService  tbFieldCategoryService;
+
+    /**
+     * 获取分类列表
+     * @param id 分类id
+     * @return 分类列表
+     */
+    @GetMapping("/categories")
+    @ApiOperation(value = "获取分类列表",notes = "一级分类id传0,二级分类传一级分类id,三级分类同理")
+    public R<List<FieldCategoryVO>> queryFieldCategories(@RequestParam Integer id) {
+        return R.ok(tbFieldCategoryService.queryFieldCategories(id));
+    }
+
+    /**
+     * 添加字段
+     * @param dto 字段数据传输对象
+     * @return 响应状态
+     */
+    @PostMapping("/add")
+    @ApiOperation("添加字段")
+    public R<Void> add(@RequestBody @Validated FieldDTO dto){
+        tbFieldService.add(dto);
+        return R.ok();
+    }
+
+    @GetMapping("/influenced-data")
+    @ApiOperation("隐藏字段,获取同步隐藏的基础数据")
+    public R<List<String>> influencedData(@RequestParam Integer id) {
+        return R.ok(tbFieldService.influencedData(id));
+    }
+    /**
+     * 隐藏显示操作
+     * @param dto 显示隐藏操作数据传输对象
+     * @return R
+     */
+    @PostMapping("/show-hide")
+    @ApiOperation("隐藏显示操作")
+    public R<Void> showHide(@RequestBody ShowHideDTO dto) {
+        tbFieldService.showHide(dto);
+        return R.ok();
+    }
+
+    /**
+     * 编辑字段
+     * @param dto 字段数据传输对象
+     * @return 响应状态
+     */
+    @PostMapping("/edit")
+    @ApiOperation("编辑字段")
+    public R<Void> add(@RequestBody @Validated FieldUpdateDTO dto){
+        TbField field = tbFieldService.getById(dto.getId());
+        if (Objects.isNull(field)) {
+            throw new RuntimeException("参数异常");
+        }
+        TbField tbField = BeanUtils.copyBean(dto, TbField.class);
+        tbFieldService.updateById(tbField);
+        return R.ok();
+    }
+
+    /**
+     * 分页条件查询
+     * @param query 部门条件查询对象
+     * @return PageVO<FieldCategoryDetailVO>
+     */
+    @PostMapping("/page")
+    @ApiOperation("分页条件查询")
+    public R<PageDTO<FieldVO>> page(@RequestBody FieldQuery query) {
+        return R.ok(tbFieldService.queryPage(query));
+    }
+
+    /**
+     * 获取详情
+     * @param id id
+     * @return FieldVO
+     */
+    @GetMapping("/getById")
+    @ApiOperation("获取详情")
+    public R<FieldVO> getById(@RequestParam Integer id){
+        TbField field = tbFieldService.getById(id);
+        return R.ok(BeanUtils.copyBean(field, FieldVO.class));
+    }
+
+    /**
+     * 删除
+     * @param id id
+     * @return 响应状态
+     */
+    @DeleteMapping("/delete")
+    @ApiOperation("删除")
+    public R<Void> delete(@RequestParam Integer id){
+        tbFieldService.removeById(id);
+        return R.ok();
+    }
 }
 

--
Gitblit v1.7.1