CommonWordsServiceImpl.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. package jnpf.base.service.impl;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import jnpf.base.entity.CommonWordsEntity;
  6. import jnpf.base.entity.SystemEntity;
  7. import jnpf.base.mapper.CommonWordsMapper;
  8. import jnpf.base.model.commonword.ComWordsPagination;
  9. import jnpf.base.service.CommonWordsService;
  10. import jnpf.base.service.SuperServiceImpl;
  11. import jnpf.base.service.SystemService;
  12. import jnpf.util.StringUtil;
  13. import jnpf.util.UserProvider;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import java.util.List;
  17. import java.util.Objects;
  18. import java.util.stream.Collectors;
  19. /**
  20. * 审批常用语 ServiceImpl
  21. *
  22. * @author JNPF开发平台组 YanYu
  23. * @version v3.4.6
  24. * @copyrignt 引迈信息技术有限公司
  25. * @date 2023-01-06
  26. */
  27. @Service
  28. public class CommonWordsServiceImpl extends SuperServiceImpl<CommonWordsMapper, CommonWordsEntity> implements CommonWordsService {
  29. @Autowired
  30. private SystemService systemService;
  31. @Override
  32. public List<CommonWordsEntity> getSysList(ComWordsPagination comWordsPagination, Boolean currentSysFlag) {
  33. QueryWrapper<SystemEntity> sysQuery = new QueryWrapper<>();
  34. // 匹配
  35. QueryWrapper<CommonWordsEntity> query = new QueryWrapper<>();
  36. if (Objects.nonNull(comWordsPagination.getCommonWordsType())) {
  37. query.lambda().eq(CommonWordsEntity::getCommonWordsType, comWordsPagination.getCommonWordsType());
  38. if (Objects.equals(comWordsPagination.getCommonWordsType(), 1)) {
  39. query.lambda().eq(CommonWordsEntity::getCreatorUserId, UserProvider.getUser().getUserId());
  40. }
  41. }
  42. // if(currentSysFlag) query.lambda().like(CommonWordsEntity::getSystemIds, UserProvider.getUser().getSystemId());
  43. if (StringUtil.isNotEmpty(comWordsPagination.getKeyword())) {
  44. sysQuery.lambda().like(SystemEntity::getFullName, comWordsPagination.getKeyword());
  45. List<String> ids = systemService.list(sysQuery).stream().map(SystemEntity::getId).collect(Collectors.toList());
  46. query.lambda().and(t -> {
  47. // 应用名称
  48. for (String id : ids) {
  49. t.like(CommonWordsEntity::getSystemIds, id).or();
  50. }
  51. t.like(CommonWordsEntity::getCommonWordsText, comWordsPagination.getKeyword()); // 常用语
  52. });
  53. }
  54. if (comWordsPagination.getEnabledMark() != null) {
  55. query.lambda().eq(CommonWordsEntity::getEnabledMark, comWordsPagination.getEnabledMark());
  56. }
  57. // 排序
  58. if(Objects.equals(comWordsPagination.getCommonWordsType(),1)){
  59. query.lambda().orderByDesc(CommonWordsEntity::getUsesNum);
  60. }
  61. query.lambda().orderByAsc(CommonWordsEntity::getSortCode).orderByDesc(CommonWordsEntity::getCreatorTime);
  62. Page<CommonWordsEntity> page = this.page(comWordsPagination.getPage(), query);
  63. comWordsPagination.setTotal(page.getTotal());
  64. return page.getRecords();
  65. }
  66. @Override
  67. public List<CommonWordsEntity> getListModel(String type) {
  68. QueryWrapper<CommonWordsEntity> query = new QueryWrapper<>();
  69. query.lambda().eq(CommonWordsEntity::getEnabledMark, 1)
  70. .and(t ->
  71. t.and(t2 -> t2.eq(CommonWordsEntity::getCreatorUserId, UserProvider.getUser().getUserId()).or().eq(CommonWordsEntity::getCommonWordsType, 0))
  72. );
  73. // 排序
  74. query.lambda()
  75. .orderByDesc(CommonWordsEntity::getCommonWordsType)
  76. .orderByDesc(CommonWordsEntity::getUsesNum)
  77. .orderByAsc(CommonWordsEntity::getSortCode)
  78. .orderByDesc(CommonWordsEntity::getCreatorTime);
  79. return this.list(query);
  80. }
  81. @Override
  82. public Boolean existSystem(String systemId) {
  83. QueryWrapper<CommonWordsEntity> query = new QueryWrapper<>();
  84. query.lambda().like(CommonWordsEntity::getSystemIds, systemId);
  85. return count(query) > 0;
  86. }
  87. @Override
  88. public Boolean existCommonWord(String id, String commonWordsText, Integer commonWordsType) {
  89. QueryWrapper<CommonWordsEntity> query = new QueryWrapper<>();
  90. if (StringUtil.isNotEmpty(id)) {
  91. query.lambda().ne(CommonWordsEntity::getId, id);
  92. }
  93. if (ObjectUtil.isNotEmpty(commonWordsType)) {
  94. if (Objects.equals(commonWordsType, 1)) {
  95. query.lambda().and(t ->
  96. t.eq(CommonWordsEntity::getCreatorUserId, UserProvider.getUser().getUserId()).or().eq(CommonWordsEntity::getCommonWordsType, 0)
  97. );
  98. } else {
  99. query.lambda().eq(CommonWordsEntity::getCommonWordsType, commonWordsType);
  100. }
  101. }
  102. query.lambda().eq(CommonWordsEntity::getCommonWordsText, commonWordsText);
  103. return count(query) > 0;
  104. }
  105. @Override
  106. public void addCommonWordsNum(String commonWordsText) {
  107. QueryWrapper<CommonWordsEntity> query = new QueryWrapper<>();
  108. query.lambda().eq(CommonWordsEntity::getCommonWordsText, commonWordsText);
  109. query.lambda().eq(CommonWordsEntity::getCreatorUserId, UserProvider.getUser().getUserId());
  110. query.lambda().eq(CommonWordsEntity::getCommonWordsType, 1);
  111. List<CommonWordsEntity> list = list(query);
  112. if (list.size() > 0) {
  113. for (CommonWordsEntity item : list) {
  114. long num = item.getUsesNum() == null ? 0 : item.getUsesNum();
  115. item.setUsesNum(num + 1);
  116. this.updateById(item);
  117. }
  118. }
  119. }
  120. }