From 2da6576ce17cb18f042f561648230736945ec4c1 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 10 四月 2024 19:35:16 +0800
Subject: [PATCH] 大屏数据配置接口

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFieldController.java |  138 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 112 insertions(+), 26 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 405cbc6..69f100f 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
@@ -3,6 +3,7 @@
 
 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;
@@ -15,13 +16,17 @@
 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.*;
-
-import java.util.List;
-import java.util.Objects;
+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;
 
 /**
  * <p>
@@ -39,98 +44,179 @@
 public class TbFieldController {
 
     private final TbFieldService tbFieldService;
-    private final TbFieldCategoryService  tbFieldCategoryService;
+    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));
+    @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){
-        tbFieldService.add(dto);
+    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<List<String>> influencedData(@RequestParam Integer id) {
-        return R.ok(tbFieldService.influencedData(id));
+    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) {
-        tbFieldService.showHide(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> add(@RequestBody @Validated FieldUpdateDTO dto){
-        TbField field = tbFieldService.getById(dto.getId());
-        if (Objects.isNull(field)) {
-            throw new RuntimeException("参数异常");
+    public R<Void> add(@RequestBody @Validated FieldUpdateDTO dto) {
+        try {
+            tbFieldService.update(dto);
+        } catch (Exception e) {
+            if (e instanceof ServiceException) {
+                return R.fail(e.getMessage());
+            }
+            log.error("编辑字段异常", e);
+            return R.fail();
         }
-        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));
+    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 Integer id){
-        TbField field = tbFieldService.getById(id);
-        return R.ok(BeanUtils.copyBean(field, FieldVO.class));
+    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 Integer id){
-        tbFieldService.removeById(id);
+    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