StructureController.java 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.core.base.Constants;
  3. import cn.cslg.pas.common.model.dto.QueryPathStructureNameDTO;
  4. import cn.cslg.pas.common.model.dto.StructureAddNewDTO;
  5. import cn.cslg.pas.common.model.dto.StructureQueryPageDTO;
  6. import cn.cslg.pas.common.model.dto.StructureUpdateDTO;
  7. import cn.cslg.pas.common.model.vo.PathStructureNameVO;
  8. import cn.cslg.pas.common.model.vo.StructureVO;
  9. import cn.cslg.pas.common.utils.Response;
  10. import cn.cslg.pas.exception.XiaoShiException;
  11. import cn.cslg.pas.service.IStructureService;
  12. import com.alibaba.fastjson.JSONObject;
  13. import io.swagger.v3.oas.annotations.Operation;
  14. import io.swagger.v3.oas.annotations.tags.Tag;
  15. import lombok.RequiredArgsConstructor;
  16. import lombok.extern.slf4j.Slf4j;
  17. import org.springframework.web.bind.annotation.*;
  18. import org.springframework.web.multipart.MultipartFile;
  19. import java.util.List;
  20. /**
  21. * 架构的Controller层
  22. *
  23. * @Author chenyu
  24. * @Date 2023/3/10
  25. */
  26. @Tag(name = "架构管理模块")
  27. @RequiredArgsConstructor
  28. @Slf4j
  29. @RequestMapping(Constants.API_VERSION_V2 + "/structures")
  30. @RestController
  31. public class StructureController {
  32. private final IStructureService structureService;
  33. @Operation(summary = "新增架构")
  34. @PostMapping("/addNew")
  35. public String addNew(String jsons, List<MultipartFile> files) {
  36. if (jsons != null) {
  37. StructureAddNewDTO structureAddNewDTO = JSONObject.parseObject(jsons, StructureAddNewDTO.class);
  38. log.info("开始处理【新增架构】的请求,请求参数为:{}, {}", structureAddNewDTO, files);
  39. try {
  40. structureService.addNew(structureAddNewDTO, files);
  41. } catch (XiaoShiException e) {
  42. return Response.error(e.getMessage());
  43. }
  44. return Response.success("新增架构完成");
  45. }
  46. return Response.error("请求参数为null");
  47. }
  48. @Operation(summary = "修改架构")
  49. @PostMapping("/update")
  50. public String update(String jsons, List<MultipartFile> files) {
  51. if (jsons != null) {
  52. StructureUpdateDTO structureUpdateDTO = JSONObject.parseObject(jsons, StructureUpdateDTO.class);
  53. log.info("开始处理【修改架构】的请求,请求参数为:{}, {}", structureUpdateDTO, files);
  54. try {
  55. structureService.update(structureUpdateDTO, files);
  56. } catch (XiaoShiException e) {
  57. return Response.error(e.getMessage());
  58. }
  59. return Response.success("修改架构完成");
  60. }
  61. return Response.error("请求参数为null");
  62. }
  63. @Operation(summary = "查询架构树")
  64. @PostMapping("/query")
  65. public Response query(@RequestBody StructureQueryPageDTO structureQueryPageDTO) {
  66. log.info("开始处理【查询架构树】的请求,请求参数为:{}", structureQueryPageDTO);
  67. StructureVO queryResult = structureService.query(structureQueryPageDTO);
  68. return Response.ok(queryResult);
  69. }
  70. @Operation(summary = "查询拼接路径名")
  71. @PostMapping("/queryPathStructureName")
  72. public String queryPathStructureName(@RequestBody QueryPathStructureNameDTO queryPathStructureNameDTO) {
  73. log.info("开始处理【查询所有架构路径和路径架构名称】的业务,参数为:{}", queryPathStructureNameDTO);
  74. List<PathStructureNameVO> queryResults = structureService.queryPathStructureName(queryPathStructureNameDTO);
  75. return Response.success(queryResults);
  76. }
  77. @Operation(summary = "删除架构")
  78. @GetMapping("/delete")
  79. public String delete(Integer id) {
  80. log.info("开始处理【删除架构】的请求,请求参数为:{}", id);
  81. try {
  82. structureService.delete(id);
  83. } catch (XiaoShiException e) {
  84. return Response.error(e.getMessage());
  85. }
  86. return Response.success("删除架构完成");
  87. }
  88. }