From 71e2d06dfa28d3bd60b0d9fa6d6c7ff32884a1a9 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 09 四月 2024 14:04:21 +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/UnionChangeServiceImpl.java | 67 ++++++++++++++++++---------------
1 files changed, 36 insertions(+), 31 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
index 1d2852d..3cc038d 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
@@ -18,6 +18,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.vo.CountCyclePriceVO;
import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.system.vo.BigDecimalVO;
import com.doumee.service.business.SmsEmailService;
import com.doumee.service.business.UnionChangeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -57,6 +58,9 @@
@Autowired
private ApplyChangeJoinMapper applyChangeJoinMapper;
+
+ @Autowired
+ private UnionApplyMapper unionApplyMapper;
@Autowired
private ApplyChagneDetailJoinMapper applyChagneDetailJoinMapper;
@@ -350,6 +354,13 @@
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
+
+// UnionApply unionApply = unionApplyMapper.selectById(saveUnionChangeDTO.getUnionApplyId());
+// if(Objects.isNull(unionApply)){
+// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鍚堝苟淇濆崟鏁版嵁");
+// }
+
+
List<ApplyChange> applyChangeList = applyChangeJoinMapper.selectJoinList(ApplyChange.class,
new MPJLambdaWrapper<ApplyChange>()
.selectAll(ApplyChange.class)
@@ -703,9 +714,6 @@
,unionChange.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(unionChange));
applyLogMapper.insert(log);
- if(true){
- throw new BusinessException(ResponseStatus.BAD_REQUEST);
- }
}
@@ -713,37 +721,39 @@
public void dealApplyChangeDetail(ApplyChange applyChange,List<ApplyChagneDetail> applyChagneDetailList){
- BigDecimal totalFee = BigDecimal.ZERO;
- BigDecimal currentFee = BigDecimal.ZERO;
+ BigDecimalVO bigDecimalVO = new BigDecimalVO();
+ bigDecimalVO.setTotalFee(BigDecimal.ZERO);
+ bigDecimalVO.setCurrentFee(BigDecimal.ZERO);
for (ApplyChagneDetail detail:applyChagneDetailList) {
Member member = memberMapper.selectById(detail.getMemberId());
if(Objects.isNull(member)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍛樺伐鏁版嵁");
}
if (Constants.equalsInteger(detail.getType(), Constants.ZERO)) {
- this.addChangeDetailData(applyChange,detail,detail.getPrice(),currentFee,totalFee);
+ this.addChangeDetailData(applyChange,detail,bigDecimalVO);
}else if(Constants.equalsInteger(detail.getType(),Constants.ONE)){
- this.reduceChangeDetailData(applyChange,detail,currentFee,totalFee);
+ this.reduceChangeDetailData(applyChange,detail,bigDecimalVO);
}else{
this.otherChangeDetailData(applyChange,detail);
}
}
- if (totalFee.compareTo(new BigDecimal(0)) != 0) {
+ if (bigDecimalVO.getTotalFee().compareTo(new BigDecimal(0)) != 0) {
//濡傛灉淇濆崟閲戦鍙戠敓缂栫爜锛屾洿鏂版�讳繚鍗曢噾棰�
insuranceApplyMapper.update(null, new UpdateWrapper<InsuranceApply>().lambda()
- .setSql(" fee = ifnull(fee,0)+" + totalFee)
- .setSql(" current_fee = ifnull(current_fee,0)+" + currentFee)
+ .setSql(" fee = ifnull(fee,0)+" + bigDecimalVO.getTotalFee())
+ .setSql(" current_fee = ifnull(current_fee,0)+" + bigDecimalVO.getCurrentFee())
.set(InsuranceApply::getEditor, applyChange.getEditor())
.set(InsuranceApply::getEditDate, applyChange.getEditDate())
.eq(InsuranceApply::getId, applyChange.getApplyId())
);
- applyChangeJoinMapper.update(null, new UpdateWrapper<ApplyChange>().lambda()
- .set(ApplyChange::getFee,totalFee)
- .set(ApplyChange::getEditor, applyChange.getEditor())
- .set(ApplyChange::getEditDate, applyChange.getEditDate())
- .eq(ApplyChange::getId, applyChange.getApplyId())
- );
+// applyChangeJoinMapper.update(null, new UpdateWrapper<ApplyChange>().lambda()
+// .set(ApplyChange::getFee,bigDecimalVO.getTotalFee())
+// .set(ApplyChange::getEditor, applyChange.getEditor())
+// .set(ApplyChange::getEditDate, applyChange.getEditDate())
+// .eq(ApplyChange::getId, applyChange.getApplyId())
+// );
+ applyChange.setFee(bigDecimalVO.getTotalFee());
}
}
@@ -753,12 +763,9 @@
* 鍔犱繚鏁版嵁澶勭悊
* @param applyChange
* @param detail
- * @param price
- * @param currentFee
- * @param totalFee
*/
- public void addChangeDetailData(ApplyChange applyChange,ApplyChagneDetail detail
- ,BigDecimal price,BigDecimal currentFee,BigDecimal totalFee){
+ public void addChangeDetailData(ApplyChange applyChange, ApplyChagneDetail detail
+ , BigDecimalVO bigDecimalVO){
//鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
.lambda()
@@ -777,7 +784,7 @@
if(new Date().compareTo(DateUtil.getMontageDate(applyChange.getApplyStartTime(), 2))>=0){
Integer days = DateUtil.calculateBetween(applyChange.getApplyStartTime(),DateUtil.getMontageDate(new Date(), 2),0);
//濡傛灉宸插凡浜х敓璐圭敤锛岃绠楀凡宸蹭骇鐢熻垂鐢�
- add.setCurrentFee(new BigDecimal(days).multiply(price));
+ add.setCurrentFee(new BigDecimal(days).multiply(detail.getPrice()));
}else{
add.setCurrentFee(BigDecimal.ZERO);
}
@@ -797,7 +804,7 @@
add.setDuId(detail.getDuId());
add.setStartTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(), 1));
add.setEndTime(DateUtil.getMontageDate(detail.getEndTime(), 2));
- add.setFee(new BigDecimal(countDays).multiply(price));
+ add.setFee(new BigDecimal(countDays).multiply(detail.getPrice()));
applyDetailJoinMapper.insert(add);
detail.setFee(add.getFee());
@@ -806,9 +813,8 @@
.set(ApplyChagneDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(), 1))
.eq(ApplyChagneDetail::getId,detail.getId())
);
-
- totalFee = totalFee.add(add.getFee());
- currentFee = currentFee.add(add.getCurrentFee());
+ bigDecimalVO.setTotalFee(bigDecimalVO.getTotalFee().add(add.getFee()));
+ bigDecimalVO.setCurrentFee(bigDecimalVO.getCurrentFee().add(add.getCurrentFee()));
MemberInsurance memberInsurance = new MemberInsurance(detail, applyChange, applyChange.getEditor(), add.getId(),applyChange.getSolutionsId());
memberInsurance.setStartTime(add.getStartTime());
@@ -821,10 +827,8 @@
* 鍑忎繚鏁版嵁澶勭悊
* @param applyChange
* @param detail
- * @param currentFee
- * @param totalFee
*/
- public void reduceChangeDetailData(ApplyChange applyChange,ApplyChagneDetail detail,BigDecimal currentFee,BigDecimal totalFee){
+ public void reduceChangeDetailData(ApplyChange applyChange,ApplyChagneDetail detail,BigDecimalVO bigDecimalVO){
//鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
ApplyDetail oldModel = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda()
.eq(ApplyDetail::getApplyId, applyChange.getApplyId())
@@ -859,8 +863,9 @@
.set(ApplyDetail::getEditDate, applyChange.getEditDate())
.eq(ApplyDetail::getId, oldModel.getId())
);
- totalFee = totalFee.add(reduceFee);
- currentFee = currentFee.add(pullFee);
+
+ bigDecimalVO.setTotalFee(bigDecimalVO.getTotalFee().add(reduceFee));
+ bigDecimalVO.setCurrentFee(bigDecimalVO.getCurrentFee().add(pullFee));
//淇敼 鍛樺伐鎶曚繚鏄庣粏璁板綍 鍘嗗彶鏁版嵁
memberInsuranceJoinMapper.update(null, new UpdateWrapper<MemberInsurance>().lambda()
--
Gitblit v1.9.3