CommonController.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. package com.pavis.app.saasbacken.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.pavis.app.saasbacken.aop.PreSaveLog;
  4. import com.pavis.app.saasbacken.exception.GlobalExceptionHandler;
  5. import com.pavis.app.saasbacken.form.ModuleTree;
  6. import com.pavis.app.saasbacken.http.ResultBody;
  7. import com.pavis.app.saasbacken.service.*;
  8. import com.pavis.app.saasbacken.utils.HttpContextUtils;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.servlet.http.HttpServletRequest;
  15. import java.io.IOException;
  16. import java.util.List;
  17. /**
  18. * @program: push-saas
  19. * @description: 通用接口
  20. * @author: Guanzi
  21. * @created: 2021/11/04 14:42
  22. */
  23. @Slf4j
  24. @Api(value = "通用接口")
  25. @RestController
  26. @RequestMapping("/api")
  27. public class CommonController {
  28. @Autowired
  29. private DicService dicService;
  30. @Autowired
  31. private CheckModuleService checkModuleService;
  32. @Autowired
  33. private InitDataParentService initDataParentService;
  34. @Autowired
  35. private InitDataChildService initDataChildService;
  36. @Autowired
  37. private InitDataThirdService initDataThirdService;
  38. /**
  39. * 通用配置:
  40. * key-value。通用配置。
  41. */
  42. @PreSaveLog("构建字典库信息")
  43. @ApiOperation(value = "构建字典库信息接口", notes = "构建字典库信息接口")
  44. @GetMapping("/dic/{test}")
  45. public ResultBody dic(@PathVariable("test") String test) {
  46. HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
  47. String uri = request.getRequestURI();
  48. try {
  49. log.info("param dic:{}", test);
  50. return ResultBody.ok().path(uri).data(dicService.createDic());
  51. } catch (Exception e) {
  52. return GlobalExceptionHandler.resolveException(e, uri);
  53. }
  54. }
  55. /**
  56. * 通用配置:
  57. * key-value。通用配置。
  58. */
  59. @PreSaveLog("初始化节点data1数据信息")
  60. @ApiOperation(value = "初始化节点data1数据信息接口", notes = "初始化节点data1数据信息接口")
  61. @GetMapping("/init/parent")
  62. public ResultBody initDataParent() {
  63. HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
  64. String uri = request.getRequestURI();
  65. try {
  66. log.info("init initDataParent:{}", "init");
  67. return ResultBody.ok().path(uri).data(initDataParentService.initDataParent());
  68. } catch (Exception e) {
  69. return GlobalExceptionHandler.resolveException(e, uri);
  70. }
  71. }
  72. /**
  73. * 通用配置:
  74. * key-value。通用配置。
  75. */
  76. @PreSaveLog("初始化节点data2数据信息")
  77. @ApiOperation(value = "初始化节点data2数据信息接口", notes = "初始化节点data2数据信息接口")
  78. @GetMapping("/init/child")
  79. public ResultBody initDataChild() {
  80. HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
  81. String uri = request.getRequestURI();
  82. try {
  83. log.info("init initDataChild:{}", "init");
  84. return ResultBody.ok().path(uri).data(initDataChildService.initDataChild());
  85. } catch (Exception e) {
  86. return GlobalExceptionHandler.resolveException(e, uri);
  87. }
  88. }
  89. /**
  90. * 通用配置:
  91. * key-value。通用配置。
  92. */
  93. @PreSaveLog("初始化节点data3数据信息")
  94. @ApiOperation(value = "初始化节点data3数据信息接口", notes = "初始化节点data3数据信息接口")
  95. @GetMapping("/init/third")
  96. public ResultBody initDataThird() {
  97. HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
  98. String uri = request.getRequestURI();
  99. try {
  100. log.info("init initDataThird:{}", "init");
  101. return ResultBody.ok().path(uri).data(initDataThirdService.initDataThird());
  102. } catch (Exception e) {
  103. return GlobalExceptionHandler.resolveException(e, uri);
  104. }
  105. }
  106. /**
  107. * 通用配置:
  108. * key-value。通用配置。
  109. */
  110. @PreSaveLog("获取所有基础功能数据")
  111. @ApiOperation(value = "获取所有基础功能数据信息接口", notes = "获取所有基础功能数据信息接口")
  112. @GetMapping("/get/lib")
  113. public ResultBody getLibrary() {
  114. HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
  115. String uri = request.getRequestURI();
  116. try {
  117. log.info("getLibrary:{}", "init");
  118. return ResultBody.ok().path(uri).data(checkModuleService.selModules());
  119. } catch (Exception e) {
  120. return GlobalExceptionHandler.resolveException(e, uri);
  121. }
  122. }
  123. /**
  124. * 通用配置:
  125. * key-value。通用配置。
  126. */
  127. @PreSaveLog("节点管理员动态创建节点数据")
  128. @ApiOperation(value = "节点管理员动态创建节点数据接口", notes = "节点管理员动态创建节点数据接口")
  129. @PostMapping("/add/init")
  130. // public ResultBody addInitFunction(@RequestBody List<ModuleParam> moduleParams) {
  131. // public ResultBody addInitFunction(@RequestBody Object o) {
  132. public ResultBody addInitFunction(@RequestBody List<ModuleTree> moduleParams) {
  133. HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
  134. String uri = request.getRequestURI();
  135. try {
  136. log.info("addInitFunction:{}", JSON.toJSONString(moduleParams));
  137. // return ResultBody.ok().path(uri).data(null);
  138. return ResultBody.ok().path(uri).data(checkModuleService.addInitData(moduleParams));
  139. } catch (Exception e) {
  140. return GlobalExceptionHandler.resolveException(e, uri);
  141. }
  142. }
  143. @PreSaveLog("获取节点基础数据")
  144. @ApiOperation(value = "获取节点基础数据接口", notes = "获取节点基础数据接口")
  145. @PostMapping("/node/data")
  146. public ResultBody getNodeData(String resType) {
  147. HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
  148. String uri = request.getRequestURI();
  149. try {
  150. log.info("getNodeData:{}", resType);
  151. return ResultBody.ok().path(uri).data(checkModuleService.getNodeData(resType));
  152. } catch (Exception e) {
  153. return GlobalExceptionHandler.resolveException(e, uri);
  154. }
  155. }
  156. @PostMapping("/province/get")
  157. @PreSaveLog("省市区联动")
  158. @ApiOperation(value = "获取省市区联动接口", notes = "获取省市区联动接口")
  159. public ResultBody getPCD(Integer pid) throws IOException {
  160. HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
  161. String uri = request.getRequestURI();
  162. try {
  163. log.info("getPCD:{}", pid);
  164. return ResultBody.ok().path(uri).data(checkModuleService.getPCD(pid));
  165. } catch (Exception e) {
  166. return GlobalExceptionHandler.resolveException(e, uri);
  167. }
  168. }
  169. }