HsFlowConditionModelServiceImpl.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.willalp.flow.service.impl;
  2. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3. import com.willalp.common.exception.base.BaseException;
  4. import com.willalp.common.utils.StringUtils;
  5. import com.willalp.flow.domain.HsFlowConditionModel;
  6. import com.willalp.flow.mapper.HsFlowConditionModelMapper;
  7. import com.willalp.flow.service.IHsFlowConditionModelService;
  8. import org.springframework.stereotype.Service;
  9. import javax.annotation.Resource;
  10. import java.util.List;
  11. /**
  12. * 流程条件组件Service业务层处理
  13. *
  14. * @author willalp
  15. * @date 2022-10-14
  16. */
  17. @Service
  18. public class HsFlowConditionModelServiceImpl extends ServiceImpl<HsFlowConditionModelMapper, HsFlowConditionModel> implements IHsFlowConditionModelService {
  19. @Resource
  20. private HsFlowConditionModelMapper hsFlowConditionModelMapper;
  21. /**
  22. * 查询流程条件组件列表
  23. *
  24. * @param hsFlowConditionModel 流程条件组件
  25. * @return 流程条件组件
  26. */
  27. @Override
  28. public List<HsFlowConditionModel> selectHsFlowConditionModelList(HsFlowConditionModel hsFlowConditionModel) {
  29. return hsFlowConditionModelMapper.selectHsFlowConditionModelList(hsFlowConditionModel);
  30. }
  31. @Override
  32. public boolean executeConditionJudgment(HsFlowConditionModel fcm, Object obj) {
  33. if (null != fcm) {
  34. if (null != fcm.getConditionType() && null != fcm.getConditionChar()) {
  35. if ("1".equals(fcm.getConditionType())) {
  36. Double aDouble = Double.valueOf(fcm.getThresholdValue());
  37. Double objDbl = Double.valueOf((Integer) obj);
  38. switch (fcm.getConditionChar()) {
  39. case "&gt;":
  40. return objDbl > aDouble;
  41. case "&lt;":
  42. return objDbl < aDouble;
  43. case "&gt;=":
  44. return objDbl >= aDouble;
  45. case "&lt;=":
  46. return objDbl <= aDouble;
  47. case "!=":
  48. return !objDbl.equals(aDouble);
  49. case "==":
  50. return objDbl.equals(aDouble);
  51. default:
  52. throw new BaseException("条件组件配置错误");
  53. }
  54. } else {
  55. return StringUtils.equals(String.valueOf(obj), fcm.getThresholdValue());
  56. }
  57. }
  58. }
  59. return false;
  60. }
  61. }