添加部分退款接口

This commit is contained in:
韩鹏辉
2023-08-17 11:25:55 +08:00
parent 23daecb536
commit 8fb56270fc

View File

@@ -45,14 +45,11 @@ public class RealFansServiceImpl extends ServiceImpl<RealFansMapper, RealFans> i
private GeneralPushUtil generalPushUtil;
@Override
public void removeProfit(String orderNumber) {
MerchantOrder order= merchantOrderService.queryMerchantOrder(new MerchantOrder().setOrderNumber(orderNumber));
public void removeProfit(MerchantOrder order) {
if(ObjectUtil.isEmpty(order)){
log.error("订单信息不存在:{}",orderNumber);
log.error("订单信息不存在");
return;
}
cancelUserProfitV2(order);
}
@@ -90,7 +87,7 @@ public class RealFansServiceImpl extends ServiceImpl<RealFansMapper, RealFans> i
for (MerchantProfit p : profitList) {
sumProfitMoney = sumProfitMoney.add(new BigDecimal(String.valueOf(p.getPrice())));
}
order.setProfitShareMoney(sumProfitMoney.abs().negate().setScale(4, BigDecimal.ROUND_DOWN).doubleValue());
order.setProfitShareMoney(new BigDecimal(order.getProfitShareMoney()).add(sumProfitMoney.abs().negate().setScale(4, BigDecimal.ROUND_DOWN)).doubleValue());
log.info("【去除分润结算结束】订单号:{}产生的分润总额:{}", order.getOrderNumber(), sumProfitMoney);
}
}
@@ -156,7 +153,7 @@ public class RealFansServiceImpl extends ServiceImpl<RealFansMapper, RealFans> i
return;
}
log.info("userId:{},rate:{},amount:{}",nowUserApp.getUserId(),profitRate,order.getConsumeFee());
BigDecimal profitAmt = profitRate.divide(BigDecimal.valueOf(100)).multiply(BigDecimal.valueOf(order.getConsumeFee())).setScale(4, BigDecimal.ROUND_DOWN);
BigDecimal profitAmt = profitRate.divide(BigDecimal.valueOf(100)).multiply(order.getRefundAmt()).setScale(4, BigDecimal.ROUND_DOWN);
MerchantProfit profit = new MerchantProfit(nowUserApp,nowUserApp , order, profitAmt.abs().negate(), profitRate, "5", "1");
profits.add(profit);
// sendProfitMessage(nowUserApp, profitAmt, order.getOrderNumber());
@@ -171,7 +168,7 @@ public class RealFansServiceImpl extends ServiceImpl<RealFansMapper, RealFans> i
public void removeProfit(MerchantOrder order, BigDecimal refundAmt,BigDecimal useRefundAmt) {
BigDecimal consumeFee = BigDecimal.valueOf(order.getConsumeFee());
if(refundAmt.compareTo(consumeFee) == 0){
removeProfit(order.getOrderNumber());
removeProfit(order);
}else{
QueryWrapper<MerchantProfit> queryWrapper = new QueryWrapper<MerchantProfit>();
queryWrapper.eq("orderNumber",order.getOrderNumber());