CommonWordsController.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. package jnpf.base.controller;
  2. import cn.dev33.satoken.annotation.SaCheckPermission;
  3. import cn.dev33.satoken.annotation.SaMode;
  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.base.entity.CommonWordsEntity;
  10. import jnpf.base.entity.SystemEntity;
  11. import jnpf.base.model.commonword.ComWordsPagination;
  12. import jnpf.base.model.commonword.CommonWordsForm;
  13. import jnpf.base.model.commonword.CommonWordsVO;
  14. import jnpf.base.service.CommonWordsService;
  15. import jnpf.base.service.SystemService;
  16. import jnpf.base.vo.ListVO;
  17. import jnpf.base.vo.PageListVO;
  18. import jnpf.base.vo.PaginationVO;
  19. import jnpf.constant.MsgCode;
  20. import jnpf.util.JsonUtil;
  21. import jnpf.util.RandomUtil;
  22. import jnpf.util.StringUtil;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.web.bind.annotation.*;
  25. import java.util.ArrayList;
  26. import java.util.List;
  27. import java.util.stream.Collectors;
  28. /**
  29. * 常用语控制类
  30. *
  31. * @author JNPF开发平台组 YanYu
  32. * @version v3.4.6
  33. * @copyrignt 引迈信息技术有限公司
  34. * @date 2023-01-06
  35. */
  36. @Tag(name = "审批常用语", description = "commonWords")
  37. @RestController
  38. @RequestMapping("/api/system/CommonWords")
  39. public class CommonWordsController extends SuperController<CommonWordsService, CommonWordsEntity> {
  40. @Autowired
  41. private CommonWordsService commonWordsService;
  42. @Autowired
  43. private SystemService systemService;
  44. /**
  45. * 列表
  46. *
  47. * @param comWordsPagination 页面参数对象
  48. * @return 列表结果集
  49. */
  50. @Operation(summary = "当前系统应用列表")
  51. @GetMapping()
  52. public ActionResult<PageListVO<CommonWordsVO>> getList(ComWordsPagination comWordsPagination) {
  53. List<CommonWordsEntity> entityList = commonWordsService.getSysList(comWordsPagination, false);
  54. List<CommonWordsVO> voList = JsonUtil.getJsonToList(entityList, CommonWordsVO.class);
  55. formatSystemNames(voList);
  56. return ActionResult.page(voList, JsonUtil.getJsonToBean(comWordsPagination, PaginationVO.class));
  57. }
  58. /**
  59. * 获取信息
  60. *
  61. * @param id 主键
  62. * @return
  63. */
  64. @Operation(summary = "获取信息")
  65. @Parameter(name = "id", description = "主键", required = true)
  66. @GetMapping("/{id}")
  67. public ActionResult<CommonWordsVO> getInfo(@PathVariable String id) {
  68. CommonWordsEntity entity = commonWordsService.getById(id);
  69. if (StringUtil.isNotEmpty(entity.getSystemIds())) {
  70. String[] sysIds = entity.getSystemIds().split(",");
  71. List<String> ids = new ArrayList<>();
  72. for (String sysId : sysIds) {
  73. if (!StringUtil.isEmpty(sysId)) {
  74. SystemEntity systemEntity = systemService.getInfo(sysId);
  75. if (systemEntity != null && systemEntity.getEnabledMark() == 1) {
  76. ids.add(sysId);
  77. }
  78. }
  79. }
  80. if (ids.size() > 0) {
  81. entity.setSystemIds(StringUtil.join(ids, ","));
  82. } else {
  83. entity.setSystemIds(null);
  84. }
  85. }
  86. CommonWordsVO vo = JsonUtil.getJsonToBean(entity, CommonWordsVO.class);
  87. return ActionResult.success(vo);
  88. }
  89. /**
  90. * 下拉列表
  91. *
  92. * @return
  93. */
  94. @Operation(summary = "下拉列表")
  95. @GetMapping("/Selector")
  96. public ActionResult<ListVO<CommonWordsVO>> getSelect(String type) {
  97. List<CommonWordsVO> voList = JsonUtil.getJsonToList(commonWordsService.getListModel(type), CommonWordsVO.class);
  98. formatSystemNames(voList);
  99. return ActionResult.success(new ListVO<>(voList));
  100. }
  101. /**
  102. * 新建
  103. *
  104. * @param commonWordsForm 实体模型
  105. * @return
  106. */
  107. @Operation(summary = "新建")
  108. @Parameter(name = "commonWordsForm", description = "实体模型", required = true)
  109. @PostMapping("")
  110. public ActionResult<CommonWordsForm> create(@RequestBody CommonWordsForm commonWordsForm) {
  111. if (commonWordsService.existCommonWord(null, commonWordsForm.getCommonWordsText(), commonWordsForm.getCommonWordsType())) {
  112. return ActionResult.fail(MsgCode.SYS105.get());
  113. }
  114. CommonWordsEntity entity = JsonUtil.getJsonToBean(commonWordsForm, CommonWordsEntity.class);
  115. entity.setId(RandomUtil.uuId());
  116. entity.setUsesNum(0l);
  117. commonWordsService.save(entity);
  118. return ActionResult.success(MsgCode.SU001.get());
  119. }
  120. /**
  121. * 修改
  122. *
  123. * @param commonWordsForm 实体模型
  124. * @return
  125. */
  126. @Operation(summary = "修改")
  127. @Parameters({
  128. @Parameter(name = "commonWordsForm", description = "实体模型", required = true)
  129. })
  130. @PutMapping("/{id}")
  131. public ActionResult<CommonWordsForm> update(@RequestBody CommonWordsForm commonWordsForm) {
  132. if (commonWordsService.existCommonWord(commonWordsForm.getId(), commonWordsForm.getCommonWordsText(), commonWordsForm.getCommonWordsType())) {
  133. return ActionResult.fail(MsgCode.SYS105.get());
  134. }
  135. CommonWordsEntity entity = JsonUtil.getJsonToBean(commonWordsForm, CommonWordsEntity.class);
  136. entity.setId(commonWordsForm.getId());
  137. commonWordsService.updateById(entity);
  138. return ActionResult.success(MsgCode.SU004.get());
  139. }
  140. /**
  141. * 删除
  142. *
  143. * @param id 主键
  144. * @return
  145. */
  146. @Operation(summary = "删除")
  147. @Parameters({
  148. @Parameter(name = "id", description = "主键", required = true)
  149. })
  150. @DeleteMapping("/{id}")
  151. public ActionResult<CommonWordsForm> delete(@PathVariable String id) {
  152. //对象存在判断
  153. if (commonWordsService.getById(id) != null) {
  154. commonWordsService.removeById(id);
  155. return ActionResult.success(MsgCode.SU003.get());
  156. } else {
  157. return ActionResult.fail(MsgCode.FA003.get());
  158. }
  159. }
  160. @Operation(summary = "常用语使用")
  161. @Parameters({
  162. @Parameter(name = "commonWordsForm", description = "实体模型")
  163. })
  164. @PostMapping("/UsesNum")
  165. public ActionResult<CommonWordsForm> addCommonWordsNum(@RequestBody CommonWordsForm commonWordsForm) {
  166. commonWordsService.addCommonWordsNum(commonWordsForm.getCommonWordsText());
  167. return ActionResult.success(MsgCode.SU000.get());
  168. }
  169. private void formatSystemNames(List<CommonWordsVO> voList) {
  170. voList.forEach(vo -> {
  171. if (StringUtil.isNotEmpty(vo.getSystemIds())) {
  172. List<String> sysNameList = systemService.getListByIds(vo.getSystemIds(), null).stream()
  173. .map(SystemEntity::getFullName).collect(Collectors.toList());
  174. vo.setSystemNames(StringUtil.join(sysNameList, ","));
  175. }
  176. });
  177. }
  178. }