DictController.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. package edp.davinci.controller;
  2. import edp.core.annotation.AuthIgnore;
  3. import edp.core.annotation.CurrentUser;
  4. import edp.davinci.common.controller.BaseController;
  5. import edp.davinci.core.common.Constants;
  6. import edp.davinci.core.common.ResultMap;
  7. import edp.davinci.model.*;
  8. import edp.davinci.service.DictService;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import io.swagger.annotations.ApiResponse;
  12. import io.swagger.annotations.ApiResponses;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.http.HttpStatus;
  16. import org.springframework.http.MediaType;
  17. import org.springframework.http.ResponseEntity;
  18. import org.springframework.validation.BindingResult;
  19. import org.springframework.web.bind.annotation.*;
  20. import springfox.documentation.annotations.ApiIgnore;
  21. import javax.servlet.http.HttpServletRequest;
  22. import java.util.List;
  23. @Api(value = "/dict", tags = "dict", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  24. @ApiResponses(@ApiResponse(code = 404, message = "dict not found"))
  25. @Slf4j
  26. @RestController
  27. @RequestMapping(value = Constants.BASE_API_PATH + "/dict", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  28. public class DictController extends BaseController
  29. {
  30. @Autowired
  31. private DictService dictService;
  32. /**
  33. * 获取字典类型列表
  34. *
  35. * @param request
  36. * @return
  37. */
  38. @ApiOperation(value = "get dict type")
  39. @GetMapping(value = "/dictTypes")
  40. public ResponseEntity dictTypes(
  41. HttpServletRequest request)
  42. {
  43. List<DictType> dictTypes = dictService.getDictType();
  44. return ResponseEntity.status(HttpStatus.OK).body(dictTypes);
  45. }
  46. /**
  47. * 获取字典数据
  48. *
  49. * @param request
  50. * @return
  51. */
  52. @ApiOperation(value = "get dict data")
  53. @GetMapping(value = "/dictDatas")
  54. public ResponseEntity dictDatas(@RequestParam String dictType,
  55. HttpServletRequest request)
  56. {
  57. List<DictData> dictDataList = dictService.getDictData(dictType);
  58. return ResponseEntity.status(HttpStatus.OK).body(dictDataList);
  59. }
  60. /**
  61. * 创建字典类型
  62. *
  63. * @param dictType
  64. * @param request
  65. * @return
  66. */
  67. @ApiOperation(value = "create dict type", consumes = MediaType.APPLICATION_JSON_VALUE)
  68. @PostMapping(value = "/createDictType",consumes = MediaType.APPLICATION_JSON_VALUE)
  69. public ResponseEntity createDictType(@RequestBody DictType dictType,
  70. HttpServletRequest request)
  71. {
  72. DictType record = dictService.createDictType(dictType);
  73. return ResponseEntity.status(HttpStatus.OK).body(record);
  74. }
  75. /**
  76. * 创建字典数据
  77. *
  78. * @param dictData
  79. * @param request
  80. * @return
  81. */
  82. @ApiOperation(value = "create dict data", consumes = MediaType.APPLICATION_JSON_VALUE)
  83. @PostMapping(value = "/createDictData",consumes = MediaType.APPLICATION_JSON_VALUE)
  84. public ResponseEntity createDictData(@RequestBody DictData dictData,
  85. HttpServletRequest request)
  86. {
  87. DictData record = dictService.createDictData(dictData);
  88. return ResponseEntity.ok(record);
  89. }
  90. /**
  91. * 获取dict type 信息
  92. *
  93. * @param id
  94. * @param user
  95. * @param request
  96. * @return
  97. */
  98. @ApiOperation(value = "get dict type detail")
  99. @GetMapping("/getDictTypeDetail/{id}")
  100. public ResponseEntity getDictTypeDetail(@PathVariable Long id,
  101. @ApiIgnore @CurrentUser User user,
  102. HttpServletRequest request) {
  103. if (invalidId(id)) {
  104. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid project id");
  105. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  106. }
  107. DictType sourceDetail = dictService.getDictTypeDetail(id);
  108. return ResponseEntity.ok(sourceDetail);
  109. }
  110. /**
  111. * 获取dict data 信息
  112. *
  113. * @param id
  114. * @param user
  115. * @param request
  116. * @return
  117. */
  118. @ApiOperation(value = "get dict data detail")
  119. @GetMapping("/getDictDataDetail/{id}")
  120. public ResponseEntity getDictDataDetail(@PathVariable Long id,
  121. HttpServletRequest request) {
  122. DictData sourceDetail = dictService.getDictDataDetail(id);
  123. return ResponseEntity.ok(sourceDetail);
  124. }
  125. /**
  126. * 更新dictType
  127. *
  128. * @param id
  129. * @param source
  130. * @param request
  131. * @return
  132. */
  133. @ApiOperation(value = "update a dictType", consumes = MediaType.APPLICATION_JSON_VALUE)
  134. @PutMapping(value = "/updateDictType/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
  135. public ResponseEntity updateDictType(@PathVariable Long id,
  136. @RequestBody DictType dictType,
  137. HttpServletRequest request) {
  138. if (invalidId(id) || !id.equals(dictType.getDictId())) {
  139. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dictType id");
  140. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  141. }
  142. dictService.updateDictType(dictType);
  143. return ResponseEntity.ok("update success");
  144. }
  145. /**
  146. * 更新dictData
  147. *
  148. * @param id
  149. * @param source
  150. * @param request
  151. * @return
  152. */
  153. @ApiOperation(value = "update a dictData", consumes = MediaType.APPLICATION_JSON_VALUE)
  154. @PutMapping(value = "/updateDictData/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
  155. public ResponseEntity updateDictData(@PathVariable Long id,
  156. @RequestBody DictData dictData,
  157. HttpServletRequest request) {
  158. if (invalidId(id) || !id.equals(dictData.getDictCode())) {
  159. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dictData id");
  160. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  161. }
  162. dictService.updateDictData(dictData);
  163. return ResponseEntity.ok("update success");
  164. }
  165. /**
  166. * 删除dicttype
  167. *
  168. * @param id
  169. * @param request
  170. * @return
  171. */
  172. @ApiOperation(value = "delete a dicttype")
  173. @DeleteMapping("/deleteDictType/{id}")
  174. public ResponseEntity deleteDictType(@PathVariable Long id,
  175. HttpServletRequest request) {
  176. if (invalidId(id)) {
  177. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dicttype id");
  178. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  179. }
  180. dictService.deleteDictType(id);
  181. return ResponseEntity.ok("delete success");
  182. }
  183. /**
  184. * 删除dictdata
  185. *
  186. * @param id
  187. * @param user
  188. * @param request
  189. * @return
  190. */
  191. @ApiOperation(value = "delete a dictdata")
  192. @DeleteMapping("/deleteDictData/{id}")
  193. public ResponseEntity deleteDictData(@PathVariable Long id,
  194. HttpServletRequest request) {
  195. if (invalidId(id)) {
  196. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dictdata id");
  197. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  198. }
  199. dictService.deleteDictData(id);
  200. return ResponseEntity.ok("delete success");
  201. }
  202. }