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