no message
This commit is contained in:
parent
9a722c8da2
commit
f68eb53363
|
|
@ -619,22 +619,12 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
}
|
}
|
||||||
// --------------------- 子财务单分账部分 start ---------------------
|
// --------------------- 子财务单分账部分 start ---------------------
|
||||||
// 子单的实际金额
|
// 子单的实际金额
|
||||||
BigDecimal odMoney = financialDetail.getPayMoney().subtract(changeMoney);
|
BigDecimal odMoney = financialDetail.getPayMoney();
|
||||||
logger.info("子单的实际金额{}", odMoney);
|
logger.info("子单的实际金额{}", odMoney);
|
||||||
|
|
||||||
|
BigDecimal commissionAmount=BigDecimal.ZERO;
|
||||||
if (MoneyUtil.lte0(odMoney)) {
|
if (MoneyUtil.lte0(odMoney)) {
|
||||||
ArrayList<DivMember> divMembers = new ArrayList<>();
|
logger.info("子财务单[{}] 应支付金额={} 不需要分账", financialDetail.getId(), odMoney);
|
||||||
logger.info("子财务单[{}] 应支付金额={} 不需要分账", financialDetail.getId(), odMoney);
|
|
||||||
divMembers.add(new DivMember("0", MoneyUtil.toS(payMoney), false));
|
|
||||||
String orderNo = "OD_" + orderDetailId + "_" + System.currentTimeMillis();
|
|
||||||
logger.info("子订单[{}]发起分账: {} 分账人员{}", orderDetailId, JSON.toJSONString(divMembers), orderDetail.getWorkerName());
|
|
||||||
JSONObject response = adapayService.paymentConfirm(deptId, orderPayment.getId(), orderNo, MoneyUtil.toS(payMoney), divMembers, null, null);
|
|
||||||
logger.info("子订单[{}]的分账结果: {}", orderDetailId, response.toString());
|
|
||||||
boolean status = AdapayStatusEnum.succeeded.code.equals(response.getString("status"));
|
|
||||||
// 如果确认支付失败 这里抛出异常 回滚订单状态
|
|
||||||
Assert.isTrue(status, response.toString());
|
|
||||||
// 分账成功 把罚金状态改为已扣除
|
|
||||||
} else {
|
} else {
|
||||||
// 查询师傅的超时扣款记录
|
// 查询师傅的超时扣款记录
|
||||||
List<OrderTimeoutRecord> fineRecords = orderFineRecordMapper.selectUnFine(orderDetail.getWorkerId(), orderMaster.getDeptId());
|
List<OrderTimeoutRecord> fineRecords = orderFineRecordMapper.selectUnFine(orderDetail.getWorkerId(), orderMaster.getDeptId());
|
||||||
|
|
@ -670,13 +660,21 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 没有罚金 自己承担手续费
|
// 没有罚金 自己承担手续费
|
||||||
divMembers.add(new DivMember(memberId, MoneyUtil.toS(odMoney), false));
|
divMembers.add(new DivMember(memberId, MoneyUtil.toS(odMoney), false));
|
||||||
// 平台金额部分抽出来部分承担手续费
|
// 平台金额部分抽出来部分承担手续费
|
||||||
BigDecimal payCommissionRate = new BigDecimal("0.01");
|
BigDecimal payCommissionRate = new BigDecimal("0.01");
|
||||||
|
|
||||||
BigDecimal commissionAmount = odMoney.multiply(payCommissionRate)
|
commissionAmount = odMoney.multiply(payCommissionRate)
|
||||||
.setScale(2, RoundingMode.UP); // 第一次精度控制
|
.setScale(2, RoundingMode.UP); // 第一次精度控制
|
||||||
|
if (commissionAmount.compareTo(payMoney) > 0){
|
||||||
|
for (FinancialDetail financialDetail1:details){
|
||||||
|
payMoney=financialDetail1.getPayMoney();
|
||||||
|
if (payMoney.compareTo(commissionAmount)>0){
|
||||||
|
fdUpdate.setId(financialDetail1.getId());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
payMoney = payMoney.subtract(commissionAmount);
|
payMoney = payMoney.subtract(commissionAmount);
|
||||||
fdUpdate.setPayMoney(payMoney);
|
fdUpdate.setPayMoney(payMoney);
|
||||||
divMembers.add(new DivMember("0", MoneyUtil.toS(commissionAmount), true));
|
divMembers.add(new DivMember("0", MoneyUtil.toS(commissionAmount), true));
|
||||||
|
|
@ -705,6 +703,9 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
// 分账成功 把罚金状态改为已扣除
|
// 分账成功 把罚金状态改为已扣除
|
||||||
fineIds.forEach(fineRecordId -> orderFineRecordMapper.updateFineStatus(fineRecordId, 1));
|
fineIds.forEach(fineRecordId -> orderFineRecordMapper.updateFineStatus(fineRecordId, 1));
|
||||||
logger.info("子单的实际金额{}", odMoney);
|
logger.info("子单的实际金额{}", odMoney);
|
||||||
|
if (commissionAmount.compareTo(BigDecimal.ZERO)>0){
|
||||||
|
odMoney=odMoney.subtract(commissionAmount);
|
||||||
|
}
|
||||||
if (!haveFine) {
|
if (!haveFine) {
|
||||||
String feeAmt = response.getString("fee_amt");
|
String feeAmt = response.getString("fee_amt");
|
||||||
dtx = dtx.add(odMoney).subtract(new BigDecimal(feeAmt));
|
dtx = dtx.add(odMoney).subtract(new BigDecimal(feeAmt));
|
||||||
|
|
@ -828,8 +829,6 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
logger.info("子师傅的费用{}子师傅抽成比例{}", detailFee, BigDecimal.ONE.subtract(teamRete));
|
logger.info("子师傅的费用{}子师傅抽成比例{}", detailFee, BigDecimal.ONE.subtract(teamRete));
|
||||||
logger.info("大师傅的扣点{},最终的扣完之后的金额{}", masterFee, workerFee);
|
|
||||||
logger.info("改价单各个金额{},{},{},{}", placeOneMoney, placeTwoMoney, masterFee, workerFee);
|
|
||||||
String orderNo = "FCR_" + fcRecord.getId() + "_" + System.currentTimeMillis();
|
String orderNo = "FCR_" + fcRecord.getId() + "_" + System.currentTimeMillis();
|
||||||
//调用分账
|
//调用分账
|
||||||
logger.info("子订单[{}]的[改价单]发起分账", orderDetailId);
|
logger.info("子订单[{}]的[改价单]发起分账", orderDetailId);
|
||||||
|
|
@ -1147,8 +1146,10 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
teamMoney = MoneyUtil.lt0(teamMoney) ? BigDecimal.ZERO : teamMoney;
|
teamMoney = MoneyUtil.lt0(teamMoney) ? BigDecimal.ZERO : teamMoney;
|
||||||
BigDecimal endMoney=financialChangeRecord.getChangeMoney().subtract(saleOneMoney)
|
BigDecimal endMoney=financialChangeRecord.getChangeMoney().subtract(saleOneMoney)
|
||||||
.subtract(saleTwoMoney).subtract(saleThreeMoney).subtract(deptChangeMoney);
|
.subtract(saleTwoMoney).subtract(saleThreeMoney).subtract(deptChangeMoney);
|
||||||
BigDecimal workerMoney=endMoney.multiply(BigDecimal.ONE.subtract(teamRete).setScale(2, RoundingMode.DOWN));
|
BigDecimal workerMoney=endMoney.multiply(BigDecimal.ONE.subtract(teamRete)).setScale(2, RoundingMode.DOWN);
|
||||||
BigDecimal leaderMoney = endMoney.subtract(workerMoney).add(teamMoney);
|
BigDecimal leaderMoney = endMoney.subtract(workerMoney).add(teamMoney);
|
||||||
|
logger.info("减去所有返点的金额{}大师傅的金额{}子师傅的金额{}子师傅的费率{}",endMoney,leaderMoney,workerMoney,BigDecimal.ONE.subtract(teamRete));
|
||||||
|
|
||||||
financialChangeRecord.setLeaderMoney(leaderMoney);
|
financialChangeRecord.setLeaderMoney(leaderMoney);
|
||||||
|
|
||||||
// 截留扣点 暂不需要
|
// 截留扣点 暂不需要
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue