feat(settlement): 调整门店直推佣金比例并完善用户信息展示
- 将门店直推佣金从2%调整为3%(仅1门店情况) - 新增RATE_0_03常量用于门店直推佣金计算 - 在ShopDealerCapital实体中添加分销商昵称字段 - 在ShopDealerOrder实体中添加门店名称字段 - 在ShopDealerUser实体中添加头像字段 - 更新Mapper XML文件以关联查询用户昵称和头像信息 - 修改日志输出信息以反映新的佣金比例和门店信息
This commit is contained in:
@@ -30,6 +30,10 @@ public class ShopDealerCapital implements Serializable {
|
||||
@Schema(description = "分销商用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@Schema(description = "分销商昵称")
|
||||
@TableField(exist = false)
|
||||
private String nickName;
|
||||
|
||||
@Schema(description = "订单编号")
|
||||
private String orderNo;
|
||||
|
||||
|
||||
@@ -88,12 +88,20 @@ public class ShopDealerOrder implements Serializable {
|
||||
@Schema(description = "门店(一级)")
|
||||
private Integer firstDividendUser;
|
||||
|
||||
@Schema(description = "门店名称(一级)")
|
||||
@TableField(exist = false)
|
||||
private String firstDividendUserName;
|
||||
|
||||
@Schema(description = "分红(一级)")
|
||||
private BigDecimal firstDividend;
|
||||
|
||||
@Schema(description = "门店(二级)")
|
||||
private Integer secondDividendUser;
|
||||
|
||||
@Schema(description = "门店名称(二级)")
|
||||
@TableField(exist = false)
|
||||
private String secondDividendUserName;
|
||||
|
||||
@Schema(description = "分红(二级)")
|
||||
private BigDecimal secondDividend;
|
||||
|
||||
|
||||
@@ -37,6 +37,10 @@ public class ShopDealerUser implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String openid;
|
||||
|
||||
@Schema(description = "头像")
|
||||
@TableField(exist = false)
|
||||
private String avatar;
|
||||
|
||||
@Schema(description = "姓名")
|
||||
private String realName;
|
||||
|
||||
|
||||
@@ -4,9 +4,11 @@
|
||||
|
||||
<!-- 关联查询sql -->
|
||||
<sql id="selectSql">
|
||||
SELECT a.*, b.order_no, b.month
|
||||
SELECT a.*, b.order_no, b.month, c.nickname AS nickName, d.nickname AS toNickName
|
||||
FROM shop_dealer_capital a
|
||||
LEFT JOIN shop_dealer_order b ON a.order_no = b.order_no
|
||||
LEFT JOIN gxwebsoft_core.sys_user c ON a.user_id = c.user_id and c.deleted = 0
|
||||
LEFT JOIN gxwebsoft_core.sys_user d ON a.to_user_id = d.user_id and d.deleted = 0
|
||||
<where>
|
||||
<if test="param.id != null">
|
||||
AND a.id = #{param.id}
|
||||
|
||||
@@ -4,12 +4,14 @@
|
||||
|
||||
<!-- 关联查询sql -->
|
||||
<sql id="selectSql">
|
||||
SELECT a.*, b.nickname, c.nickname AS firstNickname, d.nickname AS secondNickname, e.nickname AS thirdNickname, f.rate, f.price
|
||||
SELECT a.*, b.nickname, c.nickname AS firstNickname, d.nickname AS secondNickname, e.nickname AS thirdNickname, f.rate, f.price, g.nickname AS firstDividendUserName, h.nickname AS secondDividendUserName
|
||||
FROM shop_dealer_order a
|
||||
LEFT JOIN gxwebsoft_core.sys_user b ON a.user_id = b.user_id
|
||||
LEFT JOIN gxwebsoft_core.sys_user c ON a.first_user_id = c.user_id
|
||||
LEFT JOIN gxwebsoft_core.sys_user d ON a.second_user_id = d.user_id
|
||||
LEFT JOIN gxwebsoft_core.sys_user e ON a.third_user_id = e.user_id
|
||||
LEFT JOIN gxwebsoft_core.sys_user g ON a.first_dividend_user = g.user_id
|
||||
LEFT JOIN gxwebsoft_core.sys_user h ON a.second_dividend_user = h.user_id
|
||||
LEFT JOIN shop_dealer_user f ON a.user_id = f.user_id
|
||||
<where>
|
||||
<if test="param.id != null">
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<!-- 关联查询sql -->
|
||||
<sql id="selectSql">
|
||||
SELECT a.*, b.openid
|
||||
SELECT a.*, b.openid, b.avatar
|
||||
FROM shop_dealer_user a
|
||||
LEFT JOIN gxwebsoft_core.sys_user b ON a.user_id = b.user_id
|
||||
<where>
|
||||
|
||||
@@ -41,6 +41,7 @@ public class DealerOrderSettlement10584Task {
|
||||
|
||||
private static final BigDecimal RATE_0_10 = new BigDecimal("0.10");
|
||||
private static final BigDecimal RATE_0_05 = new BigDecimal("0.05");
|
||||
private static final BigDecimal RATE_0_03 = new BigDecimal("0.03");
|
||||
private static final BigDecimal RATE_0_02 = new BigDecimal("0.02");
|
||||
private static final BigDecimal RATE_0_01 = new BigDecimal("0.01");
|
||||
|
||||
@@ -214,10 +215,10 @@ public class DealerOrderSettlement10584Task {
|
||||
}
|
||||
|
||||
if (shopRoleReferees.size() == 1) {
|
||||
// 门店直推:2%
|
||||
BigDecimal money = calcDividendMoney(baseAmount, RATE_0_02);
|
||||
log.info("分红发放(仅1人) - orderNo={}, firstDividendUserId={}, money={}", order.getOrderNo(), shopRoleReferees.get(0), money);
|
||||
creditDealerCommission(shopRoleReferees.get(0), money, order, order.getUserId(), "门店直推佣金(仅1人,2%)");
|
||||
// 仅找到一个门店:3%都给他
|
||||
BigDecimal money = calcDividendMoney(baseAmount, RATE_0_03);
|
||||
log.info("分红发放(仅1门店,3%) - orderNo={}, firstDividendUserId={}, money={}", order.getOrderNo(), shopRoleReferees.get(0), money);
|
||||
creditDealerCommission(shopRoleReferees.get(0), money, order, order.getUserId(), "门店直推佣金(仅1门店,3%)");
|
||||
return new ShopRoleCommission(shopRoleReferees.get(0), money, null, BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user