no message
This commit is contained in:
parent
3ef7b08c95
commit
2c3328b320
|
|
@ -611,7 +611,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
logger.info("附件费分账金额{}",orderAttachmentRecordList);
|
logger.info("附件费分账金额{}",orderAttachmentRecordList);
|
||||||
if(CollectionUtils.isNotEmpty(orderAttachmentRecordList)){
|
if(CollectionUtils.isNotEmpty(orderAttachmentRecordList)){
|
||||||
// 附件费分账.
|
// 附件费分账.
|
||||||
attachPaymentConfirm(orderAttachmentRecordList.get(0), orderDetailId, orderDetail.getWorkerId(), deptId,orderDetail.getCustomerId());
|
attachPaymentConfirm(orderAttachmentRecordList.get(0), orderDetailId, orderDetail.getWorkerId(), deptId,memberId);
|
||||||
}
|
}
|
||||||
// --------------------- 子财务单分账部分 start ---------------------
|
// --------------------- 子财务单分账部分 start ---------------------
|
||||||
// 子单的实际金额
|
// 子单的实际金额
|
||||||
|
|
@ -719,9 +719,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
// 如果提成>追加金额 则去掉固定提成 只计算比例提成
|
// 如果提成>追加金额 则去掉固定提成 只计算比例提成
|
||||||
if (MoneyUtil.lt(masterFee.add(platformFee), changeMoney)) {
|
if (MoneyUtil.lt(masterFee.add(platformFee), changeMoney)) {
|
||||||
platformFee = changeMoney.multiply(deptRate).setScale(2, RoundingMode.UP);
|
platformFee = changeMoney.multiply(deptRate).setScale(2, RoundingMode.UP);
|
||||||
masterFee = changeMoney.multiply(teamRete).setScale(2, RoundingMode.UP);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分销抽成
|
// 分销抽成
|
||||||
// 1级分销
|
// 1级分销
|
||||||
if (MoneyUtil.lt(oneRate, changeMoney)) {
|
if (MoneyUtil.lt(oneRate, changeMoney)) {
|
||||||
|
|
@ -732,10 +730,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
placeTwoMoney = changeMoney.multiply(twoRate).setScale(2, RoundingMode.UP);
|
placeTwoMoney = changeMoney.multiply(twoRate).setScale(2, RoundingMode.UP);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果是大师傅自己接单,则不需要抽成
|
|
||||||
if(AdapayUtils.getWorkerMemberId(workerId, deptId).equals(masterMemberId)){
|
|
||||||
masterFee = BigDecimal.ZERO;
|
|
||||||
}
|
|
||||||
logger.info("子订单改价分账1级{}2级{}",placeOneMoney,placeTwoMoney);
|
logger.info("子订单改价分账1级{}2级{}",placeOneMoney,placeTwoMoney);
|
||||||
// 上门师傅的报酬
|
// 上门师傅的报酬
|
||||||
BigDecimal workerFee = changeMoney;
|
BigDecimal workerFee = changeMoney;
|
||||||
|
|
@ -769,11 +764,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
workerFee = workerFee.subtract(platformFee);
|
workerFee = workerFee.subtract(platformFee);
|
||||||
feeFlag = true;
|
feeFlag = true;
|
||||||
}
|
}
|
||||||
if (MoneyUtil.gt0(masterFee)) {
|
|
||||||
divMembers.add(new DivMember(masterMemberId, MoneyUtil.toS(masterFee), !feeFlag));
|
|
||||||
workerFee = workerFee.subtract(masterFee);
|
|
||||||
feeFlag = true;
|
|
||||||
}
|
|
||||||
if (MoneyUtil.gt0(placeOneMoney) && StringUtils.isNotEmpty(placeOne)) {
|
if (MoneyUtil.gt0(placeOneMoney) && StringUtils.isNotEmpty(placeOne)) {
|
||||||
divMembers.add(new DivMember(placeOne, MoneyUtil.toS(placeOneMoney), !feeFlag));
|
divMembers.add(new DivMember(placeOne, MoneyUtil.toS(placeOneMoney), !feeFlag));
|
||||||
workerFee = workerFee.subtract(placeOneMoney);
|
workerFee = workerFee.subtract(placeOneMoney);
|
||||||
|
|
@ -785,6 +776,20 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
if (MoneyUtil.gt0(workerFee)) {
|
if (MoneyUtil.gt0(workerFee)) {
|
||||||
divMembers.add(new DivMember(memberId, MoneyUtil.toS(workerFee), !feeFlag));
|
divMembers.add(new DivMember(memberId, MoneyUtil.toS(workerFee), !feeFlag));
|
||||||
}
|
}
|
||||||
|
masterFee=workerFee.multiply(teamRete).add(teamMoney).setScale(2, RoundingMode.UP);
|
||||||
|
if (MoneyUtil.lt(masterFee.add(platformFee), workerFee)) {
|
||||||
|
masterFee = workerFee.multiply(teamRete).setScale(2, RoundingMode.UP);
|
||||||
|
}
|
||||||
|
// 如果是大师傅自己接单,则不需要抽成
|
||||||
|
if(AdapayUtils.getWorkerMemberId(workerId, deptId).equals(masterMemberId)){
|
||||||
|
masterFee = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
if (MoneyUtil.gt0(masterFee)) {
|
||||||
|
divMembers.add(new DivMember(masterMemberId, MoneyUtil.toS(masterFee), !feeFlag));
|
||||||
|
workerFee = workerFee.subtract(masterFee);
|
||||||
|
feeFlag = true;
|
||||||
|
}
|
||||||
|
logger.info("大师傅的扣点{},最终的扣完之后的金额{}",masterFee,workerFee);
|
||||||
String orderNo = "FCR_" + fcRecord.getId() + "_" + System.currentTimeMillis();
|
String orderNo = "FCR_" + fcRecord.getId() + "_" + System.currentTimeMillis();
|
||||||
//调用分账
|
//调用分账
|
||||||
logger.info("子订单[{}]的[改价单]发起分账", orderDetailId);
|
logger.info("子订单[{}]的[改价单]发起分账", orderDetailId);
|
||||||
|
|
@ -813,7 +818,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
return workerFee;
|
return workerFee;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void attachPaymentConfirm(OrderAttachmentRecord orderAttachmentRecord, Long orderDetailId, Long workerId, Long deptId,Long customerId) throws BaseAdaPayException {
|
private void attachPaymentConfirm(OrderAttachmentRecord orderAttachmentRecord, Long orderDetailId, Long workerId, Long deptId,String customerId) throws BaseAdaPayException {
|
||||||
BigDecimal attachMoney = orderAttachmentRecord.getAttachMoney();
|
BigDecimal attachMoney = orderAttachmentRecord.getAttachMoney();
|
||||||
// 扣除罚金后的上门师傅报酬
|
// 扣除罚金后的上门师傅报酬
|
||||||
// workerFee = workerFee.subtract(fineMoney);
|
// workerFee = workerFee.subtract(fineMoney);
|
||||||
|
|
@ -821,13 +826,14 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
// platformFee = platformFee.add(fineMoney);
|
// platformFee = platformFee.add(fineMoney);
|
||||||
ArrayList<DivMember> divMembers = new ArrayList<>();
|
ArrayList<DivMember> divMembers = new ArrayList<>();
|
||||||
// 承担手续费的标志 如果平台抽成为0则大师傅承担手续费 如果大师傅抽成也为0 则由上门师傅自己承担手续费
|
// 承担手续费的标志 如果平台抽成为0则大师傅承担手续费 如果大师傅抽成也为0 则由上门师傅自己承担手续费
|
||||||
String memberId = AdapayUtils.getCustomerMemberId(customerId, deptId);
|
|
||||||
boolean feeFlag = false;
|
boolean feeFlag = false;
|
||||||
BigDecimal one = null;
|
BigDecimal one = null;
|
||||||
if (MoneyUtil.gt0(attachMoney)) {
|
if (MoneyUtil.gt0(attachMoney)) {
|
||||||
one = attachMoney.multiply(new BigDecimal(0.99)).setScale(2, RoundingMode.DOWN);
|
BigDecimal rate = BigDecimal.valueOf(0.99);
|
||||||
divMembers.add(new DivMember(memberId, MoneyUtil.toS(one), false));
|
one = attachMoney.multiply(rate).setScale(2, RoundingMode.DOWN);
|
||||||
divMembers.add(new DivMember(memberId, MoneyUtil.toS(attachMoney.subtract(one)), true));
|
divMembers.add(new DivMember(customerId, MoneyUtil.toS(one), false));
|
||||||
|
divMembers.add(new DivMember("0", MoneyUtil.toS(attachMoney.subtract(one)), true));
|
||||||
logger.info("子订单[{}]的[附件费]提现金额", one);
|
logger.info("子订单[{}]的[附件费]提现金额", one);
|
||||||
feeFlag = true;
|
feeFlag = true;
|
||||||
}
|
}
|
||||||
|
|
@ -840,7 +846,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
logger.info("子订单[{}]的[附件费]分账成功", orderDetailId);
|
logger.info("子订单[{}]的[附件费]分账成功", orderDetailId);
|
||||||
logger.info("子订单[{}]的[附件费]提现金额", one);
|
logger.info("子订单[{}]的[附件费]提现金额", one);
|
||||||
if (feeFlag){
|
if (feeFlag){
|
||||||
drawCash(orderDetailId,deptId,memberId,AdapayUtils.bigDecimalToString(one));
|
drawCash(orderDetailId,deptId,customerId,AdapayUtils.bigDecimalToString(one));
|
||||||
}
|
}
|
||||||
} else { // 分账失败
|
} else { // 分账失败
|
||||||
if (AdapayErrorCode.CONFIRM_AMT_OVER_LIMIT.equals(response.getString("error_code"))) {
|
if (AdapayErrorCode.CONFIRM_AMT_OVER_LIMIT.equals(response.getString("error_code"))) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue