no message
This commit is contained in:
parent
ed1790a79a
commit
a1d6f90837
|
|
@ -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"))) {
|
||||
// 当前确认金额 > 支付金额 - 已支付确认金额 - 已支付撤销金额
|
||||
|
|
|
|||
Loading…
Reference in New Issue