Commit 462b7721 by fanjiaxin

刷新用户信息加入绑定用户分佣比例

parent d7b18ecd
Pipeline #71905 passed with stages
in 1 minute 9 seconds
......@@ -324,7 +324,7 @@ public class DrmSharerConfig {
/**
* 获取推客分佣比例
*/
private BigDecimal getSharerCommissionRatioOrDefault(String openId) {
public BigDecimal getSharerCommissionRatioOrDefault(String openId) {
BigDecimal sharerCommissionRatio = getSharerCommissionRatio(openId);
return null != sharerCommissionRatio ? sharerCommissionRatio : defaultCommissionRatio;
}
......@@ -332,7 +332,7 @@ public class DrmSharerConfig {
/**
* 获取推客分佣比例
*/
private BigDecimal getSharerCommissionRatio(String openId) {
public BigDecimal getSharerCommissionRatio(String openId) {
Map<String, CommissionSharerBO> sharerCommissionMap = convertCommissionSharerMap(commissionSharerList);
CommissionSharerBO commissionSharerBO = sharerCommissionMap.get(openId);
// 返回推客分佣
......@@ -342,7 +342,7 @@ public class DrmSharerConfig {
/**
* 获取推客商品未配置的分佣比例集合
*/
private List<SharerProductCommission> getSharerProductCommissionUnsetList(String openId) {
public List<SharerProductCommission> getSharerProductCommissionUnsetList(String openId) {
// 返回推客商品分佣
LambdaQueryWrapper<SharerProductCommission> lqw = Wrappers.lambdaQuery();
lqw.eq(SharerProductCommission::getOpenId, openId);
......@@ -512,14 +512,6 @@ public class DrmSharerConfig {
return sharerInfo;
}
/**
* 根据 openId 获取推客的 SharerAppid
*/
private String getSharerAppidByOpenId(String openId) {
SharerInfo sharerInfo = getSharerInfoByOpenId(openId);
return null != sharerInfo ? sharerInfo.getSharerAppid() : null;
}
private void updateSharerInfo(SharerInfo sharerInfo, String commissionRatio) {
LambdaUpdateWrapper<SharerInfo> sharerInfoLuw = Wrappers.lambdaUpdate();
sharerInfoLuw.set(SharerInfo::getCommissionRatio, commissionRatio);
......@@ -578,4 +570,9 @@ public class DrmSharerConfig {
.filter(item -> null != item.getCommissionRatio())
.collect(Collectors.toMap(CommissionSharerBO::getOpenId, item -> item, (key1, key2) -> key2));
}
public Map<String, CommissionSharerBO> convertCommissionSharerMap() {
// 过滤禁用,转换成Map
return convertCommissionSharerMap(getCommissionSharerList());
}
}
\ No newline at end of file
......@@ -45,12 +45,12 @@ import java.util.Date;
public class UserServiceImpl implements IUserService {
private final SharerInfoMapper sharerInfoMapper;
private final DrmSharerConfig drmSharerConfig;
private final LoginUserHelper loginUserHelper;
private final WeChatUserInfoRequest weChatUserRequest;
private final WeChatShopSharerRegisterBindRequest weChatShopSharerRegisterBindRequest;
private final WeChatShopSharerListRequest weChatShopSharerListRequest;
private final WeChatShopSetSharerCommissionRequest weChatShopSetSharerCommissionRequest;
private final DrmSharerConfig drmSharerConfig;
@Override
......@@ -95,6 +95,8 @@ public class UserServiceImpl implements IUserService {
}
WeChatSharerInfoVO sharerInfoVO;
Date now = new Date();
// 用户分佣比例
BigDecimal sharerCommissionRatio = drmSharerConfig.getSharerCommissionRatioOrDefault(loginUserInfo.getOpenId());
// 已绑定
if (SharerInfoVO.bindStatus.BIND.getCode().equals(result.getBindStatus())) {
// 获取绑定信息
......@@ -102,6 +104,16 @@ public class UserServiceImpl implements IUserService {
if (null != sharerListVO && !CollectionUtils.isEmpty(sharerListVO.getSharer_info_list())) {
sharerInfoVO = sharerListVO.getSharer_info_list().get(0);
if (null != sharerInfoVO) {
// 判断默认分佣比例是否相同,不相同更新默认分佣比例
if (sharerCommissionRatio.compareTo(sharerInfoVO.getCommission_ratio()) != 0) {
// 更新默认分佣比例
BigDecimal commissionRatio = sharerCommissionRatio
.multiply(new BigDecimal(WeChatApi.WECHAT_COMMISSION_RATIO_MULTIPLIER))
.setScale(0, RoundingMode.DOWN);
// 设置推客分佣比例
weChatShopSetSharerCommissionRequest.handle(sharerInfoVO.getSharer_appid(),
commissionRatio.longValue());
}
result.setSharerAppId(sharerInfoVO.getSharer_appid());
sharerInfo.setSharerAppid(sharerInfoVO.getSharer_appid());
Date bindTime = null != sharerInfoVO.getBind_time() ? new Date(sharerInfoVO.getBind_time()) : now;
......@@ -122,7 +134,7 @@ public class UserServiceImpl implements IUserService {
// 初始化保存
if (null == sharerInfo.getId()) {
// 默认佣金比例
sharerInfo.setCommissionRatio(drmSharerConfig.getDefaultCommissionRatio().toPlainString());
sharerInfo.setCommissionRatio(sharerCommissionRatio.toPlainString());
sharerInfo.setCommissionType(CommissionTypeEnum.PLATFORM.getCode());
sharerInfo.setCreateTime(now);
sharerInfo.setUpdateTime(now);
......
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