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