收益逻辑修正

This commit is contained in:
Jerry Yan 2025-02-28 15:01:26 +08:00
parent 553ef3a2cd
commit 5494352fb0
2 changed files with 15 additions and 8 deletions

View File

@ -33,6 +33,10 @@ public class HttpSaver {
return; return;
} }
HttpServletRequest request = attributes.getRequest(); HttpServletRequest request = attributes.getRequest();
saveRequestToFile(request);
}
public static void saveRequestToFile(HttpServletRequest request) throws IOException {
StringBuilder rawReq = new StringBuilder(); StringBuilder rawReq = new StringBuilder();
rawReq.append(request.getMethod()).append(" ").append(request.getRequestURL()); rawReq.append(request.getMethod()).append(" ").append(request.getRequestURL());
String queryString = request.getQueryString(); String queryString = request.getQueryString();

View File

@ -80,7 +80,7 @@ public class BrokerBiz {
brokerRecord.setOrderPrice(order.getPayPrice()); brokerRecord.setOrderPrice(order.getPayPrice());
brokerRecord.setBrokerRate(broker.getBrokerRate()); brokerRecord.setBrokerRate(broker.getBrokerRate());
BigDecimal brokerRate = brokerRecord.getBrokerRate(); BigDecimal brokerRate = brokerRecord.getBrokerRate();
BigDecimal brokerPrice = order.getPayPrice().multiply(brokerRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_DOWN); BigDecimal brokerPrice = order.getPayPrice().multiply(brokerRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN);
brokerRecord.setDirectPrice(order.getPayPrice()); brokerRecord.setDirectPrice(order.getPayPrice());
brokerRecord.setBrokerPrice(brokerPrice); brokerRecord.setBrokerPrice(brokerPrice);
reason += "金额:" + order.getPayPrice() + "元,提成比例:" + brokerRate + "%,提成金额:" + brokerPrice + ""; reason += "金额:" + order.getPayPrice() + "元,提成比例:" + brokerRate + "%,提成金额:" + brokerPrice + "";
@ -89,12 +89,15 @@ public class BrokerBiz {
} else { } else {
BrokerRespVO broker = brokerInfoList.get(0); BrokerRespVO broker = brokerInfoList.get(0);
BigDecimal realRate = broker.getBrokerRate(); BigDecimal realRate = broker.getBrokerRate();
BigDecimal brokerPrice = order.getPayPrice().multiply(realRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_DOWN); BigDecimal brokerPrice = order.getPayPrice().multiply(realRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN);
AtomicBoolean isFirst = new AtomicBoolean(true); AtomicBoolean isFirst = new AtomicBoolean(true);
// todo 需要计算实际提成比例 // todo 需要计算实际提成比例
BigDecimal firstRate = BigDecimal.valueOf(50); BigDecimal firstRate = scenicConfig.getBrokerDirectRate();
BigDecimal secondRate = BigDecimal.valueOf(100).subtract(firstRate).divide(BigDecimal.valueOf(brokerInfoList.size() - 1), 2, RoundingMode.HALF_DOWN); if (firstRate == null) {
brokerInfoList.forEach(item -> { firstRate = BigDecimal.ZERO;
}
BigDecimal secondRate = BigDecimal.valueOf(100).subtract(firstRate).divide(BigDecimal.valueOf(brokerInfoList.size() - 1), 2, RoundingMode.DOWN);
for (BrokerRespVO item : brokerInfoList) {
String reason = "多人提成:支付金额:" + order.getPayPrice() + "元,可提成比例:" + realRate + "%,可提成金额:" + brokerPrice + ""; String reason = "多人提成:支付金额:" + order.getPayPrice() + "元,可提成比例:" + realRate + "%,可提成金额:" + brokerPrice + "";
BrokerRecord brokerRecord = new BrokerRecord(); BrokerRecord brokerRecord = new BrokerRecord();
brokerRecord.setBrokerId(item.getId()); brokerRecord.setBrokerId(item.getId());
@ -108,14 +111,14 @@ public class BrokerBiz {
brokerRecord.setDirectPrice(BigDecimal.ZERO); brokerRecord.setDirectPrice(BigDecimal.ZERO);
} }
brokerRecord.setOrderPrice(order.getPayPrice()); brokerRecord.setOrderPrice(order.getPayPrice());
brokerRecord.setBrokerRate(interBrokerRate); brokerRecord.setBrokerRate(interBrokerRate.multiply(realRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN));
BigDecimal interBrokerPrice = order.getPayPrice().multiply(interBrokerRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_DOWN); BigDecimal interBrokerPrice = brokerPrice.multiply(interBrokerRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN);
brokerRecord.setBrokerPrice(interBrokerPrice); brokerRecord.setBrokerPrice(interBrokerPrice);
reason += "二次提成比例:" + interBrokerRate + "%,提成金额:" + interBrokerPrice + ""; reason += "二次提成比例:" + interBrokerRate + "%,提成金额:" + interBrokerPrice + "";
brokerRecord.setReason(reason); brokerRecord.setReason(reason);
brokerRecordList.add(brokerRecord); brokerRecordList.add(brokerRecord);
isFirst.set(false); isFirst.set(false);
}); }
} }
revokeOrder(orderId); revokeOrder(orderId);
brokerRecordList.forEach(brokerRecord -> { brokerRecordList.forEach(brokerRecord -> {