nidapeng
2024-04-02 74225654b1d1dba53fe00b3a5e9b9e91cfa0c922
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
@@ -714,7 +714,8 @@
        List<UnionApplyBXDDetailDTO> unionApplyBXDDetailDTOList = unionApplyBXDDTO.getUnionApplyBXDDDetailDTOList();
        //所有投保申请保单明细行
        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().select(ApplyDetail::getPrice)
        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
                .select(ApplyDetail::getId,ApplyDetail::getApplyId,ApplyDetail::getPrice)
                .in(ApplyDetail::getUnionApplyId,unionApply.getId()));
        //总天数
        Integer maxDays = DateUtil.calculateBetween(unionApplyBXDDTO.getStartTime(),unionApplyBXDDTO.getEndTime(),0);
@@ -732,11 +733,12 @@
        List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectList(new QueryWrapper<InsuranceApply>()
                .lambda().eq(InsuranceApply::getUnionApplyId,unionApply.getId()));
        for (InsuranceApply insuranceApply:insuranceApplyList) {
            BigDecimal price = insuranceApply.getPrice();
            Optional<UnionApplyBXDDetailDTO> unionApplyBXDDDetailTO= unionApplyBXDDetailDTOList.stream().filter(m->m.getApplyId().equals(insuranceApply.getId())).findFirst();
            BigDecimal price = Constants.formatBigdecimal(insuranceApply.getPrice());
            Optional<UnionApplyBXDDetailDTO> unionApplyBXDDDetailTO= unionApplyBXDDetailDTOList.stream().filter(
                    m->m.getApplyId().equals(insuranceApply.getId())).findFirst();
            if(unionApplyBXDDDetailTO.isPresent()){
                UnionApplyBXDDetailDTO unionApplyBXDDetailDTO = unionApplyBXDDDetailTO.get();
                price = price.add(unionApplyBXDDetailDTO.getServerMoney());
                price = Constants.formatBigdecimal(price).add(Constants.formatBigdecimal(unionApplyBXDDetailDTO.getServerMoney()));
                //上传保单信息
                if(StringUtils.isNotBlank(unionApplyBXDDetailDTO.getFileUrl())){
                    Multifile multifile = new Multifile();
@@ -762,7 +764,8 @@
                currentFee =  new BigDecimal(useDays).multiply(price);
            }
            List<ApplyDetail> applyDetails = applyDetailList.stream().filter(m->m.getApplyId().equals(insuranceApply.getId())).collect(Collectors.toList());
            List<ApplyDetail> applyDetails = applyDetailList.stream()
                    .filter(m->Constants.equalsInteger(m.getApplyId(),(insuranceApply.getId()))).collect(Collectors.toList());
            //更新投保申请单
            insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
                    .set(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WTB_DONE.getKey())
@@ -790,7 +793,7 @@
        unionApplyMapper.update(null,new UpdateWrapper<UnionApply>()
                .lambda()
                .set(UnionApply::getStatus,Constants.UnionApplyStatus.FINISH)
                .set(UnionApply::getStatus,Constants.UnionApplyStatus.FINISH.getKey())
                .set(UnionApply::getEditDate,new Date())
                .set(UnionApply::getEditor,user.getId())
                .set(UnionApply::getStartTime,unionApplyBXDDTO.getStartTime())