no message

This commit is contained in:
cb 2025-04-23 18:10:14 +08:00
parent ed1790a79a
commit a1d6f90837
1 changed files with 21 additions and 6 deletions

View File

@ -600,7 +600,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
BigDecimal dtx2 = changePaymentConfirm(fcRecord, orderDetailId, orderDetail.getWorkerId(), deptId, memberId,
masterMemberId, teamRete, teamMoney, deptRate, deptMoney, saleRateThree, placeId, saleRateTwo, parentPlaceId);
dtx = dtx.add(dtx2);
logger.info("子订单加价记录{}",dtx1);
logger.info("子订单加价记录{}加价完毕{}",dtx2,dtx);
}
}
@ -611,7 +611,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
logger.info("附件费分账金额{}",orderAttachmentRecordList);
if(CollectionUtils.isNotEmpty(orderAttachmentRecordList)){
// 附件费分账.
attachPaymentConfirm(orderAttachmentRecordList.get(0), orderDetailId, orderDetail.getWorkerId(), deptId);
attachPaymentConfirm(orderAttachmentRecordList.get(0), orderDetailId, orderDetail.getWorkerId(), deptId,orderDetail.getCustomerId());
}
// --------------------- 子财务单分账部分 start ---------------------
// 子单的实际金额
@ -643,6 +643,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
ArrayList<DivMember> divMembers = new ArrayList<>();
// 是否有罚金
boolean haveFine = MoneyUtil.gt0(fineMoney);
logger.info("子单的罚金{},是否有罚金{}",fineMoney,haveFine);
if (haveFine) { // 有罚金 从罚金里扣除手续费
// 平台的分账信息 用来承担罚金
divMembers.add(new DivMember("0", MoneyUtil.toS(fineMoney), true));
@ -656,8 +657,9 @@ public class OrderDetailServiceImpl implements OrderDetailService {
divMembers.add(new DivMember(memberId, MoneyUtil.toS(odMoney), true));
// 平台金额部分抽出来部分承担手续费
}
logger.info("子单的罚金处理后的总额{}",dtx);
String orderNo = "OD_" + orderDetailId + "_" + System.currentTimeMillis();
logger.info("子订单[{}]发起分账: {}", orderDetailId, JSON.toJSONString(divMembers));
logger.info("子订单[{}]发起分账: {} 分账人员{}", orderDetailId, JSON.toJSONString(divMembers),orderDetail.getWorkerName());
JSONObject response = adapayService.paymentConfirm(deptId, orderPayment.getId(), orderNo, MoneyUtil.toS(odMoney), divMembers, null, null);
logger.info("子订单[{}]的分账结果: {}", orderDetailId, response.toString());
boolean status = AdapayStatusEnum.succeeded.code.equals(response.getString("status"));
@ -665,11 +667,12 @@ public class OrderDetailServiceImpl implements OrderDetailService {
Assert.isTrue(status, response.toString());
// 分账成功 把罚金状态改为已扣除
fineIds.forEach(fineRecordId -> orderFineRecordMapper.updateFineStatus(fineRecordId, 1));
logger.info("子单的实际金额{}",odMoney);
if (!haveFine) {
String feeAmt = response.getString("fee_amt");
dtx = dtx.add(odMoney).subtract(new BigDecimal(feeAmt));
}
logger.info("子单的没有罚金的实际金额{}",dtx);
}
// --------------------- 子财务单分账部分 end ---------------------
@ -791,6 +794,9 @@ public class OrderDetailServiceImpl implements OrderDetailService {
logger.info("子订单[{}]的[改价单]分账成功", orderDetailId);
// 分账成功 把罚金状态改为已扣除
fineIds.forEach(fineRecordId -> orderFineRecordMapper.updateFineStatus(fineRecordId, 1));
//获取当前订单的 一级 二级分销
drawCash(orderDetailId,deptId,placeOne, AdapayUtils.bigDecimalToString(placeOneMoney));
drawCash(orderDetailId,deptId,placeTwo, AdapayUtils.bigDecimalToString(placeTwoMoney));
} else { // 分账失败
if (AdapayErrorCode.CONFIRM_AMT_OVER_LIMIT.equals(response.getString("error_code"))) {
// 当前确认金额 > 支付金额 - 已支付确认金额 - 已支付撤销金额
@ -807,7 +813,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
return workerFee;
}
private void attachPaymentConfirm(OrderAttachmentRecord orderAttachmentRecord, Long orderDetailId, Long workerId, Long deptId) throws BaseAdaPayException {
private void attachPaymentConfirm(OrderAttachmentRecord orderAttachmentRecord, Long orderDetailId, Long workerId, Long deptId,Long customerId) throws BaseAdaPayException {
BigDecimal attachMoney = orderAttachmentRecord.getAttachMoney();
// 扣除罚金后的上门师傅报酬
// workerFee = workerFee.subtract(fineMoney);
@ -815,9 +821,14 @@ public class OrderDetailServiceImpl implements OrderDetailService {
// platformFee = platformFee.add(fineMoney);
ArrayList<DivMember> divMembers = new ArrayList<>();
// 承担手续费的标志 如果平台抽成为0则大师傅承担手续费 如果大师傅抽成也为0 则由上门师傅自己承担手续费
String memberId = AdapayUtils.getCustomerMemberId(customerId, deptId);
boolean feeFlag = false;
BigDecimal one = null;
if (MoneyUtil.gt0(attachMoney)) {
divMembers.add(new DivMember("0", MoneyUtil.toS(attachMoney), true));
one = attachMoney.multiply(new BigDecimal(0.99)).setScale(2, RoundingMode.DOWN);
divMembers.add(new DivMember(memberId, MoneyUtil.toS(one), false));
divMembers.add(new DivMember(memberId, MoneyUtil.toS(attachMoney.subtract(one)), true));
logger.info("子订单[{}]的[附件费]提现金额", one);
feeFlag = true;
}
String orderNo = "FCR_" + orderAttachmentRecord.getId() + "_" + System.currentTimeMillis();
@ -827,6 +838,10 @@ public class OrderDetailServiceImpl implements OrderDetailService {
logger.info("子订单[{}]的[附件费]分账结果: {}", orderDetailId, response.toString());
if (AdapayStatusEnum.succeeded.code.equals(response.getString("status"))) { // 分账成功
logger.info("子订单[{}]的[附件费]分账成功", orderDetailId);
logger.info("子订单[{}]的[附件费]提现金额", one);
if (feeFlag){
drawCash(orderDetailId,deptId,memberId,AdapayUtils.bigDecimalToString(one));
}
} else { // 分账失败
if (AdapayErrorCode.CONFIRM_AMT_OVER_LIMIT.equals(response.getString("error_code"))) {
// 当前确认金额 > 支付金额 - 已支付确认金额 - 已支付撤销金额