From 5494352fb0d365949fbfe5cfbdd077d41e2217e9 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 28 Feb 2025 15:01:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E7=9B=8A=E9=80=BB=E8=BE=91=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ycwl/basic/aspectj/HttpSaver.java | 4 ++++ .../java/com/ycwl/basic/biz/BrokerBiz.java | 19 +++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ycwl/basic/aspectj/HttpSaver.java b/src/main/java/com/ycwl/basic/aspectj/HttpSaver.java index 79ee2c3..fedda84 100644 --- a/src/main/java/com/ycwl/basic/aspectj/HttpSaver.java +++ b/src/main/java/com/ycwl/basic/aspectj/HttpSaver.java @@ -33,6 +33,10 @@ public class HttpSaver { return; } HttpServletRequest request = attributes.getRequest(); + saveRequestToFile(request); + } + + public static void saveRequestToFile(HttpServletRequest request) throws IOException { StringBuilder rawReq = new StringBuilder(); rawReq.append(request.getMethod()).append(" ").append(request.getRequestURL()); String queryString = request.getQueryString(); diff --git a/src/main/java/com/ycwl/basic/biz/BrokerBiz.java b/src/main/java/com/ycwl/basic/biz/BrokerBiz.java index 7586e6f..6cc45a9 100644 --- a/src/main/java/com/ycwl/basic/biz/BrokerBiz.java +++ b/src/main/java/com/ycwl/basic/biz/BrokerBiz.java @@ -80,7 +80,7 @@ public class BrokerBiz { brokerRecord.setOrderPrice(order.getPayPrice()); brokerRecord.setBrokerRate(broker.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.setBrokerPrice(brokerPrice); reason += "金额:" + order.getPayPrice() + "元,提成比例:" + brokerRate + "%,提成金额:" + brokerPrice + "元"; @@ -89,12 +89,15 @@ public class BrokerBiz { } else { BrokerRespVO broker = brokerInfoList.get(0); 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); // todo 需要计算实际提成比例 - BigDecimal firstRate = BigDecimal.valueOf(50); - BigDecimal secondRate = BigDecimal.valueOf(100).subtract(firstRate).divide(BigDecimal.valueOf(brokerInfoList.size() - 1), 2, RoundingMode.HALF_DOWN); - brokerInfoList.forEach(item -> { + BigDecimal firstRate = scenicConfig.getBrokerDirectRate(); + if (firstRate == null) { + 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 + ":"; BrokerRecord brokerRecord = new BrokerRecord(); brokerRecord.setBrokerId(item.getId()); @@ -108,14 +111,14 @@ public class BrokerBiz { brokerRecord.setDirectPrice(BigDecimal.ZERO); } brokerRecord.setOrderPrice(order.getPayPrice()); - brokerRecord.setBrokerRate(interBrokerRate); - BigDecimal interBrokerPrice = order.getPayPrice().multiply(interBrokerRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_DOWN); + brokerRecord.setBrokerRate(interBrokerRate.multiply(realRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN)); + BigDecimal interBrokerPrice = brokerPrice.multiply(interBrokerRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN); brokerRecord.setBrokerPrice(interBrokerPrice); reason += "二次提成比例:" + interBrokerRate + "%,提成金额:" + interBrokerPrice + "元"; brokerRecord.setReason(reason); brokerRecordList.add(brokerRecord); isFirst.set(false); - }); + } } revokeOrder(orderId); brokerRecordList.forEach(brokerRecord -> {