| 
					
				 | 
			
			
				@@ -507,6 +507,12 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 sysUser.setImToken(register.getToken()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 teacherDao.updateUser(sysUser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysUser.setPhone(studentRegistration.getParentsPhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysUser.setRealName(studentRegistration.getParentsName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysUser.setUsername(studentRegistration.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysUser.setGender(studentRegistration.getGender()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysUser.setOrganId(studentRegistration.getOrganId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                teacherDao.updateUser(sysUser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 userId = sysUser.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             studentRegistration.setActualSubjectId(studentRegistration.getSubjectId()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -532,9 +538,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 studentAddDto.setCourseFee(musicOneSubjectClassPlan.getFee()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Date nextPaymentDate = musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            musicGroupStudentFeeDao.insert(new MusicGroupStudentFee(musicGroupId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    userId, studentRegistration.getSubjectId(), studentAddDto.getCourseFee(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    nextPaymentDate, studentAddDto.getTemporaryCourseFee())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //生成订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             studentPaymentOrder.setUserId(userId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -548,22 +552,33 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<StudentPaymentOrderDetail> studentPaymentOrderDetails = studentAddDto.getStudentPaymentOrderDetails(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (studentPaymentOrderDetails == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 studentPaymentOrderDetails = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                studentPaymentOrderDetails.forEach(e->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(e.getPrice() == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        throw new BizException("请补全订单信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             studentPaymentOrderDetail.setPrice(studentAddDto.getTemporaryCourseFee()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             studentPaymentOrderDetail.setType(OrderDetailTypeEnum.COURSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             studentPaymentOrderDetails.add(studentPaymentOrderDetail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //汇总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BigDecimal reduce = studentPaymentOrderDetails.stream().map(e -> e.getPrice()).reduce(BigDecimal.ZERO, BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            MusicGroupStudentFee.PaymentStatus paymentStatus = MusicGroupStudentFee.PaymentStatus.NON_PAYMENT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (reduce == BigDecimal.ZERO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                paymentStatus = MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 studentRegistration.setPaymentStatus(PaymentStatusEnum.YES); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 studentPaymentOrder.setActualAmount(reduce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 studentPaymentOrder.setPayTime(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            musicGroupStudentFeeDao.insert(new MusicGroupStudentFee(musicGroupId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    userId, studentRegistration.getSubjectId(), studentAddDto.getCourseFee(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    nextPaymentDate, studentAddDto.getTemporaryCourseFee(),paymentStatus)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             studentPaymentOrder.setExpectAmount(reduce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //当前学员是否以前存在过当前乐团 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                StudentRegistration registration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(phoneAndMusicGroupId != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 studentRegistration.setId(phoneAndMusicGroupId.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 studentRegistrationDao.update(studentRegistration); 
			 |