|
@@ -37,10 +37,13 @@ import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import vip.xiaonuo.auth.api.SaBaseLoginUserApi;
|
|
import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
|
|
import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
|
|
import vip.xiaonuo.biz.modular.rechargeplanconfig.entity.BizRechargePlanConfig;
|
|
import vip.xiaonuo.biz.modular.rechargeplanconfig.entity.BizRechargePlanConfig;
|
|
import vip.xiaonuo.biz.modular.rechargeplanconfig.mapper.BizRechargePlanConfigMapper;
|
|
import vip.xiaonuo.biz.modular.rechargeplanconfig.mapper.BizRechargePlanConfigMapper;
|
|
import vip.xiaonuo.biz.modular.rechargerecord.param.*;
|
|
import vip.xiaonuo.biz.modular.rechargerecord.param.*;
|
|
|
|
+import vip.xiaonuo.biz.modular.recommendrecord.entity.BizRecommendRecord;
|
|
|
|
+import vip.xiaonuo.biz.modular.recommendrecord.service.BizRecommendRecordService;
|
|
import vip.xiaonuo.biz.modular.user.entity.BizUser;
|
|
import vip.xiaonuo.biz.modular.user.entity.BizUser;
|
|
import vip.xiaonuo.biz.modular.user.mapper.BizUserMapper;
|
|
import vip.xiaonuo.biz.modular.user.mapper.BizUserMapper;
|
|
import vip.xiaonuo.common.enums.CommonDeleteFlagEnum;
|
|
import vip.xiaonuo.common.enums.CommonDeleteFlagEnum;
|
|
@@ -60,6 +63,7 @@ import java.math.RoundingMode;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 充值记录表Service接口实现类
|
|
* 充值记录表Service接口实现类
|
|
@@ -81,6 +85,10 @@ public class BizRechargeRecordServiceImpl extends ServiceImpl<BizRechargeRecordM
|
|
private BizRechargePlanConfigMapper bizRechargePlanConfigMapper;
|
|
private BizRechargePlanConfigMapper bizRechargePlanConfigMapper;
|
|
@Resource
|
|
@Resource
|
|
private BizUserMapper bizUserMapper;
|
|
private BizUserMapper bizUserMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private BizRecommendRecordService bizRecommendRecordService;
|
|
|
|
+ @Resource(name = "loginUserApi")
|
|
|
|
+ private SaBaseLoginUserApi loginUserApi;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -176,9 +184,39 @@ public class BizRechargeRecordServiceImpl extends ServiceImpl<BizRechargeRecordM
|
|
|
|
|
|
//计算返点金额
|
|
//计算返点金额
|
|
if (ObjectUtil.isNotEmpty(bizUser.getReferralUser())) {
|
|
if (ObjectUtil.isNotEmpty(bizUser.getReferralUser())) {
|
|
- BigDecimal rebate = bizRechargePlanConfig.getRebateRatio().divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
|
|
|
|
- BigDecimal rebateAmount = bizRechargeRecordAddParam.getRechargeAmount().multiply(rebate);
|
|
|
|
- bizRechargeRecord.setRebateAmount(rebateAmount);
|
|
|
|
|
|
+ //查询推荐人信息
|
|
|
|
+ List<cn.hutool.json.JSONObject> roleList = loginUserApi.getRoleListByUserId(bizUser.getReferralUser());
|
|
|
|
+ List<String> roleCodeList = roleList.stream().map(jsonObject -> jsonObject.getStr("code")).collect(Collectors.toList());
|
|
|
|
+ log.info("推荐人角色编码集合:"+roleCodeList);
|
|
|
|
+ if(ObjectUtil.isNotEmpty(roleCodeList)){
|
|
|
|
+ if(StringUtils.equals(roleCodeList.get(0),"YK8PsRXAdf")){
|
|
|
|
+ //店员角色
|
|
|
|
+ //查询当日推荐人推荐人数
|
|
|
|
+ String format = DateUtil.format(DateUtil.date(), "yyyy-MM-dd");
|
|
|
|
+ long count = bizRecommendRecordService.count(new QueryWrapper<BizRecommendRecord>().lambda().
|
|
|
|
+ eq(BizRecommendRecord::getRecommendUserId, bizUser.getReferralUser()).
|
|
|
|
+ between(BizRecommendRecord::getCreateTime, format + " 00:00:00", format + " 23:59:59"));
|
|
|
|
+ if(count>=10){
|
|
|
|
+ BigDecimal rebate = bizRechargePlanConfig.getRebateRatio().divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
|
|
|
|
+ BigDecimal rebateAmount = bizRechargeRecordAddParam.getRechargeAmount().multiply(rebate);
|
|
|
|
+ bizRechargeRecord.setRebateAmount(rebateAmount);
|
|
|
|
+ }else{
|
|
|
|
+ if(count == 0){
|
|
|
|
+ BigDecimal rebate = new BigDecimal(1).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
|
|
|
|
+ BigDecimal rebateAmount = bizRechargeRecordAddParam.getRechargeAmount().multiply(rebate);
|
|
|
|
+ bizRechargeRecord.setRebateAmount(rebateAmount);
|
|
|
|
+ }else{
|
|
|
|
+ BigDecimal rebate = new BigDecimal(count).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
|
|
|
|
+ BigDecimal rebateAmount = bizRechargeRecordAddParam.getRechargeAmount().multiply(rebate);
|
|
|
|
+ bizRechargeRecord.setRebateAmount(rebateAmount);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ BigDecimal rebate = bizRechargePlanConfig.getRebateRatio().divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
|
|
|
|
+ BigDecimal rebateAmount = bizRechargeRecordAddParam.getRechargeAmount().multiply(rebate);
|
|
|
|
+ bizRechargeRecord.setRebateAmount(rebateAmount);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
String openId = commonWxUtil.getOpenId(bizRechargeRecordAddParam.getCode(), wxPayConfig.getGetOpenIdUrl(), wxPayConfig.getAppId(), wxPayConfig.getAppSecret());
|
|
String openId = commonWxUtil.getOpenId(bizRechargeRecordAddParam.getCode(), wxPayConfig.getGetOpenIdUrl(), wxPayConfig.getAppId(), wxPayConfig.getAppSecret());
|