VisualPersonalController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package jnpf.onlinedev.controller;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import cn.hutool.core.util.ObjectUtil;
  4. import io.swagger.v3.oas.annotations.Operation;
  5. import io.swagger.v3.oas.annotations.Parameter;
  6. import io.swagger.v3.oas.annotations.Parameters;
  7. import io.swagger.v3.oas.annotations.tags.Tag;
  8. import jnpf.base.ActionResult;
  9. import jnpf.constant.MsgCode;
  10. import jnpf.onlinedev.entity.VisualPersonalEntity;
  11. import jnpf.onlinedev.model.personalList.*;
  12. import jnpf.onlinedev.service.VisualPersonalService;
  13. import jnpf.util.JsonUtil;
  14. import jnpf.util.RandomUtil;
  15. import lombok.extern.slf4j.Slf4j;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.List;
  19. /**
  20. * 个性化列表视图控制器
  21. *
  22. * @author JNPF开发平台组
  23. * @version v5.1.0
  24. * @copyright 引迈信息技术有限公司
  25. * @date 2024/11/6 10:25:31
  26. */
  27. @Slf4j
  28. @Tag(name = "在线开发个性化列表", description = "OnlinePersonal")
  29. @RestController
  30. @RequestMapping("/api/visualdev/personal")
  31. public class VisualPersonalController {
  32. @Autowired
  33. private VisualPersonalService visualPersonalService;
  34. @Operation(summary = "列表")
  35. @Parameters({
  36. @Parameter(name = "menuId", description = "菜单id")
  37. })
  38. @GetMapping
  39. public ActionResult getList(VisualPersPagiantion pagiantion) {
  40. StpUtil.checkPermissionOr(pagiantion.getMenuId());
  41. List<VisualPersonalVo> listVo = visualPersonalService.getListVo(pagiantion.getMenuId());
  42. return ActionResult.success(listVo);
  43. }
  44. @Operation(summary = "新建")
  45. @Parameters({
  46. @Parameter(name = "form", description = "个性化列表视图表单")
  47. })
  48. @PostMapping
  49. public ActionResult create(@RequestBody VisualPersonalForm form) {
  50. StpUtil.checkPermissionOr(form.getMenuId());
  51. VisualPersonalEntity entity = JsonUtil.getJsonToBean(form, VisualPersonalEntity.class);
  52. if (ObjectUtil.isEmpty(form.getId()) || VisualPersConst.SYSTEM_ID.equals(form.getId())) {
  53. if (form.getFullName().length() > 6) {
  54. return ActionResult.fail(MsgCode.EXIST005.get());
  55. }
  56. if (visualPersonalService.isExistByFullName(form.getFullName(), null, form.getMenuId())) {
  57. return ActionResult.fail(MsgCode.EXIST001.get());
  58. }
  59. List<VisualPersonalEntity> list = visualPersonalService.getList(form.getMenuId());
  60. if (list.size() >= 5) {
  61. return ActionResult.fail(MsgCode.VS028.get());
  62. }
  63. entity.setId(RandomUtil.uuId());
  64. entity.setStatus(0);
  65. entity.setType(1);
  66. visualPersonalService.save(entity);
  67. }
  68. return ActionResult.success(MsgCode.SU001.get(), entity.getId());
  69. }
  70. @Operation(summary = "详情")
  71. @Parameters({
  72. @Parameter(name = "id", description = "个性化id"),
  73. @Parameter(name = "menuId", description = "菜单id"),
  74. })
  75. @GetMapping("/{id}")
  76. public ActionResult info(@PathVariable("id") String id, VisualPersPagiantion pagiantion) {
  77. StpUtil.checkPermissionOr(pagiantion.getMenuId());
  78. VisualPersonalInfo info = visualPersonalService.getInfo(id);
  79. return ActionResult.success(info);
  80. }
  81. @Operation(summary = "修改")
  82. @Parameters({
  83. @Parameter(name = "id", description = "视图id"),
  84. @Parameter(name = "form", description = "表单数据")
  85. })
  86. @PutMapping("/{id}")
  87. public ActionResult update(@PathVariable("id") String id, @RequestBody VisualPersonalForm form) {
  88. StpUtil.checkPermissionOr(form.getMenuId());
  89. if (visualPersonalService.getById(id) != null) {
  90. if (form.getFullName().length() > 6) {
  91. return ActionResult.fail(MsgCode.EXIST005.get());
  92. }
  93. if (visualPersonalService.isExistByFullName(form.getFullName(), id, form.getMenuId())) {
  94. return ActionResult.fail(MsgCode.EXIST001.get());
  95. }
  96. VisualPersonalEntity entity = JsonUtil.getJsonToBean(form, VisualPersonalEntity.class);
  97. boolean b = visualPersonalService.updateById(entity);
  98. if (b) {
  99. return ActionResult.success(MsgCode.SU004.get());
  100. }
  101. }
  102. return ActionResult.success(MsgCode.FA002.get());
  103. }
  104. @Operation(summary = "设置默认")
  105. @Parameters({
  106. @Parameter(name = "id", description = "视图id"),
  107. @Parameter(name = "menuId", description = "菜单id")
  108. })
  109. @PutMapping("/{id}/setDefault")
  110. public ActionResult updateStatus(@PathVariable("id") String id, VisualPersPagiantion pagiantion) {
  111. StpUtil.checkPermissionOr(pagiantion.getMenuId());
  112. List<VisualPersonalEntity> list = visualPersonalService.getList(pagiantion.getMenuId());
  113. for (VisualPersonalEntity entity : list) {
  114. if (entity.getId().equals(id)) {
  115. entity.setStatus(1);
  116. } else {
  117. entity.setStatus(0);
  118. }
  119. }
  120. boolean b = visualPersonalService.updateBatchById(list);
  121. if (b) {
  122. return ActionResult.success(MsgCode.SU004.get());
  123. }
  124. return ActionResult.success(MsgCode.FA002.get());
  125. }
  126. @Operation(summary = "删除")
  127. @Parameters({
  128. @Parameter(name = "id", description = "视图id"),
  129. @Parameter(name = "menuId", description = "菜单id")
  130. })
  131. @DeleteMapping("/{id}")
  132. public ActionResult delete(@PathVariable("id") String id, VisualPersPagiantion pagiantion) {
  133. StpUtil.checkPermissionOr(pagiantion.getMenuId());
  134. if (visualPersonalService.getById(id) != null) {
  135. boolean b = visualPersonalService.removeById(id);
  136. if (b) {
  137. return ActionResult.success(MsgCode.SU003.get());
  138. }
  139. }
  140. return ActionResult.success(MsgCode.FA003.get());
  141. }
  142. }