Commit fc1d82fa by fanjiaxin

新加入获取用户分佣比例接口

parent b14c1076
Pipeline #71676 passed with stages
in 59 seconds
......@@ -141,6 +141,11 @@ public class DrmSharerConfig {
* 设置推客的的分佣类型和比例信息
*/
private void setSharerDefaultCommissionInfo(ConfigChange change, SharerInfo sharerInfo) {
// 如果存在推客配置分佣,不处理
BigDecimal sharerCommissionRatio = getSharerCommissionRatio(sharerInfo.getOpenId());
if(null != sharerCommissionRatio){
return;
}
// 分佣比例为小数, 微信接口参数应当分佣比例*倍数 为整数
BigDecimal commissionRatio = new BigDecimal(change.getNewValue())
.multiply(new BigDecimal(WeChatApi.WECHAT_COMMISSION_RATIO_MULTIPLIER))
......@@ -247,7 +252,7 @@ public class DrmSharerConfig {
return;
}
// 分佣比例为小数, 微信接口参数应当分佣比例*倍数 为整数
BigDecimal sharerCommissionRatio = getSharerCommissionRatio(oldCommissionSharer.getOpenId());
BigDecimal sharerCommissionRatio = getSharerOrDefaultCommissionRatio(oldCommissionSharer.getOpenId());
BigDecimal commissionRatio = sharerCommissionRatio
.multiply(new BigDecimal(WeChatApi.WECHAT_COMMISSION_RATIO_MULTIPLIER))
.setScale(0, RoundingMode.DOWN);
......@@ -341,9 +346,18 @@ public class DrmSharerConfig {
.filter(item -> StringUtils.isNotBlank(item.getOpenId()))
.filter(item -> item.getOpenId().equals(openId))
.findFirst();
if (sharerCommissionOpt.isPresent()) {
// 返回推客分佣
return sharerCommissionOpt.get().getCommissionRatio();
// 返回推客分佣
return sharerCommissionOpt.map(CommissionSharerBO::getCommissionRatio).orElse(null);
}
/**
* 获取推客分佣比例
*/
private BigDecimal getSharerOrDefaultCommissionRatio(String openId) {
// 返回推客分佣
BigDecimal sharerCommissionRatio = getSharerCommissionRatio(openId);
if(null != sharerCommissionRatio){
return sharerCommissionRatio;
}
// 返回默认分佣金
return defaultCommissionRatio;
......@@ -512,7 +526,7 @@ public class DrmSharerConfig {
private void updateSharerInfo(SharerInfo sharerInfo, String commissionRatio) {
String openId = sharerInfo.getOpenId();
if (StringUtils.isNotBlank(openId)) {
BigDecimal sharerCommissionRatio = getSharerCommissionRatio(openId);
BigDecimal sharerCommissionRatio = getSharerOrDefaultCommissionRatio(openId);
commissionRatio = sharerCommissionRatio.setScale(2, RoundingMode.HALF_UP).toPlainString();
}
LambdaUpdateWrapper<SharerInfo> sharerInfoLuw = Wrappers.lambdaUpdate();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment