|
@@ -161,55 +161,7 @@ public class WxPayNotifyController {
|
|
|
//有充值计划,立即到账
|
|
|
bizUser.setAccountBalance(bizUser.getAccountBalance().add(bizRechargeRecord.getPlanAccountBalance()));
|
|
|
|
|
|
- // 记录用户账户资金变动记录
|
|
|
- log.info("=========== 记录用户账户资金变动记录 ========");
|
|
|
- BizUserFundChangeRecord bizUserFundChangeRecord = new BizUserFundChangeRecord();
|
|
|
- bizUserFundChangeRecord.setChangeType(FundChangeTypeEnum.RECHARGE.getValue());
|
|
|
- bizUserFundChangeRecord.setUserId(bizRechargeRecord.getUserId());
|
|
|
- bizUserFundChangeRecord.setOldAccountBalance(bizRechargeRecord.getOldAccountBalance());
|
|
|
- bizUserFundChangeRecord.setOldVoucherBalance(bizRechargeRecord.getOldVoucherBalance());
|
|
|
- bizUserFundChangeRecord.setNewAccountBalance(bizUser.getAccountBalance());
|
|
|
- bizUserFundChangeRecord.setNewVoucherBalance(bizUser.getVoucherBalance());
|
|
|
- bizUserFundChangeRecordService.save(bizUserFundChangeRecord);
|
|
|
-
|
|
|
- if (ObjectUtil.isNotEmpty(bizUser.getReferralUser())) {
|
|
|
- //查询推荐人最早的一条待激活的记录,帮助激活人数+1
|
|
|
- BizUser user = bizUserMapper.selectById(bizUser.getReferralUser());
|
|
|
- BizActivate activate = bizActivateService.getOne(new QueryWrapper<BizActivate>().lambda().eq(BizActivate::getUserId, user.getId())
|
|
|
- .eq(BizActivate::getStatus,"1")
|
|
|
- .orderByAsc(BizActivate::getCreateTime)
|
|
|
- .last("limit 1"));
|
|
|
- if(ObjectUtil.isNotNull(activate)){
|
|
|
- //查询待激活记录的充值方案信息
|
|
|
- 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::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 == config.getHelpCount()){
|
|
|
-
|
|
|
- //帮助激活人数等于配置的帮助激活人数,账户糕点可激活
|
|
|
- user.setAccountBalance(user.getAccountBalance().add(activate.getAccountBalance()));
|
|
|
-
|
|
|
- //修改推荐人账户余额
|
|
|
- bizUserMapper.updateById(user);
|
|
|
-
|
|
|
- activate.setStatus("2");
|
|
|
- }
|
|
|
- activate.setHelpCount(activate.getHelpCount()+1);
|
|
|
- bizActivateService.updateById(activate);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ getActivate(bizUser,bizRechargeRecord);
|
|
|
}else{
|
|
|
//插入一条待激活的记录
|
|
|
BizActivate bizActivate = new BizActivate();
|
|
@@ -221,109 +173,11 @@ public class WxPayNotifyController {
|
|
|
bizActivateService.save(bizActivate);
|
|
|
|
|
|
|
|
|
- if (ObjectUtil.isNotEmpty(bizUser.getReferralUser())) {
|
|
|
- //查询推荐人最早的一条待激活的记录,帮助激活人数+1
|
|
|
- BizUser user = bizUserMapper.selectById(bizUser.getReferralUser());
|
|
|
- BizActivate activate = bizActivateService.getOne(new QueryWrapper<BizActivate>().lambda().eq(BizActivate::getUserId, user.getId())
|
|
|
- .eq(BizActivate::getStatus,"1")
|
|
|
- .orderByAsc(BizActivate::getCreateTime)
|
|
|
- .last("limit 1"));
|
|
|
- if(ObjectUtil.isNotNull(activate)){
|
|
|
- //查询待激活记录的充值方案信息
|
|
|
- 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::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 == config.getHelpCount()){
|
|
|
-
|
|
|
- // 记录用户账户资金变动记录
|
|
|
- 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()));
|
|
|
-
|
|
|
- bizUserFundChangeRecord.setNewAccountBalance(user.getAccountBalance());
|
|
|
- bizUserFundChangeRecord.setNewVoucherBalance(user.getVoucherBalance());
|
|
|
- bizUserFundChangeRecordService.save(bizUserFundChangeRecord);
|
|
|
-
|
|
|
- //修改推荐人账户余额
|
|
|
- bizUserMapper.updateById(user);
|
|
|
-
|
|
|
- activate.setStatus("2");
|
|
|
- }
|
|
|
- activate.setHelpCount(activate.getHelpCount()+1);
|
|
|
- bizActivateService.updateById(activate);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ getActivate(bizUser,bizRechargeRecord);
|
|
|
}
|
|
|
} else {
|
|
|
bizUser.setAccountBalance(bizUser.getAccountBalance().add(realPayAmount));
|
|
|
- if (ObjectUtil.isNotEmpty(bizUser.getReferralUser())) {
|
|
|
- //查询推荐人最早的一条待激活的记录,帮助激活人数+1
|
|
|
- BizUser user = bizUserMapper.selectById(bizUser.getReferralUser());
|
|
|
- BizActivate activate = bizActivateService.getOne(new QueryWrapper<BizActivate>().lambda().eq(BizActivate::getUserId, user.getId())
|
|
|
- .eq(BizActivate::getStatus,"1")
|
|
|
- .orderByAsc(BizActivate::getCreateTime)
|
|
|
- .last("limit 1"));
|
|
|
- if(ObjectUtil.isNotNull(activate)){
|
|
|
- //查询待激活记录的充值方案信息
|
|
|
- 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::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 == config.getHelpCount()){
|
|
|
-
|
|
|
- // 记录用户账户资金变动记录
|
|
|
- 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()));
|
|
|
-
|
|
|
- bizUserFundChangeRecord.setNewAccountBalance(user.getAccountBalance());
|
|
|
- bizUserFundChangeRecord.setNewVoucherBalance(user.getVoucherBalance());
|
|
|
- bizUserFundChangeRecordService.save(bizUserFundChangeRecord);
|
|
|
-
|
|
|
- //修改推荐人账户余额
|
|
|
- bizUserMapper.updateById(user);
|
|
|
-
|
|
|
- activate.setStatus("2");
|
|
|
- }
|
|
|
- activate.setHelpCount(activate.getHelpCount()+1);
|
|
|
- bizActivateService.updateById(activate);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ getActivate(bizUser,bizRechargeRecord);
|
|
|
}
|
|
|
bizUserMapper.updateById(bizUser);
|
|
|
//更新充值记录
|
|
@@ -334,6 +188,16 @@ public class WxPayNotifyController {
|
|
|
bizRechargeRecord.setWxOrderNo(transaction.getTransactionId());
|
|
|
bizRechargeRecord.setWxPayAmount(realPayAmount);
|
|
|
bizRechargeRecordService.updateById(bizRechargeRecord);
|
|
|
+ // 记录充值用户账户资金变动记录
|
|
|
+ log.info("=========== 记录用户账户资金变动记录 ========");
|
|
|
+ BizUserFundChangeRecord bizUserFundChangeRecord = new BizUserFundChangeRecord();
|
|
|
+ bizUserFundChangeRecord.setChangeType(FundChangeTypeEnum.RECHARGE.getValue());
|
|
|
+ bizUserFundChangeRecord.setUserId(bizRechargeRecord.getUserId());
|
|
|
+ bizUserFundChangeRecord.setOldAccountBalance(bizRechargeRecord.getOldAccountBalance());
|
|
|
+ bizUserFundChangeRecord.setOldVoucherBalance(bizRechargeRecord.getOldVoucherBalance());
|
|
|
+ bizUserFundChangeRecord.setNewAccountBalance(bizUser.getAccountBalance());
|
|
|
+ bizUserFundChangeRecord.setNewVoucherBalance(bizUser.getVoucherBalance());
|
|
|
+ bizUserFundChangeRecordService.save(bizUserFundChangeRecord);
|
|
|
//生成蛋糕券
|
|
|
if (bizRechargeRecord.getCouponNum() != null && bizRechargeRecord.getCouponNum() > 0) {
|
|
|
log.info("=========== 生成优惠券 ========");
|
|
@@ -375,4 +239,58 @@ public class WxPayNotifyController {
|
|
|
returnMap.put("message", "成功");
|
|
|
return JSONObject.toJSONString(returnMap);
|
|
|
}
|
|
|
+
|
|
|
+ //记录激活记录
|
|
|
+ public void getActivate(BizUser bizUser,BizRechargeRecord bizRechargeRecord){
|
|
|
+ if (ObjectUtil.isNotEmpty(bizUser.getReferralUser())) {
|
|
|
+ //查询推荐人最早的一条待激活的记录,帮助激活人数+1
|
|
|
+ BizUser user = bizUserMapper.selectById(bizUser.getReferralUser());
|
|
|
+ BizActivate activate = bizActivateService.getOne(new QueryWrapper<BizActivate>().lambda().eq(BizActivate::getUserId, user.getId())
|
|
|
+ .eq(BizActivate::getStatus,"1")
|
|
|
+ .orderByAsc(BizActivate::getCreateTime)
|
|
|
+ .last("limit 1"));
|
|
|
+ if(ObjectUtil.isNotNull(activate)){
|
|
|
+ //查询待激活记录的充值方案信息
|
|
|
+ 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::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 == config.getHelpCount()){
|
|
|
+
|
|
|
+ // 记录用户账户资金变动记录
|
|
|
+ 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()));
|
|
|
+
|
|
|
+ bizUserFundChangeRecord.setNewAccountBalance(user.getAccountBalance());
|
|
|
+ bizUserFundChangeRecord.setNewVoucherBalance(user.getVoucherBalance());
|
|
|
+ bizUserFundChangeRecordService.save(bizUserFundChangeRecord);
|
|
|
+
|
|
|
+ //修改推荐人账户余额
|
|
|
+ bizUserMapper.updateById(user);
|
|
|
+
|
|
|
+ activate.setStatus("2");
|
|
|
+ }
|
|
|
+ activate.setHelpCount(activate.getHelpCount()+1);
|
|
|
+ bizActivateService.updateById(activate);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|