|  | @@ -687,7 +687,11 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 | 
											
												
													
														|  |  		return this.use(activityUserMappers, freeActivityUserMappers, courseNum,groupId,studentIdList);
 |  |  		return this.use(activityUserMappers, freeActivityUserMappers, courseNum,groupId,studentIdList);
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -	private void getStudentPayment(Integer userId,BigDecimal totalAmount,Integer courseNum,List<CourseScheduleStudentPayment> courseScheduleStudentPayments){
 |  | 
 | 
											
												
													
														|  | 
 |  | +	private void getStudentPayment(Integer userId,
 | 
											
												
													
														|  | 
 |  | +								   BigDecimal totalAmount,
 | 
											
												
													
														|  | 
 |  | +								   Integer courseNum,
 | 
											
												
													
														|  | 
 |  | +								   List<CourseScheduleStudentPayment> courseScheduleStudentPayments,
 | 
											
												
													
														|  | 
 |  | +								   Integer activityUserMapperId){
 | 
											
												
													
														|  |  		//实际支付金额,去除优惠券
 |  |  		//实际支付金额,去除优惠券
 | 
											
												
													
														|  |  		BigDecimal singleAmount = totalAmount.divide(new BigDecimal(courseNum), ROUND_DOWN);
 |  |  		BigDecimal singleAmount = totalAmount.divide(new BigDecimal(courseNum), ROUND_DOWN);
 | 
											
												
													
														|  |  		BigDecimal firstSingleAmount = totalAmount.subtract(singleAmount.multiply(new BigDecimal(courseNum))).add(singleAmount);
 |  |  		BigDecimal firstSingleAmount = totalAmount.subtract(singleAmount.multiply(new BigDecimal(courseNum))).add(singleAmount);
 | 
											
										
											
												
													
														|  | @@ -699,16 +703,22 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 | 
											
												
													
														|  |  			} else {
 |  |  			} else {
 | 
											
												
													
														|  |  				courseScheduleStudentPayment.setExpectPrice(singleAmount);
 |  |  				courseScheduleStudentPayment.setExpectPrice(singleAmount);
 | 
											
												
													
														|  |  			}
 |  |  			}
 | 
											
												
													
														|  | 
 |  | +			courseScheduleStudentPayment.setActivityUserMapperId(activityUserMapperId);
 | 
											
												
													
														|  |  			courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
 |  |  			courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
 | 
											
												
													
														|  |  			courseScheduleStudentPayments.add(courseScheduleStudentPayment);
 |  |  			courseScheduleStudentPayments.add(courseScheduleStudentPayment);
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  | -	private void getStudentPayment(Integer userId,Integer courseNum,BigDecimal singlePrice,List<CourseScheduleStudentPayment> courseScheduleStudentPayments){
 |  | 
 | 
											
												
													
														|  | 
 |  | +	private void getStudentPayment(Integer userId,
 | 
											
												
													
														|  | 
 |  | +								   Integer courseNum,
 | 
											
												
													
														|  | 
 |  | +								   BigDecimal singlePrice,
 | 
											
												
													
														|  | 
 |  | +								   List<CourseScheduleStudentPayment> courseScheduleStudentPayments,
 | 
											
												
													
														|  | 
 |  | +								   Integer activityUserMapperId){
 | 
											
												
													
														|  |  		for (Integer i = 0; i < courseNum; i++) {
 |  |  		for (Integer i = 0; i < courseNum; i++) {
 | 
											
												
													
														|  |  			CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
 |  |  			CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
 | 
											
												
													
														|  |  			courseScheduleStudentPayment.setUserId(userId);
 |  |  			courseScheduleStudentPayment.setUserId(userId);
 | 
											
												
													
														|  |  			courseScheduleStudentPayment.setExpectPrice(singlePrice);
 |  |  			courseScheduleStudentPayment.setExpectPrice(singlePrice);
 | 
											
												
													
														|  |  			courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
 |  |  			courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
 | 
											
												
													
														|  | 
 |  | +			courseScheduleStudentPayment.setActivityUserMapperId(activityUserMapperId);
 | 
											
												
													
														|  |  			courseScheduleStudentPayments.add(courseScheduleStudentPayment);
 |  |  			courseScheduleStudentPayments.add(courseScheduleStudentPayment);
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
										
											
												
													
														|  | @@ -742,7 +752,7 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 | 
											
												
													
														|  |  					activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
 |  |  					activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
 | 
											
												
													
														|  |  					activityUserMapper.setCurrentCoursePrice(activityUserMapper.getSubNoCoursePrice());
 |  |  					activityUserMapper.setCurrentCoursePrice(activityUserMapper.getSubNoCoursePrice());
 | 
											
												
													
														|  |  					//生成学员课程支付记录
 |  |  					//生成学员课程支付记录
 | 
											
												
													
														|  | -					this.getStudentPayment(integer,activityUserMapper.getSubNoCoursePrice(),num,courseScheduleStudentPayments);
 |  | 
 | 
											
												
													
														|  | 
 |  | +					this.getStudentPayment(integer,activityUserMapper.getSubNoCoursePrice(),num,courseScheduleStudentPayments,activityUserMapper.getId());
 | 
											
												
													
														|  |  				}else {
 |  |  				}else {
 | 
											
												
													
														|  |  					subCourseMap.put(integer, 0);
 |  |  					subCourseMap.put(integer, 0);
 | 
											
												
													
														|  |  					activityUserMapper.setSubCourseNum(num - subCourseNum);
 |  |  					activityUserMapper.setSubCourseNum(num - subCourseNum);
 | 
											
										
											
												
													
														|  | @@ -750,7 +760,7 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 | 
											
												
													
														|  |  					BigDecimal divide = activityUserMapper.getActualPrice().divide(new BigDecimal(activityUserMapper.getTotalCourseNum()), RoundingMode.DOWN).multiply(new BigDecimal(subCourseNum));
 |  |  					BigDecimal divide = activityUserMapper.getActualPrice().divide(new BigDecimal(activityUserMapper.getTotalCourseNum()), RoundingMode.DOWN).multiply(new BigDecimal(subCourseNum));
 | 
											
												
													
														|  |  					activityUserMapper.setSubNoCoursePrice(activityUserMapper.getSubNoCoursePrice().subtract(divide));
 |  |  					activityUserMapper.setSubNoCoursePrice(activityUserMapper.getSubNoCoursePrice().subtract(divide));
 | 
											
												
													
														|  |  					activityUserMapper.setCurrentCoursePrice(divide);
 |  |  					activityUserMapper.setCurrentCoursePrice(divide);
 | 
											
												
													
														|  | -					this.getStudentPayment(integer,subCourseNum,divide,courseScheduleStudentPayments);
 |  | 
 | 
											
												
													
														|  | 
 |  | +					this.getStudentPayment(integer,subCourseNum,divide,courseScheduleStudentPayments,activityUserMapper.getId());
 | 
											
												
													
														|  |  					//剩余课次充足
 |  |  					//剩余课次充足
 | 
											
												
													
														|  |  					continue one;
 |  |  					continue one;
 | 
											
												
													
														|  |  				}
 |  |  				}
 | 
											
										
											
												
													
														|  | @@ -775,10 +785,10 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 | 
											
												
													
														|  |  				if(num <= subCourseNum){
 |  |  				if(num <= subCourseNum){
 | 
											
												
													
														|  |  					activityUserMapper.setSubGiveCourseNum(0);
 |  |  					activityUserMapper.setSubGiveCourseNum(0);
 | 
											
												
													
														|  |  					subCourseNum = subCourseNum - num;
 |  |  					subCourseNum = subCourseNum - num;
 | 
											
												
													
														|  | -					this.getStudentPayment(integer,num,BigDecimal.ZERO,courseScheduleStudentPayments);
 |  | 
 | 
											
												
													
														|  | 
 |  | +					this.getStudentPayment(integer,num,BigDecimal.ZERO,courseScheduleStudentPayments,activityUserMapper.getId());
 | 
											
												
													
														|  |  				}else {
 |  |  				}else {
 | 
											
												
													
														|  |  					activityUserMapper.setSubGiveCourseNum(num - subCourseNum);
 |  |  					activityUserMapper.setSubGiveCourseNum(num - subCourseNum);
 | 
											
												
													
														|  | -					this.getStudentPayment(integer,subCourseNum,BigDecimal.ZERO,courseScheduleStudentPayments);
 |  | 
 | 
											
												
													
														|  | 
 |  | +					this.getStudentPayment(integer,subCourseNum,BigDecimal.ZERO,courseScheduleStudentPayments,activityUserMapper.getId());
 | 
											
												
													
														|  |  					continue one;
 |  |  					continue one;
 | 
											
												
													
														|  |  				}
 |  |  				}
 | 
											
												
													
														|  |  			}
 |  |  			}
 |