mitao
2024-07-12 3e456f3e812ead6a19e80cfbdbf86ae0263d50b9
finance-system/src/main/java/com/finance/system/service/impl/TbDataScreenConfigServiceImpl.java
@@ -63,20 +63,20 @@
        if (dto.areRiskLevelsDistinct()) {
            throw new ServiceException("得分范围不能重叠");
        }
        //查询是否有该指标配置
        // 查询是否有该指标配置
        TbDataScreenConfig tbDataScreenConfig = this.lambdaQuery()
                .eq(TbDataScreenConfig::getType, DataScreenConfigEnum.RISK_LEVEL)
                .oneOpt().orElseGet(() -> BeanUtils.copyBean(dto,
                        TbDataScreenConfig.class));
        List<CalculateItemDTO> calculateItemList = dto.getCalculateItemList();
        validateCalculateItemList(calculateItemList);
        // validateCalculateItemList(calculateItemList);
        String numberCalculateFormulaJsonStr = JSON.toJSONString(calculateItemList);
        tbDataScreenConfig.setCalculateFormula(numberCalculateFormulaJsonStr);
        // tbDataScreenConfig.setCalculateFormula(numberCalculateFormulaJsonStr);
        tbDataScreenConfig.setType(DataScreenConfigEnum.RISK_LEVEL);
        this.saveOrUpdate(tbDataScreenConfig);
        DataScreenConfigVO dataScreenConfigVO = BeanUtils.copyBean(tbDataScreenConfig,
                DataScreenConfigVO.class);
        dataScreenConfigVO.setRateCalculateList(calculateItemList);
        // dataScreenConfigVO.setRateCalculateList(calculateItemList);
        return dataScreenConfigVO;
    }
@@ -99,11 +99,11 @@
        if (result) {
            throw new ServiceException("计算表达式有误,请修改");
        }
        //参数校验
        // 参数校验
        String numberCalculateFormulaStr = calculateItemList.stream()
                .map(CalculateItemDTO::getContent)
                .collect(Collectors.joining());
        //校验表达式是否正确
        // 校验表达式是否正确
        try {
            CalculateUtil.calculate(numberCalculateFormulaStr);
        } catch (Exception e) {
@@ -111,7 +111,7 @@
        }
    }
    //表达式校验
    // 表达式校验
    public boolean hasConsecutiveDuplicates(List<CalculateItemDTO> calculateItemList) {
        return IntStream.range(1, calculateItemList.size())
                .anyMatch(i -> calculateItemList.get(i - 1).getValueType()
@@ -142,7 +142,7 @@
    public List<DataScreenConfigVO> editDataIndicatorsConfig(List<DataIndicatorsUpdDTO> dtoList) {
        List<DataScreenConfigVO> vosList = new ArrayList<>();
        for (DataIndicatorsUpdDTO dto : dtoList) {
            //查询是否有该指标配置
            // 查询是否有该指标配置
            TbDataScreenConfig tbDataScreenConfig = this.lambdaQuery()
                    .eq(TbDataScreenConfig::getType, DataScreenConfigEnum.DATA_INDICATORS)
                    .eq(TbDataScreenConfig::getSubType,
@@ -173,7 +173,7 @@
            List<FormalIndicatorsUpdDTO> dtoList) {
        List<DataScreenConfigVO> vosList = new ArrayList<>();
        for (FormalIndicatorsUpdDTO dto : dtoList) {
            //查询是否有该指标配置
            // 查询是否有该指标配置
            TbDataScreenConfig tbDataScreenConfig = this.lambdaQuery()
                    .eq(TbDataScreenConfig::getType, DataScreenConfigEnum.FORMAL_INDICATORS)
                    .eq(TbDataScreenConfig::getSubType,