| | |
| | | import com.finance.common.utils.Checker; |
| | | import com.finance.common.utils.CollUtils; |
| | | import com.finance.common.utils.StringUtils; |
| | | import com.finance.system.domain.TbBasicDataCategory; |
| | | import com.finance.system.domain.TbBasicDataConfig; |
| | | import com.finance.system.domain.TbBasicDataConfigDetail; |
| | | import com.finance.system.domain.TbField; |
| | |
| | | import com.finance.system.vo.ScoreCalculateVO; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | if (result) { |
| | | throw new ServiceException("计算表达式有误,请修改"); |
| | | } |
| | | //参数校验 |
| | | // 参数校验 |
| | | String numberCalculateFormulaStr = calculateItemList.stream() |
| | | .map(CalculateItemDTO::getContent) |
| | | .collect(Collectors.joining()); |
| | | //校验表达式是否正确 |
| | | // 校验表达式是否正确 |
| | | try { |
| | | CalculateUtil.calculate(numberCalculateFormulaStr); |
| | | } catch (Exception e) { |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void edit(BasicDataConfigUpdateDTO dto) { |
| | | TbBasicDataConfig tbBasicDataConfig = BeanUtils.copyBean(dto, TbBasicDataConfig.class); |
| | | //参数校验 |
| | | // 参数校验 |
| | | CalculateTypeEnum calculateType = tbBasicDataConfig.getCalculateType(); |
| | | List<CalculateDTO> dtoList = dto.getDtoList(); |
| | | if (CalculateTypeEnum.NUMBER.equals(calculateType)) { |
| | |
| | | if (CollUtils.isEmpty(dtoList)) { |
| | | throw new ServiceException("计算公式不能为空"); |
| | | } |
| | | //删除原来的配置信息,重新添加新的 |
| | | // 删除原来的配置信息,重新添加新的 |
| | | tbBasicDataConfigDetailService.lambdaUpdate() |
| | | .eq(TbBasicDataConfigDetail::getBasicDataConfigId, tbBasicDataConfig.getId()) |
| | | .remove(); |
| | |
| | | throw new ServiceException("非法参数"); |
| | | } |
| | | if (ShowStatusEnum.SHOW.equals(dto.getStatus())) { |
| | | //查询改配置所使用字段状态 |
| | | // 查询改配置所使用字段状态 |
| | | String fieldIdStr = config.getFieldIdStr(); |
| | | String[] split = fieldIdStr.split(","); |
| | | List<TbField> list = fieldMapper.selectList( |
| | |
| | | BasicDataConfigQuery query) { |
| | | return baseMapper.queryPage(page, query); |
| | | } |
| | | |
| | | @Override |
| | | public List<BasicDataConfigVO> getFixedRulesConfigList() { |
| | | List<TbBasicDataConfig> configList = this.lambdaQuery() |
| | | .le(TbBasicDataConfig::getId, 25).list(); |
| | | Map<Long, TbBasicDataCategory> configCategoryMap = tbBasicDataCategoryService.list() |
| | | .stream() |
| | | .collect(Collectors.toMap(TbBasicDataCategory::getId, |
| | | Function.identity())); |
| | | List<BasicDataConfigVO> configVOList = BeanUtils.copyList(configList, |
| | | BasicDataConfigVO.class); |
| | | configVOList = configVOList.stream().peek(c -> { |
| | | TbBasicDataCategory tbBasicDataCategory2 = configCategoryMap.get( |
| | | c.getBasicDataCategoryId()); |
| | | if (Objects.nonNull(tbBasicDataCategory2)) { |
| | | if (tbBasicDataCategory2.getParentId() == -1) { |
| | | c.setBasicDataCategoryOne(tbBasicDataCategory2.getBasicDataCategoryName()); |
| | | } else { |
| | | c.setBasicDataCategory(tbBasicDataCategory2.getBasicDataCategoryName()); |
| | | TbBasicDataCategory tbBasicDataCategory1 = configCategoryMap.get( |
| | | tbBasicDataCategory2.getParentId()); |
| | | if (Objects.nonNull(tbBasicDataCategory1)) { |
| | | c.setBasicDataCategoryOne( |
| | | tbBasicDataCategory1.getBasicDataCategoryName()); |
| | | } |
| | | } |
| | | } |
| | | }).collect(Collectors.toList()); |
| | | return configVOList; |
| | | } |
| | | |
| | | @Override |
| | | public List<BasicDataConfigVO> getSubsractRulesConfigList() { |
| | | List<TbBasicDataConfig> configList = this.lambdaQuery() |
| | | .in(TbBasicDataConfig::getId, 5, 6, 11, 12, 23, 24, 25).list(); |
| | | Map<Long, TbBasicDataCategory> configCategoryMap = tbBasicDataCategoryService.list() |
| | | .stream() |
| | | .collect(Collectors.toMap(TbBasicDataCategory::getId, |
| | | Function.identity())); |
| | | List<BasicDataConfigVO> configVOList = BeanUtils.copyList(configList, |
| | | BasicDataConfigVO.class); |
| | | configVOList = configVOList.stream().peek(c -> { |
| | | TbBasicDataCategory tbBasicDataCategory2 = configCategoryMap.get( |
| | | c.getBasicDataCategoryId()); |
| | | if (Objects.nonNull(tbBasicDataCategory2)) { |
| | | if (tbBasicDataCategory2.getParentId() == -1) { |
| | | c.setBasicDataCategoryOne(tbBasicDataCategory2.getBasicDataCategoryName()); |
| | | } else { |
| | | c.setBasicDataCategory(tbBasicDataCategory2.getBasicDataCategoryName()); |
| | | TbBasicDataCategory tbBasicDataCategory1 = configCategoryMap.get( |
| | | tbBasicDataCategory2.getParentId()); |
| | | if (Objects.nonNull(tbBasicDataCategory1)) { |
| | | c.setBasicDataCategoryOne( |
| | | tbBasicDataCategory1.getBasicDataCategoryName()); |
| | | } |
| | | } |
| | | } |
| | | }).collect(Collectors.toList()); |
| | | return configVOList; |
| | | } |
| | | } |