|
@@ -243,7 +243,8 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
String activeConfig = sysConfigDao.findConfigValue("cloud_teacher_active_config");
|
|
|
List<Cloud2022ActivityDto> cloud2022ActivityDtos = JSONArray.parseArray(activeConfig, Cloud2022ActivityDto.class);
|
|
|
List<Cloud2022ActivityDto> activityDtos = cloud2022ActivityDtos.stream().
|
|
|
- filter(e -> Arrays.stream(e.getOrganId().split(",")).collect(Collectors.toList()).contains(sysUser.getOrganId().toString())).collect(Collectors.toList());
|
|
|
+ filter(e -> Arrays.stream(e.getOrganId().split(",")).collect(Collectors.toList()).
|
|
|
+ contains(sysUser.getOrganId().toString())).collect(Collectors.toList());
|
|
|
if(CollectionUtils.isEmpty(activityDtos)){
|
|
|
throw new BizException("当前分部暂未开通活动");
|
|
|
}
|
|
@@ -251,7 +252,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
Integer activityId = null;
|
|
|
//判断当前商品是否可以购买(库存、上架状态、是否购买过)
|
|
|
//如果是云教练商品,那么只能购买一次、如果是免费直播课,那么每次上架只能买一次,总共只能买2次
|
|
|
- if(memberPayParamDto.getLiveGoodsId() == 1){
|
|
|
+ if(memberPayParamDto.getLiveGoodsId() == 1 || memberPayParamDto.getLiveGoodsId() == 5){
|
|
|
//判断用户是否已存在订单
|
|
|
List<StudentPaymentOrder> memberIngOrders = studentPaymentOrderService.queryByCondition(GroupType.LIVE_BUY,null,student.getUserId(), DealStatusEnum.ING,OrderTypeEnum.LIVE_BUY);
|
|
|
if (CollectionUtils.isNotEmpty(memberIngOrders)) {
|
|
@@ -262,8 +263,12 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
//还原库存
|
|
|
liveGoodsService.addGoodsStock(memberPayParamDto.getLiveGoodsId(),memberPayParamDto.getLiveId());
|
|
|
}
|
|
|
+ if(memberPayParamDto.getLiveGoodsId() == 1){
|
|
|
+ activityId = Integer.parseInt(activityDtos.get(0).getActivityId());
|
|
|
+ }else {
|
|
|
+ activityId = Integer.parseInt(activityDtos.get(1).getActivityId());
|
|
|
+ }
|
|
|
//是否还有购买资格
|
|
|
- activityId = Integer.parseInt(activityDtos.get(0).getActivityId());
|
|
|
VipGroupActivity vipGroupActivity = Optional.ofNullable(vipGroupActivityDao.get(activityId)).orElseThrow(()-> new BizException("活动不存在"));
|
|
|
if(vipGroupActivity.getStudentMaxUsedTimes() != -1){
|
|
|
//获取活动购买次数
|
|
@@ -286,11 +291,6 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
if(list.contains(sysUser.getId())){
|
|
|
throw new BizException("您已领取过本轮免费直播课");
|
|
|
}
|
|
|
- //购买次数是否超过2次
|
|
|
-// int count = tempBuyFreeLiveTheoryCourseDao.countByUserId(sysUser.getId());
|
|
|
-// if(count >= 2){
|
|
|
-// throw new BizException("免费直播课已达到领取次数上限");
|
|
|
-// }
|
|
|
//保存购买记录
|
|
|
tempBuyFreeLiveTheoryCourseDao.insert(
|
|
|
new TempBuyFreeLiveTheoryCourse(sysUser.getId(),memberPayParamDto.getLiveId(),memberPayParamDto.getLiveGoodsId()));
|
|
@@ -314,6 +314,8 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
studentPaymentOrder.setActivityId(activityId.toString());
|
|
|
studentPaymentOrder.setActivityBuyNum(1);
|
|
|
studentPaymentOrder.setMusicGroupId(memberPayParamDto.getLiveId());
|
|
|
+ //保存商品编号
|
|
|
+ studentPaymentOrder.setClassGroupId(memberPayParamDto.getLiveGoodsId());
|
|
|
Map<String, Object> result = getMap(memberPayParamDto.getAmount(), memberPayParamDto.getUseBalancePayment(),studentPaymentOrder);
|
|
|
return BaseController.succeed(result);
|
|
|
}
|
|
@@ -332,9 +334,12 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
succeed.setMsg("当前分部暂未开通活动");
|
|
|
return succeed;
|
|
|
}
|
|
|
- if(memberPayParamDto.getLiveGoodsId() == 1){
|
|
|
+ if(memberPayParamDto.getLiveGoodsId() == 1 || memberPayParamDto.getLiveGoodsId() == 5){
|
|
|
//是否还有购买资格
|
|
|
Integer activityId = Integer.parseInt(activityDtos.get(0).getActivityId());
|
|
|
+ if(memberPayParamDto.getLiveGoodsId() == 5){
|
|
|
+ activityId = Integer.parseInt(activityDtos.get(1).getActivityId());
|
|
|
+ }
|
|
|
VipGroupActivity vipGroupActivity = Optional.ofNullable(vipGroupActivityDao.get(activityId)).orElseThrow(()-> new BizException("活动不存在"));
|
|
|
if(vipGroupActivity.getStudentMaxUsedTimes() != -1){
|
|
|
//获取活动购买次数
|
|
@@ -356,12 +361,6 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
succeed.setMsg("您已领取过本轮免费直播课");
|
|
|
return succeed;
|
|
|
}
|
|
|
- //购买次数是否超过2次
|
|
|
-// int count = tempBuyFreeLiveTheoryCourseDao.countByUserId(sysUser.getId());
|
|
|
-// if(count >= 2){
|
|
|
-// succeed.setMsg("免费直播课已达到领取次数上限");
|
|
|
-// return succeed;
|
|
|
-// }
|
|
|
}else {
|
|
|
succeed.setMsg("当前商品不可购买");
|
|
|
return succeed;
|
|
@@ -631,27 +630,31 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
cloudTeacherOrder.setOrganId(studentPaymentOrder.getOrganId());
|
|
|
cloudTeacherOrder.setAmount(studentPaymentOrder.getExpectAmount());
|
|
|
cloudTeacherOrderService.save(cloudTeacherOrder,tenantConfigService.autoActivationFlag(cloudTeacherOrder.getTenantId()));
|
|
|
- //赠送陪练课
|
|
|
- ActivityUserMapper activityUserMapper = new ActivityUserMapper();
|
|
|
- activityUserMapper.setTeacherId(student.getTeacherId());
|
|
|
- activityUserMapper.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
- activityUserMapper.setUserId(studentPaymentOrder.getUserId());
|
|
|
- activityUserMapper.setActivityId(activity.getId());
|
|
|
- activityUserMapper.setActualPrice(BigDecimal.ZERO);
|
|
|
- activityUserMapper.setGivePracticeFlag(1);
|
|
|
- activityUserMapper.setReturnFee(false);
|
|
|
- activityUserMapperDao.insert(activityUserMapper);
|
|
|
- //赠送训练营
|
|
|
- TempLittleArtistTrainingCampUserRelation tempLittleArtistTrainingCamp = new TempLittleArtistTrainingCampUserRelation();
|
|
|
- tempLittleArtistTrainingCamp.setUserId(studentPaymentOrder.getUserId());
|
|
|
- tempLittleArtistTrainingCamp.setState("NOT_APPLY");
|
|
|
- tempLittleArtistTrainingCamp.setCreateTime(nowDate);
|
|
|
- tempLittleArtistTrainingCampUserRelationDao.insert(tempLittleArtistTrainingCamp);
|
|
|
+
|
|
|
+ //如果是买的商品1那么赠送陪练课和训练营
|
|
|
+ if(Objects.equals(studentPaymentOrder.getClassGroupId(),1)){
|
|
|
+ //赠送陪练课
|
|
|
+ ActivityUserMapper activityUserMapper = new ActivityUserMapper();
|
|
|
+ activityUserMapper.setTeacherId(student.getTeacherId());
|
|
|
+ activityUserMapper.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
+ activityUserMapper.setUserId(studentPaymentOrder.getUserId());
|
|
|
+ activityUserMapper.setActivityId(activity.getId());
|
|
|
+ activityUserMapper.setActualPrice(BigDecimal.ZERO);
|
|
|
+ activityUserMapper.setGivePracticeFlag(1);
|
|
|
+ activityUserMapper.setReturnFee(false);
|
|
|
+ activityUserMapperDao.insert(activityUserMapper);
|
|
|
+ //赠送训练营
|
|
|
+ TempLittleArtistTrainingCampUserRelation tempLittleArtistTrainingCamp = new TempLittleArtistTrainingCampUserRelation();
|
|
|
+ tempLittleArtistTrainingCamp.setUserId(studentPaymentOrder.getUserId());
|
|
|
+ tempLittleArtistTrainingCamp.setState("NOT_APPLY");
|
|
|
+ tempLittleArtistTrainingCamp.setCreateTime(nowDate);
|
|
|
+ tempLittleArtistTrainingCampUserRelationDao.insert(tempLittleArtistTrainingCamp);
|
|
|
+ }
|
|
|
//生成订单详情
|
|
|
StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
|
|
|
studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
studentPaymentOrderDetail.setType(OrderDetailTypeEnum.CLOUD_TEACHER);
|
|
|
- studentPaymentOrderDetail.setGoodsIdList("1");
|
|
|
+ studentPaymentOrderDetail.setGoodsIdList(studentPaymentOrder.getClassGroupId().toString());
|
|
|
studentPaymentOrderDetail.setPrice(studentPaymentOrder.getExpectAmount());
|
|
|
studentPaymentOrderDetail.setRemitFee(studentPaymentOrder.getCouponRemitFee());
|
|
|
studentPaymentOrderDetail.setTenantId(studentPaymentOrder.getTenantId());
|