|  | @@ -856,42 +856,51 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 | 
	
		
			
				|  |  |                      continue;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            //当前学员是否以前存在过当前乐团
 | 
	
		
			
				|  |  | -            studentRegistration.setMusicGroupId(newMusicGroupId);
 | 
	
		
			
				|  |  | -            if (phoneAndMusicGroupId != null) {
 | 
	
		
			
				|  |  | -                studentRegistration.setId(phoneAndMusicGroupId.getId());
 | 
	
		
			
				|  |  | -                studentRegistrationDao.update(studentRegistration);
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                studentRegistrationDao.insertBasic(studentRegistration);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  |              //记录课程余额消费日志
 | 
	
		
			
				|  |  |              if(studentRegistration.getSurplusCourseFee().doubleValue() > 0d){
 | 
	
		
			
				|  |  |                  StudentCourseFeeDetail studentCourseFeeDetail = new StudentCourseFeeDetail();
 | 
	
		
			
				|  |  |                  if(studentRegistration.getSurplusCourseFee().doubleValue() > masterTotalPrice.doubleValue()){
 | 
	
		
			
				|  |  |                      studentCourseFeeDetail.setAmount(masterTotalPrice);
 | 
	
		
			
				|  |  |                      studentCourseFeeDetail.setSurplusCourseFee(studentRegistration.getSurplusCourseFee().subtract(masterTotalPrice));
 | 
	
		
			
				|  |  | +                }else {
 | 
	
		
			
				|  |  | +                    studentCourseFeeDetail.setAmount(studentRegistration.getSurplusCourseFee());
 | 
	
		
			
				|  |  | +                    studentCourseFeeDetail.setSurplusCourseFee(BigDecimal.ZERO);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                studentCourseFeeDetail.setAmount(studentRegistration.getSurplusCourseFee());
 | 
	
		
			
				|  |  | -                studentCourseFeeDetail.setSurplusCourseFee(BigDecimal.ZERO);
 | 
	
		
			
				|  |  | +                studentRegistration.setSurplusCourseFee(studentCourseFeeDetail.getSurplusCourseFee());
 | 
	
		
			
				|  |  |                  studentCourseFeeDetail.setMemo("跨团合班消费");
 | 
	
		
			
				|  |  |                  studentCourseFeeDetail.setOperator(sysUser1.getId());
 | 
	
		
			
				|  |  |                  studentCourseFeeDetails.add(studentCourseFeeDetail);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            //当前学员是否以前存在过当前乐团
 | 
	
		
			
				|  |  | +            studentRegistration.setMusicGroupId(newMusicGroupId);
 | 
	
		
			
				|  |  | +            if (phoneAndMusicGroupId != null) {
 | 
	
		
			
				|  |  | +                studentRegistration.setId(phoneAndMusicGroupId.getId());
 | 
	
		
			
				|  |  | +                studentRegistrationDao.update(studentRegistration);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                studentRegistrationDao.insertBasic(studentRegistration);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              MusicGroupStudentFee studentFeeDaoByUser = musicGroupStudentFeeDao.findByUser(studentRegistration.getUserId(), newMusicGroupId);
 | 
	
		
			
				|  |  |              if (studentFeeDaoByUser != null) {
 | 
	
		
			
				|  |  | -                //该学员已存在
 | 
	
		
			
				|  |  | +//                该学员已存在
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              //增加报名学生数
 | 
	
		
			
				|  |  |              musicGroupSubjectPlanService.addApplyStudentNum(newMusicGroupId, studentRegistration.getSubjectId(), 1);
 | 
	
		
			
				|  |  |              //新增Fee表
 | 
	
		
			
				|  |  | -            MusicGroupStudentFee musicGroupStudentFee = new MusicGroupStudentFee(newMusicGroupId,
 | 
	
		
			
				|  |  | -                    studentRegistration.getUserId(), studentRegistration.getSubjectId(),BigDecimal.ZERO,
 | 
	
		
			
				|  |  | -                    null, studentRegistration.getTemporaryCourseFee(), studentRegistration.getPaymentStatus()==YES?PAID_COMPLETED:NON_PAYMENT);
 | 
	
		
			
				|  |  | -            musicGroupStudentFeeDao.insert(musicGroupStudentFee);
 | 
	
		
			
				|  |  | +            MusicGroupStudentFee musicGroupStudentFee = null;
 | 
	
		
			
				|  |  | +            musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(studentRegistration.getUserId(),oldMusicGroupId);
 | 
	
		
			
				|  |  | +            if(musicGroupStudentFee != null){
 | 
	
		
			
				|  |  | +                musicGroupStudentFee.setMusicGroupId(newMusicGroupId);
 | 
	
		
			
				|  |  | +                musicGroupStudentFeeDao.update(musicGroupStudentFee);
 | 
	
		
			
				|  |  | +            }else {
 | 
	
		
			
				|  |  | +                musicGroupStudentFee = new MusicGroupStudentFee(newMusicGroupId,
 | 
	
		
			
				|  |  | +                        studentRegistration.getUserId(), studentRegistration.getSubjectId(),BigDecimal.ZERO,
 | 
	
		
			
				|  |  | +                        null, studentRegistration.getTemporaryCourseFee(), studentRegistration.getPaymentStatus()==YES?PAID_COMPLETED:NON_PAYMENT);
 | 
	
		
			
				|  |  | +                musicGroupStudentFeeDao.insert(musicGroupStudentFee);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if(studentCourseFeeDetails.size() > 0){
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +            studentCourseFeeDetailDao.batchInsert(studentCourseFeeDetails);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |