|  | @@ -472,7 +472,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 | 
	
		
			
				|  |  |              studentRegistration.setMusicGroupStatus(ClassGroupStudentStatusEnum.NORMAL);
 | 
	
		
			
				|  |  |              studentRegistration.setTemporaryCourseFee(studentAddDto.getTemporaryCourseFee());
 | 
	
		
			
				|  |  |              //学生报名表
 | 
	
		
			
				|  |  | -            studentRegistrationDao.insertBasic(studentRegistration);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
 | 
	
		
			
				|  |  |              Set<Integer> roleIds = new HashSet<>(1);
 | 
	
		
			
				|  |  |              roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
 | 
	
	
		
			
				|  | @@ -531,20 +531,27 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 | 
	
		
			
				|  |  |                  studentPaymentOrder.setStatus(DealStatusEnum.WAIT_PAY);
 | 
	
		
			
				|  |  |                  studentPaymentOrder.setMusicGroupId(musicGroupId);
 | 
	
		
			
				|  |  |                  studentPaymentOrder.setClassGroupId(classGroupId);
 | 
	
		
			
				|  |  | -                studentPaymentOrderService.insert(studentPaymentOrder);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  //生成订单明细
 | 
	
		
			
				|  |  |                  List<StudentPaymentOrderDetail> studentPaymentOrderDetails = studentAddDto.getStudentPaymentOrderDetails();
 | 
	
		
			
				|  |  |                  if (studentPaymentOrderDetails == null) {
 | 
	
		
			
				|  |  |                      studentPaymentOrderDetails = new ArrayList<>();
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                studentPaymentOrderDetails.forEach(e -> {
 | 
	
		
			
				|  |  | -                    e.setPaymentOrderId(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  | -                });
 | 
	
		
			
				|  |  |                  StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
 | 
	
		
			
				|  |  | -                studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  |                  studentPaymentOrderDetail.setPrice(studentAddDto.getTemporaryCourseFee());
 | 
	
		
			
				|  |  |                  studentPaymentOrderDetail.setType(OrderDetailTypeEnum.COURSE);
 | 
	
		
			
				|  |  |                  studentPaymentOrderDetails.add(studentPaymentOrderDetail);
 | 
	
		
			
				|  |  | +                //汇总金额
 | 
	
		
			
				|  |  | +                BigDecimal reduce = studentPaymentOrderDetails.stream().map(e -> e.getPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
 | 
	
		
			
				|  |  | +                if(reduce == BigDecimal.ZERO){
 | 
	
		
			
				|  |  | +                    studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
 | 
	
		
			
				|  |  | +                    studentRegistration.setPaymentStatus(PaymentStatusEnum.YES);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                studentRegistrationDao.insertBasic(studentRegistration);
 | 
	
		
			
				|  |  | +                studentPaymentOrderService.insert(studentPaymentOrder);
 | 
	
		
			
				|  |  | +                studentPaymentOrderDetails.forEach(e -> {
 | 
	
		
			
				|  |  | +                    e.setPaymentOrderId(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  |                  studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetails);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              studentRegistrationDao.updateCurrentClass(studentRegistration);
 | 
	
	
		
			
				|  | @@ -774,4 +781,18 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 | 
	
		
			
				|  |  |      public StudentRegistration queryUserByPhone(String mobile) {
 | 
	
		
			
				|  |  |          return studentRegistrationDao.queryUserByPhone(mobile);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<StudentRegistration> findMusicGroupStuNoClassType(String musicGroupId, ClassGroupTypeEnum type, Integer subjectId) {
 | 
	
		
			
				|  |  | +        List<StudentRegistration> students = studentRegistrationDao.findMusicGroupStudent(musicGroupId, subjectId);
 | 
	
		
			
				|  |  | +        List<ClassGroupStudentMapper> classGroupStudentMappers = classGroupStudentMapperDao.findMusicGroupClassGroupByType(musicGroupId, type);
 | 
	
		
			
				|  |  | +        for (StudentRegistration student : students) {
 | 
	
		
			
				|  |  | +            for (ClassGroupStudentMapper classGroupStudentMapper : classGroupStudentMappers) {
 | 
	
		
			
				|  |  | +                if(classGroupStudentMapper.getUserId().equals(student.getUserId())){
 | 
	
		
			
				|  |  | +                    students.remove(student);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return null;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |