|
@@ -27,6 +27,8 @@ import vip.xiaonuo.biz.api.BizUserApi;
|
|
import vip.xiaonuo.biz.core.enums.FundChangeTypeEnum;
|
|
import vip.xiaonuo.biz.core.enums.FundChangeTypeEnum;
|
|
import vip.xiaonuo.biz.modular.bizactivate.entity.BizActivate;
|
|
import vip.xiaonuo.biz.modular.bizactivate.entity.BizActivate;
|
|
import vip.xiaonuo.biz.modular.bizactivate.service.BizActivateService;
|
|
import vip.xiaonuo.biz.modular.bizactivate.service.BizActivateService;
|
|
|
|
+import vip.xiaonuo.biz.modular.bizactivatedetail.entity.BizActivateDetail;
|
|
|
|
+import vip.xiaonuo.biz.modular.bizactivatedetail.service.BizActivateDetailService;
|
|
import vip.xiaonuo.biz.modular.couponrecord.entity.BizCouponRecord;
|
|
import vip.xiaonuo.biz.modular.couponrecord.entity.BizCouponRecord;
|
|
import vip.xiaonuo.biz.modular.couponrecord.service.BizCouponRecordService;
|
|
import vip.xiaonuo.biz.modular.couponrecord.service.BizCouponRecordService;
|
|
import vip.xiaonuo.biz.modular.rebaterecord.entity.BizRebateRecord;
|
|
import vip.xiaonuo.biz.modular.rebaterecord.entity.BizRebateRecord;
|
|
@@ -51,6 +53,7 @@ import java.security.MessageDigest;
|
|
import java.security.NoSuchAlgorithmException;
|
|
import java.security.NoSuchAlgorithmException;
|
|
import java.time.Instant;
|
|
import java.time.Instant;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
|
+import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.UUID;
|
|
import java.util.UUID;
|
|
import java.util.concurrent.ThreadLocalRandom;
|
|
import java.util.concurrent.ThreadLocalRandom;
|
|
@@ -83,6 +86,8 @@ public class WxPayNotifyController {
|
|
private BizRechargePlanConfigService bizRechargePlanConfigService;
|
|
private BizRechargePlanConfigService bizRechargePlanConfigService;
|
|
@Resource
|
|
@Resource
|
|
private BizActivateService bizActivateService;
|
|
private BizActivateService bizActivateService;
|
|
|
|
+ @Resource
|
|
|
|
+ private BizActivateDetailService bizActivateDetailService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 微信支付回调通知
|
|
* 微信支付回调通知
|
|
@@ -181,35 +186,51 @@ public class WxPayNotifyController {
|
|
//查询推荐人最早的一条待激活的记录,帮助激活人数+1
|
|
//查询推荐人最早的一条待激活的记录,帮助激活人数+1
|
|
BizUser user = bizUserMapper.selectById(bizUser.getReferralUser());
|
|
BizUser user = bizUserMapper.selectById(bizUser.getReferralUser());
|
|
BizActivate activate = bizActivateService.getOne(new QueryWrapper<BizActivate>().lambda().eq(BizActivate::getUserId, user.getId())
|
|
BizActivate activate = bizActivateService.getOne(new QueryWrapper<BizActivate>().lambda().eq(BizActivate::getUserId, user.getId())
|
|
- .eq(BizActivate::getPlanConfigId, planConfig.getId())
|
|
|
|
.eq(BizActivate::getStatus,"1")
|
|
.eq(BizActivate::getStatus,"1")
|
|
.orderByAsc(BizActivate::getCreateTime)
|
|
.orderByAsc(BizActivate::getCreateTime)
|
|
.last("limit 1"));
|
|
.last("limit 1"));
|
|
if(ObjectUtil.isNotNull(activate)){
|
|
if(ObjectUtil.isNotNull(activate)){
|
|
- if(activate.getHelpCount()+1 == planConfig.getHelpCount()){
|
|
|
|
|
|
+ //查询待激活记录的充值方案信息
|
|
|
|
+ BizRechargePlanConfig config = bizRechargePlanConfigService.getById(activate.getPlanConfigId());
|
|
|
|
+ //本次充值金额大于待激活记录充值金额,可帮助激活一次
|
|
|
|
+ if(bizRechargeRecord.getRechargeAmount().compareTo(config.getRechargeAmount()) > 0){
|
|
|
|
+ //根据充值人和激活记录id查询是否帮助激活过,一个人只能激活一次
|
|
|
|
+ List<BizActivateDetail> list = bizActivateDetailService.list(new QueryWrapper<BizActivateDetail>().lambda().
|
|
|
|
+ eq(BizActivateDetail::getActivateId, activate.getId()).
|
|
|
|
+ eq(BizActivateDetail::getHelpUserId, bizUser.getId()));
|
|
|
|
+ if(ObjectUtil.isEmpty(list)){
|
|
|
|
+ //记录激活明细
|
|
|
|
+ BizActivateDetail bizActivateDetail = new BizActivateDetail();
|
|
|
|
+ bizActivateDetail.setActivateId(activate.getId());
|
|
|
|
+ bizActivateDetail.setHelpUserId(bizUser.getId());
|
|
|
|
+ bizActivateDetailService.save(bizActivateDetail);
|
|
|
|
+ //判断是否到达激活人数
|
|
|
|
+ if(activate.getHelpCount()+1 == planConfig.getHelpCount()){
|
|
|
|
|
|
- // 记录用户账户资金变动记录
|
|
|
|
- log.info("=========== 记录用户账户资金变动记录 ========");
|
|
|
|
- BizUserFundChangeRecord bizUserFundChangeRecord = new BizUserFundChangeRecord();
|
|
|
|
- bizUserFundChangeRecord.setChangeType(FundChangeTypeEnum.RECHARGE.getValue());
|
|
|
|
- bizUserFundChangeRecord.setUserId(user.getId());
|
|
|
|
- bizUserFundChangeRecord.setOldAccountBalance(user.getAccountBalance());
|
|
|
|
- bizUserFundChangeRecord.setOldVoucherBalance(user.getVoucherBalance());
|
|
|
|
|
|
+ // 记录用户账户资金变动记录
|
|
|
|
+ log.info("=========== 记录用户账户资金变动记录 ========");
|
|
|
|
+ BizUserFundChangeRecord bizUserFundChangeRecord = new BizUserFundChangeRecord();
|
|
|
|
+ bizUserFundChangeRecord.setChangeType(FundChangeTypeEnum.RECHARGE.getValue());
|
|
|
|
+ bizUserFundChangeRecord.setUserId(user.getId());
|
|
|
|
+ bizUserFundChangeRecord.setOldAccountBalance(user.getAccountBalance());
|
|
|
|
+ bizUserFundChangeRecord.setOldVoucherBalance(user.getVoucherBalance());
|
|
|
|
|
|
- //帮助激活人数等于配置的帮助激活人数,账户糕点可激活
|
|
|
|
- user.setAccountBalance(user.getAccountBalance().add(activate.getAccountBalance()));
|
|
|
|
|
|
+ //帮助激活人数等于配置的帮助激活人数,账户糕点可激活
|
|
|
|
+ user.setAccountBalance(user.getAccountBalance().add(activate.getAccountBalance()));
|
|
|
|
|
|
- bizUserFundChangeRecord.setNewAccountBalance(user.getAccountBalance());
|
|
|
|
- bizUserFundChangeRecord.setNewVoucherBalance(user.getVoucherBalance());
|
|
|
|
- bizUserFundChangeRecordService.save(bizUserFundChangeRecord);
|
|
|
|
|
|
+ bizUserFundChangeRecord.setNewAccountBalance(user.getAccountBalance());
|
|
|
|
+ bizUserFundChangeRecord.setNewVoucherBalance(user.getVoucherBalance());
|
|
|
|
+ bizUserFundChangeRecordService.save(bizUserFundChangeRecord);
|
|
|
|
|
|
- //修改推荐人账户余额
|
|
|
|
- bizUserMapper.updateById(user);
|
|
|
|
|
|
+ //修改推荐人账户余额
|
|
|
|
+ bizUserMapper.updateById(user);
|
|
|
|
|
|
- activate.setStatus("2");
|
|
|
|
|
|
+ activate.setStatus("2");
|
|
|
|
+ }
|
|
|
|
+ activate.setHelpCount(activate.getHelpCount()+1);
|
|
|
|
+ bizActivateService.updateById(activate);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- activate.setHelpCount(activate.getHelpCount()+1);
|
|
|
|
- bizActivateService.updateById(activate);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|