Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 năm trước cách đây
mục cha
commit
6053a679b8

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -176,4 +176,13 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
      */
     int checkStudentHaveCourse(@Param("courseScheduleId") Long courseScheduleId,
                                @Param("userId") Integer userId);
+
+    /**
+     * @describe 查询指定课程的学生缴费记录
+     * @author Joburgess
+     * @date 2020/1/10
+     * @param courseScheduleId: 课程编号
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment>
+     */
+    List<CourseScheduleStudentPayment> findByCourseSchedule(@Param("courseScheduleId") Long courseScheduleId);
 }

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
 import com.ym.mec.biz.dal.enums.VipGroupActivityTypeEnum;
 import com.ym.mec.biz.dal.enums.VipGroupStatusEnum;
@@ -165,13 +166,32 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 				return;
 			}
 			studentsWithClassGroup.forEach(classGroupStudent->{
+				VipGroup vipGroup=null;
+				if(classGroupStudent.getGroupType().equals(GroupType.VIP)){
+					vipGroup=vipGroupDao.get(Long.valueOf(classGroupStudent.getMusicGroupId()));
+				}
 				for (CourseSchedule courseSchedule : courseSchedulesByClassGroup) {
 					int i = courseScheduleStudentPaymentDao.checkStudentHaveCourse(courseSchedule.getId(), classGroupStudent.getUserId());
 					if(i>0){
 						continue;
 					}
 					if(courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.VIP)){
-						
+						CourseScheduleStudentPayment courseScheduleStudentPayment=new CourseScheduleStudentPayment(
+								courseSchedule.getId(),
+								classGroupStudent.getUserId(),
+								courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)?vipGroup.getOnlineClassesUnitPrice():vipGroup.getOfflineClassesUnitPrice(),
+								courseSchedule.getClassGroupId()
+						);
+						courseScheduleStudentPayment.setGroupType(classGroupStudent.getGroupType());
+						courseScheduleStudentPayment.setMusicGroupId(classGroupStudent.getMusicGroupId());
+						List<CourseScheduleStudentPayment> otherPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseSchedule.getId());
+						if(!CollectionUtils.isEmpty(otherPayments)){
+							courseScheduleStudentPayment.setExpectPrice(otherPayments.get(0).getExpectPrice());
+						}
+						if(Objects.isNull(courseScheduleStudentPayment.getExpectPrice())){
+							courseScheduleStudentPayment.setExpectPrice(zeroPrice);
+						}
+						courseScheduleStudentPayments.add(courseScheduleStudentPayment);
 					}else{
 						CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment(
 								courseSchedule.getId(),

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -229,8 +229,11 @@
     <select id="checkStudentHaveCourse" resultType="int">
 		SELECT COUNT(id_) FROM course_schedule_student_payment WHERE course_schedule_id_=#{courseScheduleId} AND user_id_=#{userId}
 	</select>
+	<select id="findByCourseSchedule" resultMap="CourseScheduleStudentPayment">
+		SELECT * FROM course_schedule_student_payment WHERE  course_schedule_id_ = #{courseScheduleId}
+	</select>
 
-    <delete id="deleteStudentCourseSchedule">
+	<delete id="deleteStudentCourseSchedule">
 		DELETE FROM course_schedule_student_payment WHERE user_id_ = #{userId} AND course_schedule_id_ IN
 		<foreach collection="courseScheduleList" item="courseSchedule" index="index" open="(" close=")" separator=",">
 			#{courseSchedule.id}