|
@@ -89,6 +89,8 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
private LiveGoodsService liveGoodsService;
|
|
private LiveGoodsService liveGoodsService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private TempBuyFreeLiveTheoryCourseDao tempBuyFreeLiveTheoryCourseDao;
|
|
private TempBuyFreeLiveTheoryCourseDao tempBuyFreeLiveTheoryCourseDao;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private TempLittleArtistTrainingCampUserRelationDao tempLittleArtistTrainingCampUserRelationDao;
|
|
|
|
|
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
|
|
|
|
@@ -240,7 +242,10 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
if (result.getCode() != 200) {
|
|
if (result.getCode() != 200) {
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
|
|
+ //还原库存
|
|
|
|
|
+ liveGoodsService.addGoodsStock(memberPayParamDto.getLiveGoodsId(),memberPayParamDto.getLiveId());
|
|
|
}
|
|
}
|
|
|
|
|
+ BigDecimal amount = BigDecimal.ZERO;
|
|
|
//判断当前商品是否可以购买(库存、上架状态、是否购买过)
|
|
//判断当前商品是否可以购买(库存、上架状态、是否购买过)
|
|
|
//如果是云教练商品,那么只能购买一次、如果是免费直播课,那么每次上架只能买一次,总共只能买2次
|
|
//如果是云教练商品,那么只能购买一次、如果是免费直播课,那么每次上架只能买一次,总共只能买2次
|
|
|
if(memberPayParamDto.getLiveGoodsId() == 1){
|
|
if(memberPayParamDto.getLiveGoodsId() == 1){
|
|
@@ -260,11 +265,15 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
throw new BizException("您已达到购买次数上限");
|
|
throw new BizException("您已达到购买次数上限");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ amount = vipGroupActivity.getMarketPrice();
|
|
|
//扣减库存
|
|
//扣减库存
|
|
|
liveGoodsService.reduceGoodsStock(memberPayParamDto.getLiveGoodsId(),memberPayParamDto.getLiveId());
|
|
liveGoodsService.reduceGoodsStock(memberPayParamDto.getLiveGoodsId(),memberPayParamDto.getLiveId());
|
|
|
} else if (memberPayParamDto.getLiveGoodsId() == 2){
|
|
} else if (memberPayParamDto.getLiveGoodsId() == 2){
|
|
|
RBucket<List<Integer>> bucket = redissonClient.getBucket(RedisKeyConstant.LIVE_GOODS_ZERO_CACHE_KEY + memberPayParamDto.getLiveId());
|
|
RBucket<List<Integer>> bucket = redissonClient.getBucket(RedisKeyConstant.LIVE_GOODS_ZERO_CACHE_KEY + memberPayParamDto.getLiveId());
|
|
|
List<Integer> list = bucket.get();
|
|
List<Integer> list = bucket.get();
|
|
|
|
|
+ if(CollectionUtils.isEmpty(list)){
|
|
|
|
|
+ list = new ArrayList<>();
|
|
|
|
|
+ }
|
|
|
//当前用户是否购买过免费直播课
|
|
//当前用户是否购买过免费直播课
|
|
|
if(list.contains(sysUser.getId())){
|
|
if(list.contains(sysUser.getId())){
|
|
|
throw new BizException("您已购买过本轮免费直播课");
|
|
throw new BizException("您已购买过本轮免费直播课");
|
|
@@ -274,12 +283,12 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
if(count >= 2){
|
|
if(count >= 2){
|
|
|
throw new BizException("免费直播课已达到购买次数上限");
|
|
throw new BizException("免费直播课已达到购买次数上限");
|
|
|
}
|
|
}
|
|
|
|
|
+ //保存购买记录
|
|
|
|
|
+ tempBuyFreeLiveTheoryCourseDao.insert(new TempBuyFreeLiveTheoryCourse(sysUser.getId()));
|
|
|
//扣减库存
|
|
//扣减库存
|
|
|
liveGoodsService.reduceGoodsStock(memberPayParamDto.getLiveGoodsId(),memberPayParamDto.getLiveId());
|
|
liveGoodsService.reduceGoodsStock(memberPayParamDto.getLiveGoodsId(),memberPayParamDto.getLiveId());
|
|
|
list.add(sysUser.getId());
|
|
list.add(sysUser.getId());
|
|
|
bucket.set(list);
|
|
bucket.set(list);
|
|
|
- //保存购买记录
|
|
|
|
|
- tempBuyFreeLiveTheoryCourseDao.insert(new TempBuyFreeLiveTheoryCourse(sysUser.getId()));
|
|
|
|
|
return BaseController.succeed();
|
|
return BaseController.succeed();
|
|
|
}else {
|
|
}else {
|
|
|
throw new BizException("当前商品不可购买");
|
|
throw new BizException("当前商品不可购买");
|
|
@@ -287,7 +296,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
//优惠券使用范围
|
|
//优惠券使用范围
|
|
|
String[] checkCoupon = CouponDetailTypeEnum.getAllowType(MEMBER);
|
|
String[] checkCoupon = CouponDetailTypeEnum.getAllowType(MEMBER);
|
|
|
//校验优惠券
|
|
//校验优惠券
|
|
|
- StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(memberPayParamDto.getCouponIdList(),BigDecimal.ZERO, true, checkCoupon);
|
|
|
|
|
|
|
+ StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(memberPayParamDto.getCouponIdList(),amount, true, checkCoupon);
|
|
|
studentPaymentOrder.setUserId(sysUser.getId());
|
|
studentPaymentOrder.setUserId(sysUser.getId());
|
|
|
studentPaymentOrder.setOrganId(sysUser.getOrganId());
|
|
studentPaymentOrder.setOrganId(sysUser.getOrganId());
|
|
|
studentPaymentOrder.setMemo("小小训练营云教练购买");
|
|
studentPaymentOrder.setMemo("小小训练营云教练购买");
|
|
@@ -558,6 +567,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
cloudTeacherOrder.setOrganId(studentPaymentOrder.getOrganId());
|
|
cloudTeacherOrder.setOrganId(studentPaymentOrder.getOrganId());
|
|
|
cloudTeacherOrder.setAmount(studentPaymentOrder.getExpectAmount());
|
|
cloudTeacherOrder.setAmount(studentPaymentOrder.getExpectAmount());
|
|
|
cloudTeacherOrderService.save(cloudTeacherOrder,tenantConfigService.autoActivationFlag(cloudTeacherOrder.getTenantId()));
|
|
cloudTeacherOrderService.save(cloudTeacherOrder,tenantConfigService.autoActivationFlag(cloudTeacherOrder.getTenantId()));
|
|
|
|
|
+ //赠送陪练课
|
|
|
ActivityUserMapper activityUserMapper = new ActivityUserMapper();
|
|
ActivityUserMapper activityUserMapper = new ActivityUserMapper();
|
|
|
activityUserMapper.setPaymentOrderId(studentPaymentOrder.getId());
|
|
activityUserMapper.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
activityUserMapper.setUserId(studentPaymentOrder.getUserId());
|
|
activityUserMapper.setUserId(studentPaymentOrder.getUserId());
|
|
@@ -566,6 +576,11 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
activityUserMapper.setGivePracticeFlag(1);
|
|
activityUserMapper.setGivePracticeFlag(1);
|
|
|
activityUserMapper.setReturnFee(false);
|
|
activityUserMapper.setReturnFee(false);
|
|
|
activityUserMapperDao.insert(activityUserMapper);
|
|
activityUserMapperDao.insert(activityUserMapper);
|
|
|
|
|
+ //赠送训练营
|
|
|
|
|
+ TempLittleArtistTrainingCampUserRelation tempLittleArtistTrainingCamp = new TempLittleArtistTrainingCampUserRelation();
|
|
|
|
|
+ tempLittleArtistTrainingCamp.setUserId(studentPaymentOrder.getUserId());
|
|
|
|
|
+ tempLittleArtistTrainingCamp.setState("NOT_APPLY");
|
|
|
|
|
+ tempLittleArtistTrainingCampUserRelationDao.insert(tempLittleArtistTrainingCamp);
|
|
|
//赠送优惠券
|
|
//赠送优惠券
|
|
|
// Integer giveCouponId = activity.getGiveCouponId();
|
|
// Integer giveCouponId = activity.getGiveCouponId();
|
|
|
// Integer giveCouponNum = activity.getGiveCouponNum();
|
|
// Integer giveCouponNum = activity.getGiveCouponNum();
|