ComFieldsController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package jnpf.base.controller;
  2. import cn.dev33.satoken.annotation.SaCheckPermission;
  3. import io.swagger.v3.oas.annotations.Parameter;
  4. import io.swagger.v3.oas.annotations.Parameters;
  5. import jnpf.base.controller.SuperController;
  6. import io.swagger.v3.oas.annotations.tags.Tag;
  7. import io.swagger.v3.oas.annotations.Operation;
  8. import jnpf.base.ActionResult;
  9. import jnpf.base.service.ComFieldsService;
  10. import jnpf.base.vo.ListVO;
  11. import jnpf.base.entity.ComFieldsEntity;
  12. import jnpf.constant.GenerateConstant;
  13. import jnpf.constant.MsgCode;
  14. import jnpf.exception.DataException;
  15. import jnpf.base.model.comfields.ComFieldsCrForm;
  16. import jnpf.base.model.comfields.ComFieldsInfoVO;
  17. import jnpf.base.model.comfields.ComFieldsListVO;
  18. import jnpf.base.model.comfields.ComFieldsUpForm;
  19. import jnpf.util.JsonUtil;
  20. import jnpf.util.JsonUtilEx;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.web.bind.annotation.*;
  23. import jakarta.validation.Valid;
  24. import java.util.ArrayList;
  25. import java.util.List;
  26. /**
  27. * 常用字段
  28. *
  29. * @author JNPF开发平台组
  30. * @version V3.1.0
  31. * @copyright 引迈信息技术有限公司
  32. * @date 2021/3/12 15:31
  33. */
  34. @Tag(name = "常用字段", description = "CommonFields")
  35. @RestController
  36. @RequestMapping("/api/system/CommonFields")
  37. public class ComFieldsController extends SuperController<ComFieldsService, ComFieldsEntity> {
  38. @Autowired
  39. private ComFieldsService comFieldsService;
  40. /**
  41. * 获取常用字段列表
  42. *
  43. * @return ignore
  44. */
  45. @Operation(summary = "获取常用字段列表")
  46. @SaCheckPermission("dataCenter.dataModel")
  47. @GetMapping
  48. public ActionResult<ListVO<ComFieldsListVO>> list() {
  49. List<ComFieldsEntity> data = comFieldsService.getList();
  50. List<ComFieldsListVO> list = JsonUtil.getJsonToList(data, ComFieldsListVO.class);
  51. ListVO<ComFieldsListVO> vo = new ListVO<>();
  52. vo.setList(list);
  53. return ActionResult.success(vo);
  54. }
  55. /**
  56. * 获取常用字段
  57. *
  58. * @param id 主键
  59. * @return ignore
  60. */
  61. @Operation(summary = "获取常用字段")
  62. @Parameter(name = "id", description = "主键", required = true)
  63. @SaCheckPermission("dataCenter.dataModel")
  64. @GetMapping("/{id}")
  65. public ActionResult<ComFieldsInfoVO> info(@PathVariable("id") String id) throws DataException {
  66. ComFieldsEntity entity = comFieldsService.getInfo(id);
  67. ComFieldsInfoVO vo = JsonUtilEx.getJsonToBeanEx(entity, ComFieldsInfoVO.class);
  68. return ActionResult.success(vo);
  69. }
  70. /**
  71. * 新增常用字段
  72. *
  73. * @param comFieldsCrForm 新增常用字段模型
  74. * @return ignore
  75. */
  76. @Operation(summary = "添加常用字段")
  77. @Parameter(name = "comFieldsCrForm", description = "新建模型", required = true)
  78. @SaCheckPermission("dataCenter.dataModel")
  79. @PostMapping
  80. public ActionResult create(@RequestBody @Valid ComFieldsCrForm comFieldsCrForm) {
  81. ComFieldsEntity entity = JsonUtil.getJsonToBean(comFieldsCrForm, ComFieldsEntity.class);
  82. List<String> javaSql = new ArrayList<>();
  83. javaSql.addAll(GenerateConstant.JAVA_KEYWORD);
  84. javaSql.addAll(GenerateConstant.SQL_KEYWORD);
  85. if(javaSql.contains(entity.getField())){
  86. return ActionResult.fail(MsgCode.SYS128.get("列名" + entity.getField()));
  87. }
  88. if (comFieldsService.isExistByFullName(entity.getField(), entity.getId())) {
  89. return ActionResult.fail(MsgCode.EXIST001.get());
  90. }
  91. comFieldsService.create(entity);
  92. return ActionResult.success(MsgCode.SU001.get());
  93. }
  94. /**
  95. * 修改常用字段
  96. *
  97. * @param id 主键
  98. * @param comFieldsUpForm 修改常用字段模型
  99. * @return ignore
  100. */
  101. @Operation(summary = "修改常用字段")
  102. @Parameters({
  103. @Parameter(name = "id", description = "主键", required = true),
  104. @Parameter(name = "comFieldsUpForm", description = "修改模型", required = true)
  105. })
  106. @SaCheckPermission("dataCenter.dataModel")
  107. @PutMapping("/{id}")
  108. public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid ComFieldsUpForm comFieldsUpForm) {
  109. ComFieldsEntity entity = JsonUtil.getJsonToBean(comFieldsUpForm, ComFieldsEntity.class);
  110. List<String> javaSql = new ArrayList<>();
  111. javaSql.addAll(GenerateConstant.JAVA_KEYWORD);
  112. javaSql.addAll(GenerateConstant.SQL_KEYWORD);
  113. if(javaSql.contains(entity.getField())){
  114. return ActionResult.fail(MsgCode.SYS128.get("列名" + entity.getField()));
  115. }
  116. if (comFieldsService.isExistByFullName(entity.getField(), id)) {
  117. return ActionResult.fail(MsgCode.EXIST001.get());
  118. }
  119. boolean flag = comFieldsService.update(id, entity);
  120. if (!flag) {
  121. return ActionResult.fail(MsgCode.FA002.get());
  122. }
  123. return ActionResult.success(MsgCode.SU004.get());
  124. }
  125. /**
  126. * 删除常用字段
  127. *
  128. * @param id 主键
  129. * @return ignore
  130. */
  131. @Operation(summary = "删除常用字段")
  132. @Parameter(name = "id", description = "主键", required = true)
  133. @SaCheckPermission("dataCenter.dataModel")
  134. @DeleteMapping("/{id}")
  135. public ActionResult delete(@PathVariable("id") String id) {
  136. ComFieldsEntity entity = comFieldsService.getInfo(id);
  137. if (entity != null) {
  138. comFieldsService.delete(entity);
  139. return ActionResult.success(MsgCode.SU003.get());
  140. }
  141. return ActionResult.fail(MsgCode.FA003.get());
  142. }
  143. }