From 253672d6c5b7725b3ba8859cfd5768e2c95a887e Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 17 五月 2024 16:55:53 +0800
Subject: [PATCH] 提交一把
---
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java | 63 ++++++++++++++++++++++++++-----
1 files changed, 52 insertions(+), 11 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 ef92dd9..6f0308e 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
@@ -80,6 +80,8 @@
@Autowired
private MemberInsuranceJoinMapper memberInsuranceJoinMapper;
+ @Autowired
+ private MemberMapper memberMapper;
@Value("${debug_model}")
private boolean debugModel;
@@ -385,7 +387,6 @@
}
}
}
-
}
@@ -448,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);
@@ -583,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())){
@@ -652,14 +666,14 @@
public String getSignLink(SmsCheckDTO smsCheckDTO) {
if(Objects.isNull(smsCheckDTO)
|| Objects.isNull(smsCheckDTO.getBusinessId())
- || StringUtils.isBlank(smsCheckDTO.getCode())
+// || StringUtils.isBlank(smsCheckDTO.getCode())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
//楠岃瘉 楠岃瘉鐮�
- if(!debugModel){
- smsEmailService.validateCode(smsCheckDTO.getCode());
- }
+// if(!debugModel){
+// smsEmailService.validateCode(smsCheckDTO.getCode());
+// }
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
if(!user.getType().equals(Constants.TWO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴风敤鎴凤紝鏃犳硶杩涜璇ユ搷浣滐紒");
@@ -742,8 +756,20 @@
List<UnionApplyBXDDetailDTO> unionApplyBXDDetailDTOList = unionApplyBXDDTO.getUnionApplyBXDDDetailDTOList();
//鎵�鏈夋姇淇濈敵璇蜂繚鍗曟槑缁嗚
- List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
- .select(ApplyDetail::getId,ApplyDetail::getApplyId,ApplyDetail::getPrice)
+ List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,new MPJLambdaWrapper<ApplyDetail>()
+ .selectAll(ApplyDetail.class)
+ .selectAs(DispatchUnit::getName,ApplyDetail::getDuName)
+ .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
+ .selectAs(Solutions::getId,ApplyDetail::getSolutionId)
+ .selectAs(Solutions::getName,ApplyDetail::getSolutionName)
+ .selectAs(Worktype::getName,ApplyDetail::getWorkTypeName)
+ .selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo)
+ .selectAs(Member::getName,ApplyDetail::getMemberName)
+ .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId)
+ .leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId)
+ .leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId)
+ .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
+ .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
.in(ApplyDetail::getUnionApplyId,unionApply.getId()));
unionApplyBXDDTO.setEndTime(DateUtil.getMontageDate(unionApplyBXDDTO.getEndTime(),2));
//鎬诲ぉ鏁�
@@ -771,10 +797,11 @@
Optional<UnionApplyBXDDetailDTO> unionApplyBXDDDetailTO= unionApplyBXDDetailDTOList.stream().filter(
m->m.getApplyId().equals(insuranceApply.getId())).findFirst();
+ BigDecimal serverCost = BigDecimal.ZERO;
if(unionApplyBXDDDetailTO.isPresent()){
UnionApplyBXDDetailDTO unionApplyBXDDetailDTO = unionApplyBXDDDetailTO.get();
-
- BigDecimal dayServerMoney = unionApplyBXDDetailDTO.getServerMoney().divide(new BigDecimal(maxDays),2, RoundingMode.HALF_UP);
+ serverCost = unionApplyBXDDetailDTO.getServerMoney();
+ BigDecimal dayServerMoney = unionApplyBXDDetailDTO.getServerMoney().divide(new BigDecimal(maxDays),6, RoundingMode.HALF_UP);
price = Constants.formatBigdecimal(price).add(Constants.formatBigdecimal(dayServerMoney));
//涓婁紶淇濆崟淇℃伅
@@ -808,9 +835,22 @@
.filter(m->Constants.equalsInteger(m.getApplyId(),(insuranceApply.getId()))).collect(Collectors.toList())) {
applyDetail.setPrice(price);
applyDetail.setFee(price.multiply(new BigDecimal(maxDays)));
+ applyDetail.setStartTime(unionApplyBXDDTO.getStartTime());
+ applyDetail.setEndTime(unionApplyBXDDTO.getEndTime());
MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId());
+ memberInsurance.setBdCode(unionApplyBXDDTO.getCode());
memberInsurance.setRelationType(Constants.ZERO);
memberInsuranceList.add(memberInsurance);
+ //鏇存柊鍛樺伐鎶曚繚鏃堕棿
+ memberMapper.update(null,new UpdateWrapper<Member>()
+ .lambda()
+ .set(Member::getStartTime,memberInsurance.getStartTime())
+ .set(Member::getEndTime,memberInsurance.getEndTime())
+ .set(Member::getDuId,memberInsurance.getDuId())
+ .set(Member::getWorktypeId,memberInsurance.getWorktypeId())
+ .eq(Member::getId, memberInsurance.getMemberId())
+ );
+
}
memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList);
}
@@ -825,6 +865,7 @@
.set(InsuranceApply::getEndTime,unionApplyBXDDTO.getEndTime())
.set(InsuranceApply::getEditDate,new Date())
.set(InsuranceApply::getEditor,user.getId())
+ .set(InsuranceApply::getServerCost,serverCost)
.set(InsuranceApply::getCode,unionApplyBXDDTO.getCode())
.eq(InsuranceApply::getId,insuranceApply.getId()));
//鏇存柊鎶曚繚鍗曟槑缁嗛噾棰�
--
Gitblit v1.9.3