|  | @@ -4,7 +4,14 @@ import static com.ym.mec.biz.dal.entity.ApprovalStatus.PROCESSING;
 | 
	
		
			
				|  |  |  import static com.ym.mec.biz.dal.enums.DealStatusEnum.CLOSE;
 | 
	
		
			
				|  |  |  import static com.ym.mec.biz.dal.enums.DealStatusEnum.ING;
 | 
	
		
			
				|  |  |  import static com.ym.mec.biz.dal.enums.DealStatusEnum.SUCCESS;
 | 
	
		
			
				|  |  | -import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.*;
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.ACCESSORIES;
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.CLOUD_TEACHER;
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.CLOUD_TEACHER_PLUS;
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.DEGREE_REGISTRATION;
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.MAINTENANCE;
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.MUSICAL;
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.OTHER;
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.TEACHING;
 | 
	
		
			
				|  |  |  import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.YES;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import java.io.IOException;
 | 
	
	
		
			
				|  | @@ -22,8 +29,6 @@ import java.util.Objects;
 | 
	
		
			
				|  |  |  import java.util.Set;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.dto.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.service.*;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.slf4j.Logger;
 | 
	
		
			
				|  |  |  import org.slf4j.LoggerFactory;
 | 
	
	
		
			
				|  | @@ -45,6 +50,7 @@ import com.ym.mec.biz.dal.dao.CooperationOrganDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.EmployeeDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.GoodsDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.MusicGroupDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
 | 
	
	
		
			
				|  | @@ -77,6 +83,19 @@ import com.ym.mec.biz.dal.dao.SysConfigDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.TeacherDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.BasicUserDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.CloseMusicGroupDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.HighClassGroupDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.MusicCardDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.MusicGroupBasicDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.RegisterPayDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.RenewParamDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.SporadicPayDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.StudentApplyInstrumentDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.SubjectRegisterDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.UpdateExpectedNumDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.ApprovalStatus;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.ChargeType;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.ClassGroup;
 | 
	
	
		
			
				|  | @@ -84,6 +103,7 @@ import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.CooperationOrgan;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.CourseSchedule;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Goods;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.ImGroup;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroup;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
 | 
	
	
		
			
				|  | @@ -97,10 +117,10 @@ import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderStudentDetail;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentCourseDetail;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupPurchaseList;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupQuit;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.MusicGroupReturnFeeDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupSchoolTermCourseDetail;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.MusicGroupReturnFeeDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicMemberDto;
 | 
	
	
		
			
				|  | @@ -143,6 +163,30 @@ import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.page.MusicMemberQueryInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.event.source.GroupEventSource;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.ClassGroupService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.ClassGroupStudentMapperService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.CloudTeacherOrderService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.ContractService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.GoodsService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.ImGroupMemberService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.ImGroupService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.ImUserFriendService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.MusicGroupPaymentCalenderService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.MusicGroupService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.MusicGroupSubjectGoodsGroupService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.PayService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.StudentPaymentOrderService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.StudentPaymentRouteOrderService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.StudentRegistrationService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.StudentService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.SysConfigService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.SysCouponCodeService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.SysMessageService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.SysUserCashAccountDetailService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.SysUserCashAccountService;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.entity.HttpResponseResult;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.entity.ImGroupMember;
 | 
	
	
		
			
				|  | @@ -293,6 +337,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private SubjectDao subjectDao;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | +    private GoodsDao goodsDao;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  |      private SysUserCashAccountDao sysUserCashAccountDao;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private ContractService contractService;
 | 
	
	
		
			
				|  | @@ -812,7 +858,18 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |              		continue;
 | 
	
		
			
				|  |  |              	}
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            orderAmount = orderAmount.add(goodsGroup.getPrice());
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +            if(musicGroup.getOrganId() == 55 && (registerPayDto.getNewCourse() == null || registerPayDto.getNewCourse().size() == 0) && !(registerPayDto.getBuyCloudTeacher() || registerPayDto.getBuyCloudTeacherPlus())){
 | 
	
		
			
				|  |  | +            	//取商品零售价
 | 
	
		
			
				|  |  | +                if (StringUtils.isNotBlank(goodsGroup.getGoodsIdList())) {
 | 
	
		
			
				|  |  | +                	List<Goods> goodsList = goodsDao.findGoodsByIds(goodsGroup.getGoodsIdList());
 | 
	
		
			
				|  |  | +                	for(Goods goods : goodsList){
 | 
	
		
			
				|  |  | +                		orderAmount = orderAmount.add(goods.getDiscountPrice());
 | 
	
		
			
				|  |  | +                	}
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }else{
 | 
	
		
			
				|  |  | +            	orderAmount = orderAmount.add(goodsGroup.getPrice());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          orderAmount = orderAmount.subtract(remitFee);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1082,7 +1139,18 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |              		continue;
 | 
	
		
			
				|  |  |              	}
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            orderAmount = orderAmount.add(goodsGroup.getPrice());
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +            if(musicGroup.getOrganId() == 55 && (registerPayDto.getNewCourse() == null || registerPayDto.getNewCourse().size() == 0) && !(registerPayDto.getBuyCloudTeacher() || registerPayDto.getBuyCloudTeacherPlus())){
 | 
	
		
			
				|  |  | +            	//取商品零售价
 | 
	
		
			
				|  |  | +                if (StringUtils.isNotBlank(goodsGroup.getGoodsIdList())) {
 | 
	
		
			
				|  |  | +                	List<Goods> goodsList = goodsDao.findGoodsByIds(goodsGroup.getGoodsIdList());
 | 
	
		
			
				|  |  | +                	for(Goods goods : goodsList){
 | 
	
		
			
				|  |  | +                		orderAmount = orderAmount.add(goods.getDiscountPrice());
 | 
	
		
			
				|  |  | +                	}
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }else{
 | 
	
		
			
				|  |  | +            	orderAmount = orderAmount.add(goodsGroup.getPrice());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //新课程形态
 |