From 3e72240f9926463bba8d2d5cbec743dbcdcf9bd3 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期日, 07 四月 2024 16:00:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/1.0.1' into 1.0.1 --- server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java | 37 ++++++++++++++++++++++++++++++------- 1 files changed, 30 insertions(+), 7 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java index 54f5b85..5c621ed 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java @@ -12,10 +12,7 @@ import com.doumee.core.utils.Utils; import com.doumee.dao.business.*; import com.doumee.dao.business.dto.*; -import com.doumee.dao.business.join.ApplyDetailJoinMapper; -import com.doumee.dao.business.join.ApplyLogJoinMapper; -import com.doumee.dao.business.join.InsuranceApplyJoinMapper; -import com.doumee.dao.business.join.UnionApplyJoinMapper; +import com.doumee.dao.business.join.*; import com.doumee.dao.business.model.*; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.SmsEmailService; @@ -80,6 +77,8 @@ @Autowired private ApplyLogJoinMapper applyLogJoinMapper; + @Autowired + private MemberInsuranceJoinMapper memberInsuranceJoinMapper; @Value("${debug_model}") private boolean debugModel; @@ -155,6 +154,13 @@ .selectAs(Solutions::getSpecialAgreement,UnionApply::getSpecialAgreement) .selectAs(Solutions::getSpecialInfo,UnionApply::getSpecialInfo); queryWrapper.select("(select count(b.id) from apply_detail b where b.isdeleted=0 and b.union_apply_id=t.id) as insureNum "); + + queryWrapper.select("(select count(1) from apply_change a inner join insurance_apply b on a.apply_id = b.id where b.union_apply_id=t.id " + + "and b.status = "+Constants.InsuranceApplyStatus.WTB_TOUBAOING.getKey()+" and a.type = 0 ) as addApplyNum "); + + queryWrapper.select("(select count(1) from apply_change a inner join insurance_apply b on a.apply_id = b.id where b.union_apply_id=t.id " + + "and b.status = "+Constants.InsuranceApplyStatus.WTB_TOUBAOING.getKey()+" and a.type = 1 ) as changeApplyNum "); + queryWrapper.leftJoin(Solutions.class,Solutions::getId,UnionApply::getSolutionId); LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(Constants.equalsInteger(user.getType(),Constants.TWO)){ @@ -740,7 +746,14 @@ List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectList(new QueryWrapper<InsuranceApply>() .lambda().eq(InsuranceApply::getUnionApplyId,unionApply.getId())); for (InsuranceApply insuranceApply:insuranceApplyList) { - BigDecimal price = Constants.formatBigdecimal(insuranceApply.getPrice()); + List<ApplyDetail> applyDetails = applyDetailList.stream() + .filter(m->Constants.equalsInteger(m.getApplyId(),(insuranceApply.getId()))).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(applyDetails)){ + continue; + } + BigDecimal price = Constants.formatBigdecimal(applyDetails.get(Constants.ZERO).getPrice()); + + Optional<UnionApplyBXDDetailDTO> unionApplyBXDDDetailTO= unionApplyBXDDetailDTOList.stream().filter( m->m.getApplyId().equals(insuranceApply.getId())).findFirst(); if(unionApplyBXDDDetailTO.isPresent()){ @@ -770,9 +783,19 @@ }else if(useDays>0){ currentFee = new BigDecimal(useDays).multiply(price); } + //鐢熸垚鎶曚繚璁板綍 + if(CollectionUtils.isNotEmpty(applyDetailList)){ + List<MemberInsurance> memberInsuranceList = new ArrayList<>(); + for (ApplyDetail applyDetail:applyDetailList) { + applyDetail.setPrice(price); + applyDetail.setFee(price.multiply(new BigDecimal(maxDays))); + MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId()); + memberInsurance.setRelationType(Constants.ZERO); + memberInsuranceList.add(memberInsurance); + } + memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList); + } - 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::getUnionApplyTbdStatus,Constants.THREE) -- Gitblit v1.9.3