From d15cc03e48f34ad98ec0133cf4bce7ce4e53fcb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Sun, 25 Jan 2026 12:08:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(credit):=20=E6=89=A9=E5=B1=95=E4=BF=A1?= =?UTF-8?q?=E7=94=A8=E5=AE=9E=E4=BD=93=E5=B9=B6=E8=B0=83=E6=95=B4=E7=BB=8F?= =?UTF-8?q?=E9=94=80=E5=95=86=E7=BB=93=E7=AE=97=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在CreditXgxf实体中添加原告/上诉人和被告/被上诉人字段 - 调整经销商订单结算任务中的佣金费率配置 - 修改简推佣金计算逻辑,允许同一个人获得双重佣金 - 更新门店推广佣金分配策略,第二名佣金从8%降至1% - 扩展店铺经销商订单查询条件以支持更多用户层级 --- .../com/gxwebsoft/credit/entity/CreditXgxf.java | 6 ++++++ .../shop/mapper/xml/ShopDealerOrderMapper.xml | 2 +- .../shop/task/DealerOrderSettlement10584Task.java | 13 +++++++------ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/gxwebsoft/credit/entity/CreditXgxf.java b/src/main/java/com/gxwebsoft/credit/entity/CreditXgxf.java index ba4bcac..9f8e1c6 100644 --- a/src/main/java/com/gxwebsoft/credit/entity/CreditXgxf.java +++ b/src/main/java/com/gxwebsoft/credit/entity/CreditXgxf.java @@ -48,6 +48,12 @@ public class CreditXgxf implements Serializable { @Schema(description = "申请人") private String appellee; + @Schema(description = "原告/上诉人") + private String plaintiffUser; + + @Schema(description = "被告/被上诉人") + private String defendantUser; + @Schema(description = "涉案金额(元)") private String involvedAmount; diff --git a/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerOrderMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerOrderMapper.xml index cf8107c..2e804d6 100644 --- a/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerOrderMapper.xml +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerOrderMapper.xml @@ -19,7 +19,7 @@ AND a.user_id = #{param.userId} - AND ( a.user_id = #{param.resourceId} OR a.first_user_id = #{param.resourceId} OR a.second_user_id = #{param.resourceId} ) + AND ( a.user_id = #{param.resourceId} OR a.first_user_id = #{param.resourceId} OR a.second_user_id = #{param.resourceId} OR a.third_user_id = #{param.resourceId} OR a.first_dividend_user = #{param.resourceId} OR a.first_dividend_user = #{param.resourceId} OR a.second_dividend_user = #{param.resourceId} ) AND a.month = #{param.month} diff --git a/src/main/java/com/gxwebsoft/shop/task/DealerOrderSettlement10584Task.java b/src/main/java/com/gxwebsoft/shop/task/DealerOrderSettlement10584Task.java index e50a3f2..6e04b46 100644 --- a/src/main/java/com/gxwebsoft/shop/task/DealerOrderSettlement10584Task.java +++ b/src/main/java/com/gxwebsoft/shop/task/DealerOrderSettlement10584Task.java @@ -39,8 +39,9 @@ public class DealerOrderSettlement10584Task { private static final Integer TENANT_ID = 10584; private static final BigDecimal RATE_0_10 = new BigDecimal("0.10"); - private static final BigDecimal RATE_0_08 = new BigDecimal("0.08"); + private static final BigDecimal RATE_0_05 = new BigDecimal("0.05"); private static final BigDecimal RATE_0_02 = new BigDecimal("0.02"); + private static final BigDecimal RATE_0_01 = new BigDecimal("0.01"); private static final int MAX_ORDERS_PER_RUN = 50; private static final int MAX_REFEREE_CHAIN_DEPTH = 20; @@ -157,14 +158,14 @@ public class DealerOrderSettlement10584Task { Integer simpleDealerId = directDealerId != null ? getDealerRefereeId(directDealerId) : null; BigDecimal directMoney = directDealerId != null ? calcMoney(baseAmount, RATE_0_10) : BigDecimal.ZERO; - boolean samePerson = directDealerId != null && directDealerId.equals(simpleDealerId); - BigDecimal simpleMoney = (simpleDealerId != null && !samePerson) ? calcMoney(baseAmount, RATE_0_10) : BigDecimal.ZERO; + // 允许同一条线内同一个人同时拿到“直推 + 简推”(即使 directDealerId == simpleDealerId 也照常发放两笔) + BigDecimal simpleMoney = simpleDealerId != null ? calcMoney(baseAmount, RATE_0_05) : BigDecimal.ZERO; log.info("分销直推/简推查询结果 - orderNo={}, buyerUserId={}, directDealerId={}, directMoney={}, simpleDealerId={}, simpleMoney={}", order.getOrderNo(), order.getUserId(), directDealerId, directMoney, simpleDealerId, simpleMoney); creditDealerCommission(directDealerId, directMoney, order, "直推佣金(10%)"); - creditDealerCommission(simpleDealerId, simpleMoney, order, "简推佣金(10%)"); + creditDealerCommission(simpleDealerId, simpleMoney, order, "简推佣金(5%)"); return new DealerRefereeCommission(directDealerId, directMoney, simpleDealerId, simpleMoney); } @@ -203,11 +204,11 @@ public class DealerOrderSettlement10584Task { // 两个或以上:第一个0.02,第二个0.08 BigDecimal storeDirectMoney = calcMoney(baseAmount, RATE_0_02); - BigDecimal storeSimpleMoney = calcMoney(baseAmount, RATE_0_08); + BigDecimal storeSimpleMoney = calcMoney(baseAmount, RATE_0_01); log.info("门店直推/门店简推发放 - orderNo={}, storeDirectUserId={}, storeDirectMoney={}, storeSimpleUserId={}, storeSimpleMoney={}", order.getOrderNo(), shopRoleReferees.get(0), storeDirectMoney, shopRoleReferees.get(1), storeSimpleMoney); creditDealerCommission(shopRoleReferees.get(0), storeDirectMoney, order, "门店直推佣金(角色shop,第1个,2%)"); - creditDealerCommission(shopRoleReferees.get(1), storeSimpleMoney, order, "门店简推佣金(角色shop,第2个,8%)"); + creditDealerCommission(shopRoleReferees.get(1), storeSimpleMoney, order, "门店简推佣金(角色shop,第2个,1%)"); return new ShopRoleCommission(shopRoleReferees.get(0), storeDirectMoney, shopRoleReferees.get(1), storeSimpleMoney); }