no message

This commit is contained in:
cb 2025-06-04 15:44:49 +08:00
parent 6c500a0349
commit ca4530ce84
5 changed files with 35 additions and 25 deletions

View File

@ -106,14 +106,14 @@ public class PayCallbackService implements CallBackService {
FinancialDetail fd = financialDetailService.selectByOrderDetailId(fc.getOrderDetailId());
FinancialDetail fd2Update = new FinancialDetail();
fd2Update.setId(fd.getId());
fd2Update.setPayMoney(fd.getPayMoney().add(fc.getChangeMoney()));
fd2Update.setPayMoney(fd.getPayMoney());
fd2Update.setPayStatus(PayStatus.PAID.getCode());
financialDetailService.updateFinancialDetail(fd2Update);
// 修改主单的payMoney
FinancialMaster financialMaster = financialMasterService.selectById(fd.getFinancialMasterId());
FinancialMaster financialMaster2Update = new FinancialMaster();
financialMaster2Update.setId(financialMaster.getId());
financialMaster2Update.setPayMoney(financialMaster.getPayMoney().add(fc.getChangeMoney()));
financialMaster2Update.setPayMoney(financialMaster.getPayMoney());
financialMaster2Update.setPayStatus(PayStatus.PAID.getCode());
financialMasterService.updateFinancialMaster(financialMaster2Update);
// 更新主订单的支付信息
@ -128,14 +128,14 @@ public class PayCallbackService implements CallBackService {
FinancialDetail fd = financialDetailService.selectByOrderDetailId(orderAdd.getOrderDetailId());
FinancialDetail fd2Update = new FinancialDetail();
fd2Update.setId(fd.getId());
fd2Update.setPayMoney(fd.getPayMoney().add(orderAdd.getMoney()));
fd2Update.setPayMoney(fd.getPayMoney());
fd2Update.setPayStatus(PayStatus.PAID.getCode());
financialDetailService.updateFinancialDetail(fd2Update);
// 修改主单的payMoney
FinancialMaster financialMaster = financialMasterService.selectById(fd.getFinancialMasterId());
FinancialMaster financialMaster2Update = new FinancialMaster();
financialMaster2Update.setId(financialMaster.getId());
financialMaster2Update.setPayMoney(financialMaster.getPayMoney().add(orderAdd.getMoney()));
financialMaster2Update.setPayMoney(financialMaster.getPayMoney());
financialMaster2Update.setPayStatus(PayStatus.PAID.getCode());
financialMasterService.updateFinancialMaster(financialMaster2Update);
log.info("订单追加[{}]支付成功", relationId);

View File

@ -612,18 +612,28 @@ public class OrderDetailController extends BaseController {
masterFee = BigDecimal.ZERO;
}
// 上门师傅应得加价的报酬
BigDecimal workerFee = totalAdd.subtract(platformFee).subtract(masterFee).subtract(customerFee);
BigDecimal workerFee = financialChangeRecords.stream()
.filter(record -> record != null && record.getPayStatus() == 1)
.map(record -> {
BigDecimal money = record.getWorkerMoney();
return money != null ? money : BigDecimal.ZERO; // 处理 getWorkerMoney() 返回 null 的情况
}).reduce(BigDecimal.ZERO, BigDecimal::add);
OrderAttachmentRecord orderAttachmentRecord=new OrderAttachmentRecord();
orderAttachmentRecord.setOrderDetailId(detail.getId());
List<OrderAttachmentRecord> orderAttachmentRecords=orderAttachmentRecordService.selectOrderAttachmentRecordList(orderAttachmentRecord);
//配件费的实际获取金额计算费率
BigDecimal rate = BigDecimal.valueOf(0.99);
BigDecimal attachmentMoney = orderAttachmentRecords.stream()
.filter(record -> StringUtils.isNotEmpty(record.getPaymentId()))
.map(OrderAttachmentRecord::getAttachMoney)
.map(attachMoney ->attachMoney.multiply(rate).setScale(2, RoundingMode.DOWN))
.reduce(BigDecimal.ZERO, BigDecimal::add);
logger.info("加价的金额{}配件费{}总服务金额为{}",workerFee,attachmentMoney,orderListResponse.getPayMoney().add(workerFee).add(attachmentMoney));
List<FinancialChangeRecord> changeRecords= financialChangeRecords.stream()
.filter(record -> record.getPayStatus() == 1).collect(Collectors.toList());
BigDecimal attachmentMoney=BigDecimal.ZERO;
if (!changeRecords.isEmpty()){
attachmentMoney = orderAttachmentRecords.stream()
.filter(record -> StringUtils.isNotEmpty(record.getPaymentId()))
.map(OrderAttachmentRecord::getAttachMoney)
.map(attachMoney ->attachMoney.multiply(rate).setScale(2, RoundingMode.DOWN))
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
logger.info("是否支付{}加价的金额{}配件费{}总服务金额为{}",changeRecords,workerFee,attachmentMoney,orderListResponse.getPayMoney().add(workerFee).add(attachmentMoney));
orderListResponse.setPayAddMoney(orderListResponse.getPayMoney().add(workerFee).add(attachmentMoney));
}

View File

@ -1206,12 +1206,10 @@ public class OrderMasterController extends BaseController {
BigDecimal attachmentMoney= BigDecimal.ZERO;
List<OrderAttachmentRecord> orderAttachmentRecords=orderAttachmentRecordService.selectOrderAttachmentRecordList(param1);
if(orderAttachmentRecords!=null&&orderAttachmentRecords.size()>0){
logger.info("配件金额为{}",orderAttachmentRecords.get(0).getAttachMoney());
attachmentMoney= attachmentMoney.add(orderAttachmentRecords.get(0).getAttachMoney());
financialChangeRecord.setAttachmentMoney(attachmentMoney);
}
if (financialChangeRecord.getPayStatus()==1){
logger.info("加价的订单{}",financialChangeRecord);
if (financialChangeRecord.getLeaderMoney().compareTo(BigDecimal.ZERO)>0){
leaderMoney=leaderMoney.add(financialChangeRecord.getLeaderMoney());
}

View File

@ -1120,13 +1120,6 @@ public class OrderDetailServiceImpl implements OrderDetailService {
BigDecimal saleThreeMoney = financialChangeRecord.getChangeMoney().multiply(saleRateThree);
financialChangeRecord.setThreeMoney(saleThreeMoney);
// 大师傅提成
BigDecimal teamRete = new BigDecimal(workerMaster.getLeaderTeamRate());
teamRete = MoneyUtil.lt0(teamRete) ? BigDecimal.ZERO : teamRete;
BigDecimal teamMoney = new BigDecimal(workerMaster.getLeaderTeamMoney());
teamMoney = MoneyUtil.lt0(teamMoney) ? BigDecimal.ZERO : teamMoney;
BigDecimal leaderMoney = financialChangeRecord.getChangeMoney().multiply(teamRete).add(teamMoney);
financialChangeRecord.setLeaderMoney(leaderMoney);
// 平台加价抽成
BigDecimal deptRate = new BigDecimal(deptGoodsCategory.getDeptRate());
@ -1135,7 +1128,18 @@ public class OrderDetailServiceImpl implements OrderDetailService {
BigDecimal deptChangeMoney = deptMoney.add(financialChangeRecord.getChangeMoney().multiply(deptRate));
financialChangeRecord.setDeptMoney(deptChangeMoney);
// 截留扣点
// 大师傅提成
BigDecimal teamRete = new BigDecimal(workerMaster.getLeaderTeamRate());
teamRete = MoneyUtil.lt0(teamRete) ? BigDecimal.ZERO : teamRete;
BigDecimal teamMoney = new BigDecimal(workerMaster.getLeaderTeamMoney());
teamMoney = MoneyUtil.lt0(teamMoney) ? BigDecimal.ZERO : teamMoney;
BigDecimal endMoney=financialChangeRecord.getChangeMoney().subtract(saleOneMoney)
.subtract(saleTwoMoney).subtract(saleThreeMoney).subtract(deptChangeMoney);
BigDecimal workerMoney=endMoney.multiply(BigDecimal.ONE.subtract(teamRete).setScale(2, RoundingMode.DOWN));
BigDecimal leaderMoney = endMoney.subtract(workerMoney).add(teamMoney);
financialChangeRecord.setLeaderMoney(leaderMoney);
// 截留扣点 暂不需要
BigDecimal pcDeptRate = new BigDecimal(deptGoodsCategory.getPcDeptRate());
pcDeptRate = MoneyUtil.lt0(pcDeptRate) ? BigDecimal.ZERO : pcDeptRate;
BigDecimal pcDeptMoney = MoneyUtil.lt0(deptGoodsCategory.getPcDeptMoney()) ? BigDecimal.ZERO : deptGoodsCategory.getPcDeptMoney();
@ -1143,9 +1147,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
financialChangeRecord.setDeptAddMoney(deptAddMoney);
// 师傅剩余服务金额
financialChangeRecord.setWorkerMoney(financialChangeRecord.getChangeMoney().subtract(saleOneMoney)
.subtract(saleTwoMoney).subtract(saleThreeMoney).subtract(leaderMoney)
.subtract(deptChangeMoney).subtract(deptAddMoney));
financialChangeRecord.setWorkerMoney(workerMoney);
}

View File

@ -28,7 +28,7 @@
<sql id="selectFinancialChangeRecordVo">
SELECT id, order_detail_id, order_master_id, payment_id, reverse_id,
change_money, leader_money,status, pay_status, type, left_money, remark,urls ,file_names,reason FROM financial_change_record
change_money, leader_money,status, pay_status, type, left_money, remark,urls ,file_names,reason,worker_money FROM financial_change_record
</sql>
<select id="selectNotPayRecordByDetailId" parameterType="Long" resultMap="FinancialChangeRecordResult">