收益逻辑修正
This commit is contained in:
parent
553ef3a2cd
commit
5494352fb0
@ -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();
|
||||||
|
@ -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 -> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user