|  | @@ -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());
 |