From 02bc3bfe47e3d5311a0bb041c94e70a34b1ca73c Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 09 四月 2024 09:03:01 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 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 c1db020..a2e652a 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 @@ -32,6 +32,7 @@ import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; @@ -737,6 +738,7 @@ List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda() .select(ApplyDetail::getId,ApplyDetail::getApplyId,ApplyDetail::getPrice) .in(ApplyDetail::getUnionApplyId,unionApply.getId())); + unionApplyBXDDTO.setEndTime(DateUtil.getMontageDate(unionApplyBXDDTO.getEndTime(),2)); //鎬诲ぉ鏁� Integer maxDays = DateUtil.calculateBetween(unionApplyBXDDTO.getStartTime(),unionApplyBXDDTO.getEndTime(),0); //瀹為檯宸茬粡浜х敓璐圭敤鐨勫ぉ鏁� @@ -760,12 +762,14 @@ } 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()){ UnionApplyBXDDetailDTO unionApplyBXDDetailDTO = unionApplyBXDDDetailTO.get(); - price = Constants.formatBigdecimal(price).add(Constants.formatBigdecimal(unionApplyBXDDetailDTO.getServerMoney())); + + BigDecimal dayServerMoney = unionApplyBXDDetailDTO.getServerMoney().divide(new BigDecimal(maxDays),2, RoundingMode.HALF_UP); + + price = Constants.formatBigdecimal(price).add(Constants.formatBigdecimal(dayServerMoney)); //涓婁紶淇濆崟淇℃伅 if(StringUtils.isNotBlank(unionApplyBXDDetailDTO.getFileUrl())){ Multifile multifile = new Multifile(); @@ -793,7 +797,8 @@ //鐢熸垚鎶曚繚璁板綍 if(CollectionUtils.isNotEmpty(applyDetailList)){ List<MemberInsurance> memberInsuranceList = new ArrayList<>(); - for (ApplyDetail applyDetail:applyDetailList) { + for (ApplyDetail applyDetail:applyDetailList.stream() + .filter(m->Constants.equalsInteger(m.getApplyId(),(insuranceApply.getId()))).collect(Collectors.toList())) { applyDetail.setPrice(price); applyDetail.setFee(price.multiply(new BigDecimal(maxDays))); MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId()); -- Gitblit v1.9.3