TemplateNodeServiceImpl.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package jnpf.flowable.service.impl;
  2. import cn.hutool.core.collection.CollectionUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import jnpf.base.service.SuperServiceImpl;
  5. import jnpf.exception.WorkFlowException;
  6. import jnpf.flowable.entity.TemplateJsonEntity;
  7. import jnpf.flowable.entity.TemplateNodeEntity;
  8. import jnpf.flowable.enums.NodeEnum;
  9. import jnpf.flowable.mapper.TemplateNodeMapper;
  10. import jnpf.flowable.service.TemplateJsonService;
  11. import jnpf.flowable.service.TemplateNodeService;
  12. import jnpf.util.RandomUtil;
  13. import jnpf.util.StringUtil;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. import java.util.stream.Collectors;
  19. @Service
  20. public class TemplateNodeServiceImpl extends SuperServiceImpl<TemplateNodeMapper, TemplateNodeEntity> implements TemplateNodeService {
  21. @Autowired
  22. private TemplateJsonService templateJsonService;
  23. @Override
  24. public List<TemplateNodeEntity> getList(String flowId) {
  25. QueryWrapper<TemplateNodeEntity> queryWrapper = new QueryWrapper<>();
  26. queryWrapper.lambda().eq(TemplateNodeEntity::getFlowId, flowId);
  27. return this.list(queryWrapper);
  28. }
  29. @Override
  30. public List<TemplateNodeEntity> getList(List<String> flowIds, String nodeType) {
  31. if (flowIds.isEmpty()) {
  32. return new ArrayList<>();
  33. }
  34. QueryWrapper<TemplateNodeEntity> queryWrapper = new QueryWrapper<>();
  35. queryWrapper.lambda().in(TemplateNodeEntity::getFlowId, flowIds);
  36. if (StringUtil.isNotBlank(nodeType)) {
  37. queryWrapper.lambda().eq(TemplateNodeEntity::getNodeType, nodeType);
  38. }
  39. return this.list(queryWrapper);
  40. }
  41. @Override
  42. public List<TemplateNodeEntity> getListLikeUserId(String userId) {
  43. QueryWrapper<TemplateNodeEntity> queryWrapper = new QueryWrapper<>();
  44. queryWrapper.lambda().like(TemplateNodeEntity::getNodeJson, userId);
  45. return this.list(queryWrapper);
  46. }
  47. @Override
  48. public TemplateNodeEntity getInfo(String id) throws WorkFlowException {
  49. QueryWrapper<TemplateNodeEntity> queryWrapper = new QueryWrapper<>();
  50. queryWrapper.lambda().eq(TemplateNodeEntity::getId, id);
  51. return this.getOne(queryWrapper);
  52. }
  53. @Override
  54. public void create(TemplateNodeEntity entity) {
  55. entity.setId(RandomUtil.uuId());
  56. this.save(entity);
  57. }
  58. @Override
  59. public boolean update(String id, TemplateNodeEntity entity) {
  60. entity.setId(id);
  61. return this.updateById(entity);
  62. }
  63. @Override
  64. public void delete(TemplateNodeEntity entity) {
  65. if (entity != null) {
  66. this.removeById(entity.getId());
  67. }
  68. }
  69. @Override
  70. public void deleteList(List<String> idList) {
  71. if (!idList.isEmpty()) {
  72. QueryWrapper<TemplateNodeEntity> queryWrapper = new QueryWrapper<>();
  73. queryWrapper.lambda().in(TemplateNodeEntity::getId, idList);
  74. this.remove(queryWrapper);
  75. }
  76. }
  77. @Override
  78. public void delete(List<String> idList) {
  79. if (!idList.isEmpty()) {
  80. QueryWrapper<TemplateNodeEntity> queryWrapper = new QueryWrapper<>();
  81. queryWrapper.lambda().in(TemplateNodeEntity::getId, idList);
  82. this.remove(queryWrapper);
  83. }
  84. }
  85. @Override
  86. public List<TemplateNodeEntity> getListStart() {
  87. List<TemplateJsonEntity> listOfEnable = templateJsonService.getListOfEnable();
  88. List<String> flowIds = listOfEnable.stream().map(TemplateJsonEntity::getId).collect(Collectors.toList());
  89. if (CollectionUtil.isNotEmpty(flowIds)) {
  90. QueryWrapper<TemplateNodeEntity> queryWrapper = new QueryWrapper<>();
  91. queryWrapper.lambda().select(TemplateNodeEntity::getFlowId, TemplateNodeEntity::getFormId);
  92. queryWrapper.lambda().eq(TemplateNodeEntity::getNodeType, NodeEnum.start.getType()).in(TemplateNodeEntity::getFlowId, flowIds);
  93. return this.list(queryWrapper);
  94. }
  95. return new ArrayList<>();
  96. }
  97. }