k94314517
2024-04-12 e63e56a1b45bc2025147f7f91d248f93a43deb7a
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
@@ -387,7 +387,6 @@
                }
            }
        }
    }
@@ -450,13 +449,22 @@
        Integer maxDays = DateUtil.calculateBetween(saveUnionApplyDTO.getStartDate(),saveUnionApplyDTO.getEndDate(),0);
        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().select(ApplyDetail::getId,ApplyDetail::getPrice)
        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
                .select(ApplyDetail::getId,ApplyDetail::getPrice,ApplyDetail::getStartTime,ApplyDetail::getEndTime,ApplyDetail::getFee)
                .in(ApplyDetail::getApplyId,saveUnionApplyDTO.getApplyIds())
                .eq(ApplyDetail::getIsdeleted,Constants.ZERO));
        if(applyDetailList.size()==0){
            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,存在委托投保申请记录信息有误,请返回查看申请人员是否为空!");
        }
        unionApply.setFee(applyDetailList.stream().map(i->Constants.formatBigdecimal(i.getPrice()).multiply(new BigDecimal(maxDays))).reduce(BigDecimal.ZERO,BigDecimal::add));
        BigDecimal fee = BigDecimal.ZERO;
        for (ApplyDetail applyDetail:applyDetailList) {
            Integer oldDays = DateUtil.calculateBetween(applyDetail.getStartTime(),applyDetail.getEndTime(),0);
            fee =fee.add(new BigDecimal(maxDays).multiply( applyDetail.getFee()).divide(new BigDecimal(oldDays),2,RoundingMode.HALF_UP));
        }
        unionApply.setFee(fee);
//        unionApply.setFee(applyDetailList.stream()
//                .map(i->Constants.formatBigdecimal(i.getPrice()).multiply(new BigDecimal(maxDays))).reduce(BigDecimal.ZERO,BigDecimal::add));
        unionApplyMapper.insert(unionApply);
@@ -585,6 +593,10 @@
        if(CollectionUtils.isNotEmpty(uploadMultifileDTO.getMultifileList())){
            List<Multifile> multifileList = uploadMultifileDTO.getMultifileList();
            for (Multifile multifile:multifileList) {
                if(StringUtils.isBlank(multifile.getName())
                || StringUtils.isBlank(multifile.getFileurl()) ){
                    continue;
                }
                if(Objects.isNull(multifile.getObjId())
                    ||Objects.isNull(multifile.getName())
                    ||Objects.isNull(multifile.getFileurl())){