|  | @@ -215,6 +215,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private MusicGroupSchoolTermStudentCourseDetailDao musicGroupSchoolTermStudentCourseDetailDao;
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private StudentService studentService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -2319,6 +2322,28 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |          studentPaymentOrderService.insert(studentPaymentOrder);
 | 
	
		
			
				|  |  |          calenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  |          musicGroupPaymentCalenderDetailDao.update(calenderDetail);
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        CloudTeacherOrder cloudTeacherOrder = null;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //云教练/云教练+
 | 
	
		
			
				|  |  | +        if (calender.getMemberRankSettingId() != null) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //创建订单
 | 
	
		
			
				|  |  | +            cloudTeacherOrder = new CloudTeacherOrder();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    		cloudTeacherOrder.setType(2);//月
 | 
	
		
			
				|  |  | +			cloudTeacherOrder.setTime(calender.getMemberValidDate());
 | 
	
		
			
				|  |  | +    		cloudTeacherOrder.setOrganId(organId);
 | 
	
		
			
				|  |  | +    		cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
 | 
	
		
			
				|  |  | +    		cloudTeacherOrder.setLevel(calender.getMemberRankSettingId());
 | 
	
		
			
				|  |  | +    		cloudTeacherOrder.setAmount(calender.getMemberPaymentAmount());
 | 
	
		
			
				|  |  | +    		cloudTeacherOrder.setStatus(0);
 | 
	
		
			
				|  |  | +    		cloudTeacherOrder.setOrderId(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  | +    		cloudTeacherOrder.setCreateTime(date);
 | 
	
		
			
				|  |  | +    		cloudTeacherOrder.setUpdateTime(date);
 | 
	
		
			
				|  |  | +    		cloudTeacherOrderService.insert(cloudTeacherOrder);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /*ArrayList<StudentPaymentOrderDetail> studentPaymentOrderDetailList = new ArrayList<>();
 | 
	
		
			
				|  |  |          StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
 | 
	
	
		
			
				|  | @@ -2430,16 +2455,77 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |                  studentRegistration.setPaymentStatus(YES);
 | 
	
		
			
				|  |  |                  studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
 | 
	
		
			
				|  |  |                  studentRegistrationDao.update(studentRegistration);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  |                  //统计变更学员数
 | 
	
		
			
				|  |  |                  groupEventSource.musicGroupStudentChangeEvent(studentRegistration.getMusicGroupId(), StudentMusicGroupStatusEnum.NORMAL, new ArrayList<>(Arrays.asList(userId)));
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            /*if (musicGroupPaymentCalender.getType().equals(MusicGroupPaymentCalender.FeeType.ONLINE)) {
 | 
	
		
			
				|  |  | -                Integer getRemainNetworkClassTimes = musicGroupStudentFee.getRemainNetworkClassTimes() == null ? 0 : musicGroupStudentFee.getRemainNetworkClassTimes();
 | 
	
		
			
				|  |  | -                musicGroupStudentFee.setRemainNetworkClassTimes(getRemainNetworkClassTimes + 1);
 | 
	
		
			
				|  |  | -            }*/
 | 
	
		
			
				|  |  | -//            musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId, musicGroupStudentFee.getNextPaymentDate(), musicGroupStudentFee));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            List<StudentPaymentOrderDetail> paymentOrderDetails = new ArrayList<>();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			// 查询会员订单信息
 | 
	
		
			
				|  |  | +			CloudTeacherOrder cloudTeacherOrder = cloudTeacherOrderService.queryByOrderId(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  | +			if (cloudTeacherOrder != null) {
 | 
	
		
			
				|  |  | +				Student student = studentService.getLocked(userId);
 | 
	
		
			
				|  |  | +				if (student == null) {
 | 
	
		
			
				|  |  | +					throw new BizException("学员信息不存在");
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				cloudTeacherOrder.setStatus(2);
 | 
	
		
			
				|  |  | +				cloudTeacherOrder.setUpdateTime(date);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				PeriodEnum periodEnum = PeriodEnum.MONTH;
 | 
	
		
			
				|  |  | +				switch (cloudTeacherOrder.getType()) {
 | 
	
		
			
				|  |  | +				case 1:
 | 
	
		
			
				|  |  | +					periodEnum = PeriodEnum.DAY;
 | 
	
		
			
				|  |  | +					break;
 | 
	
		
			
				|  |  | +				case 2:
 | 
	
		
			
				|  |  | +					periodEnum = PeriodEnum.MONTH;
 | 
	
		
			
				|  |  | +					break;
 | 
	
		
			
				|  |  | +				case 3:
 | 
	
		
			
				|  |  | +					periodEnum = PeriodEnum.YEAR;
 | 
	
		
			
				|  |  | +					break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				default:
 | 
	
		
			
				|  |  | +					break;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (student.getMemberRankSettingId() == null || date.after(student.getMembershipEndTime())) {
 | 
	
		
			
				|  |  | +					cloudTeacherOrder.setStartTime(date);
 | 
	
		
			
				|  |  | +					if (cloudTeacherOrder.getType() == 1) {
 | 
	
		
			
				|  |  | +						cloudTeacherOrder.setEndTime(DateUtil.addDays(date, cloudTeacherOrder.getTime()));
 | 
	
		
			
				|  |  | +					} else if (cloudTeacherOrder.getType() == 2) {
 | 
	
		
			
				|  |  | +						cloudTeacherOrder.setEndTime(DateUtil.addMonths(date, cloudTeacherOrder.getTime()));
 | 
	
		
			
				|  |  | +					} else if (cloudTeacherOrder.getType() == 3) {
 | 
	
		
			
				|  |  | +						cloudTeacherOrder.setEndTime(DateUtil.addYears(date, cloudTeacherOrder.getTime()));
 | 
	
		
			
				|  |  | +					} else {
 | 
	
		
			
				|  |  | +						throw new BizException("不支持的周期类型");
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				} else {
 | 
	
		
			
				|  |  | +					cloudTeacherOrder.setStartTime(DateUtil.addDays(student.getMembershipEndTime(), 1));
 | 
	
		
			
				|  |  | +					if (cloudTeacherOrder.getType() == 1) {
 | 
	
		
			
				|  |  | +						cloudTeacherOrder.setEndTime(DateUtil.addDays(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
 | 
	
		
			
				|  |  | +					} else if (cloudTeacherOrder.getType() == 2) {
 | 
	
		
			
				|  |  | +						cloudTeacherOrder.setEndTime(DateUtil.addMonths(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
 | 
	
		
			
				|  |  | +					} else if (cloudTeacherOrder.getType() == 3) {
 | 
	
		
			
				|  |  | +						cloudTeacherOrder.setEndTime(DateUtil.addYears(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
 | 
	
		
			
				|  |  | +					} else {
 | 
	
		
			
				|  |  | +						throw new BizException("不支持的周期类型");
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				cloudTeacherOrderService.update(cloudTeacherOrder);
 | 
	
		
			
				|  |  | +				// 添加会员有效时长
 | 
	
		
			
				|  |  | +				studentService.updateMemberRank(userId, Integer.parseInt(studentPaymentOrder.getMusicGroupId()), periodEnum, cloudTeacherOrder.getTime());
 | 
	
		
			
				|  |  | +				
 | 
	
		
			
				|  |  | +				//添加订单明细
 | 
	
		
			
				|  |  | +				StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
 | 
	
		
			
				|  |  | +                studentPaymentOrderDetail.setType(OrderDetailTypeEnum.CLOUD_TEACHER);
 | 
	
		
			
				|  |  | +                studentPaymentOrderDetail.setPrice(cloudTeacherOrder.getAmount());
 | 
	
		
			
				|  |  | +                studentPaymentOrderDetail.setCreateTime(date);
 | 
	
		
			
				|  |  | +                studentPaymentOrderDetail.setUpdateTime(date);
 | 
	
		
			
				|  |  | +                studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  | +                paymentOrderDetails.add(studentPaymentOrderDetail);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              //插入交易明细
 | 
	
		
			
				|  |  |              SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
 | 
	
	
		
			
				|  | @@ -2460,7 +2546,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |              rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
 | 
	
		
			
				|  |  |              sysUserCashAccountDetailService.insert(rechargeDetail);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            List<StudentPaymentOrderDetail> paymentOrderDetails = new ArrayList<>();
 | 
	
		
			
				|  |  |              //跨团合班没有settings
 | 
	
		
			
				|  |  |              if(paymentCalender.getPaymentType() == PaymentType.SPAN_GROUP_CLASS_ADJUST){
 | 
	
		
			
				|  |  |                  List<MusicGroupPaymentCalenderStudentDetail> studentDetails = musicGroupPaymentCalenderStudentDetailDao.findByBatchNoAndUserId(paymentCalender.getBatchNo(), userId);
 |