Commit 41965eac by fanjiaxin

联调问题处理

parent c11c4e05
Pipeline #71601 passed with stages
in 56 seconds
......@@ -10,6 +10,7 @@ import com.netease.yanxuan.wx.store.sharer.biz.meta.page.PageVO;
import com.netease.yanxuan.wx.store.sharer.biz.service.IProductService;
import com.netease.yanxuan.wx.store.sharer.common.exception.NoBindSharerException;
import com.netease.yanxuan.wx.store.sharer.common.util.AsyncUtils;
import com.netease.yanxuan.wx.store.sharer.integration.constant.WeChatApi;
import com.netease.yanxuan.wx.store.sharer.integration.handler.impl.WeChatShopPromoteProductDetailRequest;
import com.netease.yanxuan.wx.store.sharer.integration.handler.impl.WeChatShopPromoteProductLinkRequest;
import com.netease.yanxuan.wx.store.sharer.integration.handler.impl.WeChatShopPromoteProductListRequest;
......@@ -72,10 +73,15 @@ public class ProductServiceImpl implements IProductService {
listVO.setTitle(productInfo.getTitle());
listVO.setHeadImg(CollectionUtils.isEmpty(productInfo.getHead_imgs()) ? null : productInfo.getHead_imgs().get(0));
// 取参数SkuInfo中sale_price的最小
BigDecimal price = Optional.ofNullable(productInfo.getSkus()).orElseGet(ArrayList::new)
BigDecimal price = null;
Optional<BigDecimal> priceOpt = Optional.ofNullable(productInfo.getSkus()).orElseGet(ArrayList::new)
.stream()
.map(WeChatPromoteProductDetailVO.WeChatPromoteProductVO.WeChatPromoteProductInfoVO.WeChatPromoteProductSkuInfoVO::getSale_price)
.min(BigDecimal::compareTo).orElse(null);
.min(BigDecimal::compareTo);
if (priceOpt.isPresent()) {
// 以分为单位,进行元转换
price = priceOpt.get().divide(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
}
listVO.setPrice(price);
// 推客分佣比例
......@@ -87,13 +93,20 @@ public class ProductServiceImpl implements IProductService {
if (null != sharerListVO && !CollectionUtils.isEmpty(sharerListVO.getSharer_info_list())) {
WeChatSharerInfoVO sharerInfoVO = sharerListVO.getSharer_info_list().get(0);
if (null != sharerInfoVO && null != sharerInfoVO.getCommission_ratio()) {
commissionRatio = sharerInfoVO.getCommission_ratio();
// 微信分佣比例倍数
BigDecimal wechatMultiplier = new BigDecimal(WeChatApi.WECHAT_COMMISSION_RATIO_MULTIPLIER);
commissionRatio = sharerInfoVO.getCommission_ratio().divide(wechatMultiplier);
}
}
}
WeChatPromoteProductDetailVO.WeChatPromoteProductVO.WeChatPromoteProductCommissionInfoVO commissionInfo = product.getCommission_info();
WeChatPromoteProductDetailVO.WeChatPromoteProductVO.WeChatPromoteProductCommissionInfoVO commissionInfo
= product.getCommission_info();
// 服务费率
Integer serviceRatio = null != commissionInfo ? commissionInfo.getService_ratio() : null;
BigDecimal serviceRatio = null;
if (null != commissionInfo && null != commissionInfo.getService_ratio()) {
serviceRatio = new BigDecimal(commissionInfo.getService_ratio())
.divide(new BigDecimal("10000"));
}
// 佣金=商品价格*服务费率*推客分佣比例,四舍五入保留小数点后两位
BigDecimal commission = null;
if (null != price && null != commissionRatio && null != serviceRatio) {
......
......@@ -104,8 +104,9 @@ public class UserServiceImpl implements IUserService {
Date bindTime = null != sharerInfoVO.getBind_time() ? new Date(sharerInfoVO.getBind_time()) : now;
sharerInfo.setBindTime(bindTime);
// 微信分佣比例倍数
BigDecimal wechatCommissionRatioMultiplier = new BigDecimal(WeChatApi.WECHAT_COMMISSION_RATIO_MULTIPLIER);
BigDecimal commissionRatio = sharerInfoVO.getCommission_ratio().divide(wechatCommissionRatioMultiplier)
BigDecimal wechatMultiplier = new BigDecimal(WeChatApi.WECHAT_COMMISSION_RATIO_MULTIPLIER);
BigDecimal commissionRatio = sharerInfoVO.getCommission_ratio()
.divide(wechatMultiplier)
.setScale(2, RoundingMode.HALF_UP);
sharerInfo.setCommissionRatio(commissionRatio);
String commissionType = null != sharerInfoVO.getCommission_type() ? sharerInfoVO.getCommission_type().toString() : CommissionTypeEnum.PLATFORM.getCode();
......
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