mitao
2025-04-07 18891c60ab1c06a4acc85d0ec54dee50d1b1a19f
finance-system/src/main/java/com/finance/system/service/impl/TbBasicDataConfigServiceImpl.java
@@ -15,6 +15,7 @@
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;
@@ -36,7 +37,9 @@
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;
@@ -133,11 +136,11 @@
        if (result) {
            throw new ServiceException("计算表达式有误,请修改");
        }
        //参数校验
        // 参数校验
        String numberCalculateFormulaStr = calculateItemList.stream()
                .map(CalculateItemDTO::getContent)
                .collect(Collectors.joining());
        //校验表达式是否正确
        // 校验表达式是否正确
        try {
            CalculateUtil.calculate(numberCalculateFormulaStr);
        } catch (Exception e) {
@@ -156,7 +159,7 @@
    @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)) {
@@ -169,7 +172,7 @@
            if (CollUtils.isEmpty(dtoList)) {
                throw new ServiceException("计算公式不能为空");
            }
            //删除原来的配置信息,重新添加新的
            // 删除原来的配置信息,重新添加新的
            tbBasicDataConfigDetailService.lambdaUpdate()
                    .eq(TbBasicDataConfigDetail::getBasicDataConfigId, tbBasicDataConfig.getId())
                    .remove();
@@ -231,7 +234,7 @@
            throw new ServiceException("非法参数");
        }
        if (ShowStatusEnum.SHOW.equals(dto.getStatus())) {
            //查询改配置所使用字段状态
            // 查询改配置所使用字段状态
            String fieldIdStr = config.getFieldIdStr();
            String[] split = fieldIdStr.split(",");
            List<TbField> list = fieldMapper.selectList(
@@ -259,4 +262,64 @@
            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;
    }
}