From d68c61517a3a6d4ec4d47844c21bdc143f99cbab Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 17 四月 2024 22:58:05 +0800
Subject: [PATCH] 大屏接口

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldController.java |  204 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 203 insertions(+), 1 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..b208bad 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,7 +1,31 @@
 package com.ruoyi.web.controller.api;
 
 
+import com.ruoyi.common.basic.PageDTO;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.exception.ServiceException;
+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 java.util.List;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -12,9 +36,187 @@
  * @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 Long id) {
+        try {
+            return R.ok(tbFieldCategoryService.queryFieldCategories(id));
+        } catch (Exception e) {
+            if (e instanceof ServiceException) {
+                return R.fail(e.getMessage());
+            }
+            log.error("获取分类列表异常", e);
+            return R.fail();
+        }
+    }
+
+    /**
+     * 添加字段
+     *
+     * @param dto 字段数据传输对象
+     * @return 响应状态
+     */
+    @PostMapping("/add")
+    @ApiOperation("添加字段")
+    public R<Void> add(@RequestBody @Validated FieldDTO dto) {
+        try {
+            tbFieldService.add(dto);
+        } catch (Exception e) {
+            if (e instanceof ServiceException) {
+                return R.fail(e.getMessage());
+            }
+            log.error("添加字段异常", e);
+            return R.fail();
+        }
+        return R.ok();
+    }
+
+    @GetMapping("/influenced-data")
+    @ApiOperation("隐藏字段,获取同步隐藏的基础数据")
+    public R<String> influencedData(@RequestParam Long id) {
+        try {
+            return R.ok(tbFieldService.influencedData(id));
+        } catch (Exception e) {
+            if (e instanceof ServiceException) {
+                return R.fail(e.getMessage());
+            }
+            log.error("获取同步隐藏的基础数据异常", e);
+            return R.fail();
+        }
+    }
+
+    /**
+     * 隐藏显示操作
+     *
+     * @param dto 显示隐藏操作数据传输对象
+     * @return R
+     */
+    @PostMapping("/show-hide")
+    @ApiOperation("隐藏显示操作")
+    public R<Void> showHide(@RequestBody ShowHideDTO dto) {
+        try {
+            tbFieldService.showHide(dto);
+        } catch (Exception e) {
+            if (e instanceof ServiceException) {
+                return R.fail(e.getMessage());
+            }
+            log.error("隐藏显示操作异常", e);
+            return R.fail();
+        }
+        return R.ok();
+    }
+
+    /**
+     * 编辑字段
+     *
+     * @param dto 字段数据传输对象
+     * @return 响应状态
+     */
+    @PostMapping("/edit")
+    @ApiOperation("编辑字段")
+    public R<Void> editField(@RequestBody @Validated FieldUpdateDTO dto) {
+        try {
+            tbFieldService.editField(dto);
+        } catch (Exception e) {
+            if (e instanceof ServiceException) {
+                return R.fail(e.getMessage());
+            }
+            log.error("编辑字段异常", e);
+            return R.fail();
+        }
+        return R.ok();
+    }
+
+    /**
+     * 分页条件查询
+     *
+     * @param query 部门条件查询对象
+     * @return PageVO<FieldCategoryDetailVO>
+     */
+    @PostMapping("/page")
+    @ApiOperation("分页条件查询")
+    public R<PageDTO<FieldVO>> page(@Validated @RequestBody FieldQuery query) {
+        try {
+            return R.ok(tbFieldService.queryPage(query));
+        } catch (Exception e) {
+            if (e instanceof ServiceException) {
+                return R.fail(e.getMessage());
+            }
+            log.error("分页条件查询异常", e);
+            return R.fail();
+        }
+    }
+
+    /**
+     * 获取详情
+     *
+     * @param id id
+     * @return FieldVO
+     */
+    @GetMapping("/get-details")
+    @ApiOperation("获取详情")
+    public R<FieldVO> getDetails(@RequestParam Long id) {
+        try {
+            TbField field = tbFieldService.getById(id);
+            return R.ok(BeanUtils.copyBean(field, FieldVO.class));
+        } catch (Exception e) {
+            if (e instanceof ServiceException) {
+                return R.fail(e.getMessage());
+            }
+            log.error("获取详情", e);
+            return R.fail();
+        }
+    }
+
+    /**
+     * 删除
+     *
+     * @param id id
+     * @return 响应状态
+     */
+    @DeleteMapping("/delete")
+    @ApiOperation("删除")
+    public R<Void> delete(@RequestParam Long id) {
+        try {
+            tbFieldService.removeById(id);
+        } catch (Exception e) {
+            if (e instanceof ServiceException) {
+                return R.fail(e.getMessage());
+            }
+            log.error("获取详情", e);
+            return R.fail();
+        }
+        return R.ok();
+    }
+
+    /**
+     * 模板下载
+     */
+    @GetMapping("/download")
+    @ApiOperation("模板下载")
+    public void downloadImportTemplate() {
+        try {
+            tbFieldService.downloadImportTemplate();
+        } catch (Exception e) {
+            log.error("模板下载异常", e);
+            throw new ServiceException("模板下载失败,请联系管理员!");
+        }
+    }
 }
 

--
Gitblit v1.7.1