Browse Source

Merge remote-tracking branch 'origin/master'

zouxuan 4 năm trước cách đây
mục cha
commit
a09f24d86e

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/DegreeRegistrationActivityDto.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.DegreeRegistration;
 import com.ym.mec.biz.dal.entity.DegreeRegistration;
 
 
+import java.math.BigDecimal;
 import java.util.Map;
 import java.util.Map;
 
 
 /**
 /**
@@ -13,6 +14,8 @@ public class DegreeRegistrationActivityDto extends DegreeRegistration {
 
 
     private Map<CourseSchedule.CourseScheduleType, Integer> additionCourseInfo;
     private Map<CourseSchedule.CourseScheduleType, Integer> additionCourseInfo;
 
 
+    private BigDecimal price;
+
     public Map<CourseSchedule.CourseScheduleType, Integer> getAdditionCourseInfo() {
     public Map<CourseSchedule.CourseScheduleType, Integer> getAdditionCourseInfo() {
         return additionCourseInfo;
         return additionCourseInfo;
     }
     }
@@ -20,4 +23,12 @@ public class DegreeRegistrationActivityDto extends DegreeRegistration {
     public void setAdditionCourseInfo(Map<CourseSchedule.CourseScheduleType, Integer> additionCourseInfo) {
     public void setAdditionCourseInfo(Map<CourseSchedule.CourseScheduleType, Integer> additionCourseInfo) {
         this.additionCourseInfo = additionCourseInfo;
         this.additionCourseInfo = additionCourseInfo;
     }
     }
+
+    public BigDecimal getPrice() {
+        return price;
+    }
+
+    public void setPrice(BigDecimal price) {
+        this.price = price;
+    }
 }
 }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleStudentPaymentDto.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.entity;
 
 
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 
 
+import java.util.Date;
+
 /**
 /**
  * @Author qnc99
  * @Author qnc99
  * @Date 2020/12/2 0002
  * @Date 2020/12/2 0002
@@ -10,6 +12,8 @@ public class CourseScheduleStudentPaymentDto extends CourseScheduleStudentPaymen
 
 
     private CourseStatusEnum courseStatus;
     private CourseStatusEnum courseStatus;
 
 
+    private Date courseStartTime;
+
     public CourseStatusEnum getCourseStatus() {
     public CourseStatusEnum getCourseStatus() {
         return courseStatus;
         return courseStatus;
     }
     }
@@ -17,4 +21,12 @@ public class CourseScheduleStudentPaymentDto extends CourseScheduleStudentPaymen
     public void setCourseStatus(CourseStatusEnum courseStatus) {
     public void setCourseStatus(CourseStatusEnum courseStatus) {
         this.courseStatus = courseStatus;
         this.courseStatus = courseStatus;
     }
     }
+
+    public Date getCourseStartTime() {
+        return courseStartTime;
+    }
+
+    public void setCourseStartTime(Date courseStartTime) {
+        this.courseStartTime = courseStartTime;
+    }
 }
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -38,6 +38,7 @@ import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.service.ClassGroupRelationService;
 import com.ym.mec.biz.service.ClassGroupRelationService;
@@ -142,6 +143,15 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
             	}
             	}
             }
             }
             
             
+            //判断是否已结束
+            List<CourseSchedule> tempMergedCourseScheduleList = courseScheduleDao.findByCourseScheduleIds(tempMergedCourseIdList);
+            tempMergedCourseIdList.clear();
+            for(CourseSchedule courseSchedule : tempMergedCourseScheduleList){
+            	if(courseSchedule.getStatus() == CourseStatusEnum.NOT_START){
+            		tempMergedCourseIdList.add(courseSchedule.getId());
+            	}
+            }
+            
             tempMergedCourseIdList.addAll(courseScheduleList.stream().map(CourseSchedule :: getId).collect(Collectors.toList()));
             tempMergedCourseIdList.addAll(courseScheduleList.stream().map(CourseSchedule :: getId).collect(Collectors.toList()));
             if(tempMergedCourseIdList.size() > 0){
             if(tempMergedCourseIdList.size() > 0){
             	courseScheduleStudentPaymentDao.deleteStudentCourseSchedule(userId, tempMergedCourseIdList);
             	courseScheduleStudentPaymentDao.deleteStudentCourseSchedule(userId, tempMergedCourseIdList);

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3304,7 +3304,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							throw new BizException("老师{}[{}]没有设置默认课酬,请先设置", user.getRealName(), teacherId);
 							throw new BizException("老师{}[{}]没有设置默认课酬,请先设置", user.getRealName(), teacherId);
 						}
 						}
 
 
-						TeacherDefaultMusicGroupSalary tdms = map.get(newCourseSchedule.getType());
+						TeacherDefaultMusicGroupSalary tdms = null;
+						if(newCourseSchedule.getType() == CourseScheduleType.HIGH){
+							tdms = map.get(CourseScheduleType.HIGH_ONLINE);
+						}else{
+							tdms = map.get(newCourseSchedule.getType());
+						}
 						if (tdms == null) {
 						if (tdms == null) {
 							SysUser user = sysUserFeignService.queryUserById(teacherId);
 							SysUser user = sysUserFeignService.queryUserById(teacherId);
 							throw new BizException("老师{}[{}]没有设置默认课酬,请先设置", user.getRealName(), teacherId);
 							throw new BizException("老师{}[{}]没有设置默认课酬,请先设置", user.getRealName(), teacherId);

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java

@@ -631,6 +631,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 
 
 		if(statusCoursesMap.containsKey(CourseStatusEnum.OVER)){
 		if(statusCoursesMap.containsKey(CourseStatusEnum.OVER)){
 			List<CourseScheduleStudentPaymentDto> notStartCourses = statusCoursesMap.get(CourseStatusEnum.OVER);
 			List<CourseScheduleStudentPaymentDto> notStartCourses = statusCoursesMap.get(CourseStatusEnum.OVER);
+			notStartCourses.sort(Comparator.comparing(CourseScheduleStudentPaymentDto::getCourseStartTime));
 			for (CourseScheduleStudentPaymentDto notStartCourse : notStartCourses) {
 			for (CourseScheduleStudentPaymentDto notStartCourse : notStartCourses) {
 				boolean isUpdate = studentRegistrationService.updateUserSurplusCourseFee(notStartCourse.getUserId(), notStartCourse.getMusicGroupId(), notStartCourse.getExpectPrice().negate(), StringUtils.join("课程结束,扣除课程费用:", notStartCourse.getCourseScheduleId()), null);
 				boolean isUpdate = studentRegistrationService.updateUserSurplusCourseFee(notStartCourse.getUserId(), notStartCourse.getMusicGroupId(), notStartCourse.getExpectPrice().negate(), StringUtils.join("课程结束,扣除课程费用:", notStartCourse.getCourseScheduleId()), null);
 				if(!isUpdate){
 				if(!isUpdate){

+ 10 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.DegreeRegistrationActivityDto;
 import com.ym.mec.biz.dal.dto.DegreeRegistrationActivityDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
+import com.ym.mec.common.constant.CommonConstants;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -138,7 +139,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
             if(Objects.isNull(practiceGroupSellPrice)){
             if(Objects.isNull(practiceGroupSellPrice)){
                 throw new BizException("该分部暂未参与此活动");
                 throw new BizException("该分部暂未参与此活动");
             }
             }
-            BigDecimal practiceUnitPrice = practiceGroupSellPrice.getOnceActivityPrice(),
+            BigDecimal practiceUnitPrice = practiceGroupSellPrice.getOnceOriginalPrice(),
                     vipUnitPrice = new BigDecimal("0"), highUnitPrice;
                     vipUnitPrice = new BigDecimal("0"), highUnitPrice;
             if(student.getIsNewUser()){
             if(student.getIsNewUser()){
                 vipUnitPrice = practiceGroupSellPrice.getVipOneStudentTwelveCourseActivityPriceWithNewUser();
                 vipUnitPrice = practiceGroupSellPrice.getVipOneStudentTwelveCourseActivityPriceWithNewUser();
@@ -151,7 +152,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
                     if(FREE_PRICE_LEVEL.contains(degreeRegistration.getLevel())){
                     if(FREE_PRICE_LEVEL.contains(degreeRegistration.getLevel())){
                         degreeRegistration.setMoney(BigDecimal.ZERO);
                         degreeRegistration.setMoney(BigDecimal.ZERO);
                     }else{
                     }else{
-                        degreeRegistration.setMoney(degreeRegistration.getMoney().divide(new BigDecimal(2)));
+                        degreeRegistration.setMoney(degreeRegistration.getMoney().divide(new BigDecimal(2), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_DOWN));
                     }
                     }
                     highUnitPrice = practiceGroupSellPrice.getHighOnlineTenCourseActivityPriceWithNewUser();
                     highUnitPrice = practiceGroupSellPrice.getHighOnlineTenCourseActivityPriceWithNewUser();
 
 
@@ -188,6 +189,10 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         amount = amount.add(degreeRegistration.getTheoryMoney());
         amount = amount.add(degreeRegistration.getTheoryMoney());
         amount = amount.add(additionCoursePrice);
         amount = amount.add(additionCoursePrice);
 
 
+        if(amount.compareTo(degreeRegistration.getPrice())!=0){
+            throw new BizException("商品价格不符");
+        }
+
         OrderTypeEnum type = OrderTypeEnum.DEGREE_REGISTRATION;
         OrderTypeEnum type = OrderTypeEnum.DEGREE_REGISTRATION;
 
 
         Integer userId = degreeRegistration.getId();
         Integer userId = degreeRegistration.getId();
@@ -200,7 +205,9 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         studentPaymentOrder.setExpectAmount(amount);
         studentPaymentOrder.setExpectAmount(amount);
         studentPaymentOrder.setActualAmount(amount);
         studentPaymentOrder.setActualAmount(amount);
         studentPaymentOrder.setStatus(DealStatusEnum.ING);
         studentPaymentOrder.setStatus(DealStatusEnum.ING);
-        studentPaymentOrder.setMusicGroupId(degreeRegistration.getSporadicId().toString());
+        if(Objects.nonNull(degreeRegistration.getSporadicId())){
+            studentPaymentOrder.setMusicGroupId(degreeRegistration.getSporadicId().toString());
+        }
         studentPaymentOrder.setOrganId(degreeRegistration.getOrganId());
         studentPaymentOrder.setOrganId(degreeRegistration.getOrganId());
         studentPaymentOrder.setRoutingOrganId(degreeRegistration.getOrganId());
         studentPaymentOrder.setRoutingOrganId(degreeRegistration.getOrganId());
         if (degreeRegistration.getTheoryMoney().compareTo(BigDecimal.ZERO) > 0) {
         if (degreeRegistration.getTheoryMoney().compareTo(BigDecimal.ZERO) > 0) {

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -216,7 +216,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = new ArrayList<MusicGroupPaymentStudentCourseDetail>();
 		List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = new ArrayList<MusicGroupPaymentStudentCourseDetail>();
 		MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
 		MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
 		for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
 		for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
-			if (courseSettings.getIsStudentOptional() == true) {
+			if (courseSettings.getIsStudentOptional() == true || courseSettings.getCourseTotalMinuties() == null || courseSettings.getCourseTotalMinuties() == 0) {
 				continue;
 				continue;
 			}
 			}
 			musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
 			musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
@@ -299,7 +299,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		//创建学生课排课分钟数
 		//创建学生课排课分钟数
 		for(Integer studentId : userIdList){
 		for(Integer studentId : userIdList){
 			for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
 			for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
-				if (courseSettings.getIsStudentOptional() == true) {
+				if (courseSettings.getIsStudentOptional() == true || courseSettings.getCourseTotalMinuties() == null || courseSettings.getCourseTotalMinuties() == 0) {
 					continue;
 					continue;
 				}
 				}
 				musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
 				musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
@@ -391,7 +391,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			//创建学生课排课分钟数
 			//创建学生课排课分钟数
 			for(Integer studentId : userIdList){
 			for(Integer studentId : userIdList){
 				for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
 				for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
-					if (courseSettings.getIsStudentOptional() == true) {
+					if (courseSettings.getIsStudentOptional() == true || courseSettings.getCourseTotalMinuties() == null || courseSettings.getCourseTotalMinuties() == 0) {
 						continue;
 						continue;
 					}
 					}
 					musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
 					musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();

+ 8 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -1118,13 +1118,13 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         List<MusicGroupPaymentCalenderCourseSettings> courseSettings = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupRegCalender.getId());
         List<MusicGroupPaymentCalenderCourseSettings> courseSettings = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupRegCalender.getId());
         BigDecimal courseTotalPrice = courseSettings.stream().filter(e -> orderDetailTypes.contains(e.getCourseType().getCode())).map(MusicGroupPaymentCalenderCourseSettings::getCourseCurrentPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
         BigDecimal courseTotalPrice = courseSettings.stream().filter(e -> orderDetailTypes.contains(e.getCourseType().getCode())).map(MusicGroupPaymentCalenderCourseSettings::getCourseCurrentPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
 
 
-        List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<MusicGroupPaymentCalenderDetail>();
         List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetails = new ArrayList<>();
         List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetails = new ArrayList<>();
         
         
 		for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenderList) {
 		for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenderList) {
 			MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
 			MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
 			musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
 			musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
 			musicGroupPaymentCalenderDetail.setUserId(studentPaymentOrder.getUserId());
 			musicGroupPaymentCalenderDetail.setUserId(studentPaymentOrder.getUserId());
+			musicGroupPaymentCalenderDetail.setResponsibleUserId(musicGroupPaymentCalender.getOperator());
 
 
 			if (currentPaymentCalenderId.longValue() == musicGroupPaymentCalender.getId()) {
 			if (currentPaymentCalenderId.longValue() == musicGroupPaymentCalender.getId()) {
 				musicGroupPaymentCalenderDetail.setExpectAmount(courseTotalPrice);
 				musicGroupPaymentCalenderDetail.setExpectAmount(courseTotalPrice);
@@ -1144,16 +1144,20 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 			musicGroupPaymentCalenderDetail.setCreateTime(nowDate);
 			musicGroupPaymentCalenderDetail.setCreateTime(nowDate);
 			musicGroupPaymentCalenderDetail.setUpdateTime(nowDate);
 			musicGroupPaymentCalenderDetail.setUpdateTime(nowDate);
 
 
-			musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
+			musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
 
 
 			List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao
 			List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao
 					.getWithPaymentCalender(musicGroupPaymentCalender.getId());
 					.getWithPaymentCalender(musicGroupPaymentCalender.getId());
 			for (MusicGroupPaymentCalenderCourseSettings courseSetting : courseSettingsList) {
 			for (MusicGroupPaymentCalenderCourseSettings courseSetting : courseSettingsList) {
 				if (musicGroupRegCalender.getPayUserType().equals(MusicGroupPaymentCalender.PayUserType.STUDENT)
 				if (musicGroupRegCalender.getPayUserType().equals(MusicGroupPaymentCalender.PayUserType.STUDENT)
-						&& !orderDetailTypes.contains(courseSetting.getCourseType().getCode()))
+						&& !orderDetailTypes.contains(courseSetting.getCourseType().getCode())){
 					continue;
 					continue;
+				}
+				if(courseSetting.getCourseTotalMinuties() == null || courseSetting.getCourseTotalMinuties() == 0){
+					continue;
+				}
 				MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
 				MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
-				musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupRegCalender.getId());
+				musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
 				musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(musicGroupPaymentCalenderDetail.getId());
 				musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(musicGroupPaymentCalenderDetail.getId());
 				musicGroupPaymentStudentCourseDetail.setUserId(studentPaymentOrder.getUserId());
 				musicGroupPaymentStudentCourseDetail.setUserId(studentPaymentOrder.getUserId());
 				musicGroupPaymentStudentCourseDetail.setCourseType(courseSetting.getCourseType());
 				musicGroupPaymentStudentCourseDetail.setCourseType(courseSetting.getCourseType());
@@ -1165,11 +1169,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 				musicGroupPaymentStudentCourseDetails.add(musicGroupPaymentStudentCourseDetail);
 				musicGroupPaymentStudentCourseDetails.add(musicGroupPaymentStudentCourseDetail);
 			}
 			}
 		}
 		}
-        
 
 
-        if(musicGroupPaymentCalenderDetailList.size()> 0){
-        	musicGroupPaymentCalenderDetailDao.batchInsert(musicGroupPaymentCalenderDetailList);
-        }
         if (musicGroupPaymentStudentCourseDetails.size() > 0) {
         if (musicGroupPaymentStudentCourseDetails.size() > 0) {
             musicGroupPaymentStudentCourseDetailDao.batchInsert(musicGroupPaymentStudentCourseDetails);
             musicGroupPaymentStudentCourseDetailDao.batchInsert(musicGroupPaymentStudentCourseDetails);
         }
         }

+ 2 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -32,6 +32,7 @@
 
 
 	<resultMap id="CourseScheduleStudentPaymentDto" type="com.ym.mec.biz.dal.entity.CourseScheduleStudentPaymentDto" extends="CourseScheduleStudentPayment">
 	<resultMap id="CourseScheduleStudentPaymentDto" type="com.ym.mec.biz.dal.entity.CourseScheduleStudentPaymentDto" extends="CourseScheduleStudentPayment">
 		<result column="course_status_" property="courseStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="course_status_" property="courseStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="course_start_time_" property="courseStartTime"/>
 	</resultMap>
 	</resultMap>
 
 
 	<!-- 根据主键查询一条记录 -->
 	<!-- 根据主键查询一条记录 -->
@@ -623,6 +624,7 @@
 	<select id="findNeedUpdateActualPriceStudentCourses" resultMap="CourseScheduleStudentPaymentDto">
 	<select id="findNeedUpdateActualPriceStudentCourses" resultMap="CourseScheduleStudentPaymentDto">
 		SELECT
 		SELECT
 			cssp.*,
 			cssp.*,
+			CONCAT(cs.class_date_,' ',cs.start_class_time_) course_start_time_,
 			cs.status_ course_status_
 			cs.status_ course_status_
 		FROM
 		FROM
 			course_schedule_student_payment cssp
 			course_schedule_student_payment cssp

+ 15 - 12
mec-student/src/main/java/com/ym/mec/student/controller/DegreeController.java

@@ -72,24 +72,27 @@ public class DegreeController extends BaseController {
         }
         }
         degreeRegistration.setUserId(user.getId());
         degreeRegistration.setUserId(user.getId());
 
 
-        IdcardValidator idcardValidator = new IdcardValidator();
-        if (!idcardValidator.isValidatedAllIdcard(degreeRegistration.getIdcard())) {
-            throw new BizException("身份证号不正确,请核对");
+        if(Objects.nonNull(degreeRegistration.getSporadicId())&&Objects.nonNull(degreeRegistration.getTheoryLevel())){
+            IdcardValidator idcardValidator = new IdcardValidator();
+            if (!idcardValidator.isValidatedAllIdcard(degreeRegistration.getIdcard())) {
+                throw new BizException("身份证号不正确,请核对");
+            }
+            SporadicChargeInfo info = sporadicChargeInfoDao.get(degreeRegistration.getSporadicId());
+            if (info == null || info.getDelFlag().equals(1)) {
+                return failed("报名信息不存在");
+            }
+            if (info.getOrganId() != 42 || !info.getChargeType().equals(SporadicChargeTypeEnum.LEVEL)) {
+                return failed("报名信息不存在");
+            }
+        }else{
+            degreeRegistration.setOrganId(user.getOrganId());
         }
         }
 
 
         if(Objects.isNull(degreeRegistration.getOrganId())){
         if(Objects.isNull(degreeRegistration.getOrganId())){
             return failed("该分部暂未参与此活动");
             return failed("该分部暂未参与此活动");
         }
         }
 
 
-        SporadicChargeInfo info = sporadicChargeInfoDao.get(degreeRegistration.getSporadicId());
-        if (info == null || info.getDelFlag().equals(1)) {
-            return failed("报名信息不存在");
-        }
-        if (info.getOrganId() != 42 || !info.getChargeType().equals(SporadicChargeTypeEnum.LEVEL)) {
-            return failed("报名信息不存在");
-        }
-
-        DegreeRegistration degree = degreeRegistrationDao.findByMobileAndSporadicId(degreeRegistration.getMobile(), degreeRegistration.getSporadicId());
+        DegreeRegistration degree = degreeRegistrationDao.getWithUserIdAndActivityTag(user.getId(), DegreeRegistrationService.ACTIVITY_TAG);
 
 
         if (!degreeRegistration.getIsRepay() && degree != null && degree.getStatus().equals(1)) {
         if (!degreeRegistration.getIsRepay() && degree != null && degree.getStatus().equals(1)) {
             Integer ingOrder = studentPaymentOrderService.findOrderByGroupType(degree.getId(), degreeRegistration.getSporadicId(), "SPORADIC", DealStatusEnum.ING);
             Integer ingOrder = studentPaymentOrderService.findOrderByGroupType(degree.getId(), degreeRegistration.getSporadicId(), "SPORADIC", DealStatusEnum.ING);

+ 4 - 2
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -136,8 +136,10 @@ public class StudentOrderController extends BaseController {
             VipBuyResultDto vipBuyResultInfo = vipGroupService.findVipBuyResultInfo(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
             VipBuyResultDto vipBuyResultInfo = vipGroupService.findVipBuyResultInfo(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
             orderDetail.put("detail", vipBuyResultInfo);
             orderDetail.put("detail", vipBuyResultInfo);
         } else if (orderByOrderNo.getGroupType().equals(GroupType.SPORADIC)) {
         } else if (orderByOrderNo.getGroupType().equals(GroupType.SPORADIC)) {
-            SporadicChargeInfo info = sporadicChargeInfoService.get(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
-            orderDetail.put("detail", info);
+            if(Objects.nonNull(orderByOrderNo.getMusicGroupId())){
+                SporadicChargeInfo info = sporadicChargeInfoService.get(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
+                orderDetail.put("detail", info);
+            }
             if (orderByOrderNo.getType().equals(OrderTypeEnum.DOUBLE_ELEVEN2020)) {
             if (orderByOrderNo.getType().equals(OrderTypeEnum.DOUBLE_ELEVEN2020)) {
                 LuckDrawCount luckDrawCount = luckDrawCountService.get(orderByOrderNo.getUserId().longValue());
                 LuckDrawCount luckDrawCount = luckDrawCountService.get(orderByOrderNo.getUserId().longValue());
                 orderDetail.put("drawTimes", luckDrawCount==null? 0: luckDrawCount.getAvailableCount());
                 orderDetail.put("drawTimes", luckDrawCount==null? 0: luckDrawCount.getAvailableCount());