소스 검색

Merge branch 'master' into test

Joburgess 4 년 전
부모
커밋
0b5e39df48

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -259,7 +259,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @Date: 2019/9/24
 	 * 课程交换
 	 */
-	void courseSwap(Long courseScheduleId1, Long courseScheduleId2);
+	void courseSwap(Long courseScheduleId1, Long courseScheduleId2, Boolean allowZeroSalary);
 
 	/**
 	 * @Author: Joburgess

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

@@ -3719,7 +3719,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void courseSwap(Long courseScheduleId1, Long courseScheduleId2) {
+    public void courseSwap(Long courseScheduleId1, Long courseScheduleId2, Boolean allowZeroSalary) {
         if (courseScheduleId1.equals(courseScheduleId2)) {
             throw new BizException("请选择不同的课程");
         }
@@ -3752,7 +3752,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         List<CourseSchedule> courseSchedules = new ArrayList<>();
         courseSchedules.add(courseSchedule1);
         courseSchedules.add(courseSchedule2);
-        classStartDateAdjust(courseSchedules);
+        courseAdjust(courseSchedules, allowZeroSalary);
     }
 
     @Override

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

@@ -206,6 +206,16 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			musicGroupPaymentCalenderCourseSettingsList = new ArrayList<>();
 		}
 
+		// 必须课程缴费金额为0时,报名、续费不能建多期
+		if(paymentType == MUSIC_APPLY || paymentType == MUSIC_RENEW){
+			BigDecimal noOptionalCoursePrice = musicGroupPaymentCalenderCourseSettingsList.stream()
+					.filter(e -> !e.getIsStudentOptional()).map(MusicGroupPaymentCalenderCourseSettings::getCourseCurrentPrice)
+					.reduce(BigDecimal.ZERO, BigDecimal::add);
+			if(noOptionalCoursePrice.compareTo(BigDecimal.ZERO) <= 0 && musicGroupPaymentDateRangeList.size() > 1){
+				throw new BizException("必选课程缴费金额为0时不支持多周期缴费");
+			}
+		}
+
 		if (payUserType == SCHOOL) {
 			status = AUDITING;
 		} else {

+ 8 - 6
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -166,7 +166,7 @@
 					 sr.user_id_
 				 FROM
 					 student_registration sr
-						 LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+					LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
 				 WHERE
 					 mg.status_ IN ( 'PREPARE', 'PROGRESS' )
 				   AND sr.music_group_status_ = 'NORMAL'
@@ -182,6 +182,7 @@
 				 cs.del_flag_ = 0
 			   AND ( cs.is_lock_ = 0 OR cs.is_lock_ IS NULL )
 			   AND ( cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_ )
+			   AND cssp.group_type_ IN ('VIP', 'PRACTICE')
 			   AND cs.organ_id_ IS NOT NULL
 			   AND DATE_FORMAT(cssp.create_time_, '%Y-%m-%d')&lt;=#{dayStr}
 			)) u
@@ -238,7 +239,7 @@
 			#{dayStr} month_,
 			COUNT( DISTINCT stu.user_id_ ) total_num_,
 			COUNT( DISTINCT (CASE WHEN DATE_FORMAT( spo.create_time_, '%Y-%m-%d' ) &lt;= #{dayStr} THEN spo.user_id_ ELSE NULL END) ) activate_num_,
-			TRUNCATE(COUNT(DISTINCT spo.user_id_)/COUNT(DISTINCT stu.user_id_)*100, 2) percent_
+			TRUNCATE(COUNT(DISTINCT (CASE WHEN DATE_FORMAT( spo.create_time_, '%Y-%m-%d' ) &lt;= #{dayStr} THEN spo.user_id_ ELSE NULL END))/COUNT(DISTINCT stu.user_id_)*100, 2) percent_
 		FROM
 			student stu
 			LEFT JOIN sys_user su ON stu.user_id_=su.id_
@@ -247,7 +248,7 @@
 			su.del_flag_=0
 			  AND su.organ_id_ IS NOT NULL
 			  AND su.user_type_ LIKE '%STUDENT%'
-			  AND DATE_FORMAT(su.create_time_, '%Y-%m-%d')&lt;=#{dayStr}
+			  AND DATE_FORMAT(stu.create_time_, '%Y-%m-%d')&lt;=#{dayStr}
 		GROUP BY organ_id_
 		ORDER BY organ_id_;
 	</select>
@@ -368,6 +369,7 @@
 			LEFT JOIN sys_user su ON su.id_ = t.id_
 		WHERE
 			su.del_flag_ = 0
+		  	AND (t.demission_date_ IS NULl OR DATE_FORMAT(t.demission_date_, '%Y-%m-%d') &gt; #{dayStr})
 		  	<if test="isDemission==null">
 				AND su.lock_flag_ = 0
 			</if>
@@ -401,7 +403,7 @@
 			AND (m.is_lock_ = 0 OR m.is_lock_ IS NULL)
 		  	AND m.status_ = #{courseStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 			AND (m.new_course_id_ IS NULL OR m.new_course_id_=m.id_)
-		  	AND m.group_type_!='DEMO'
+			AND NOT EXISTS (SELECT id_ FROM practice_group WHERE m.group_type_='PRACTICE' AND m.music_group_id_=id_ AND type_='TRIAL')
 			AND m.organ_id_ IS NOT NULL
 			<if test="groupType!=null">
 				AND m.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
@@ -429,7 +431,7 @@
 			AND (m.is_lock_ = 0 OR m.is_lock_ IS NULL)
 			AND m.status_ = #{courseStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 			AND (m.new_course_id_ IS NULL OR m.new_course_id_=m.id_)
-			AND m.group_type_!='DEMO'
+			AND NOT EXISTS (SELECT id_ FROM practice_group WHERE m.group_type_='PRACTICE' AND m.music_group_id_=id_ AND type_='TRIAL')
 			AND m.organ_id_ IS NOT NULL
 			<if test="groupType!=null">
 				AND m.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
@@ -454,7 +456,7 @@
 		m.del_flag_ = 0
 		AND (m.is_lock_ = 0 OR m.is_lock_ IS NULL)
 		AND (m.new_course_id_ IS NULL OR m.new_course_id_=m.id_)
-		AND m.group_type_!='DEMO'
+		AND NOT EXISTS (SELECT id_ FROM practice_group WHERE m.group_type_='PRACTICE' AND m.music_group_id_=id_ AND type_='TRIAL')
 		AND m.organ_id_ IS NOT NULL
 		<if test="groupType!=null">
 			AND m.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}

+ 2 - 5
mec-web/src/main/java/com/ym/mec/web/controller/TeacherLeaveRecordController.java

@@ -61,11 +61,8 @@ public class TeacherLeaveRecordController extends BaseController {
 
     @ApiOperation(value = "请假审核")
     @PostMapping("/approve")
-    public HttpResponseResult approve(Long id, Integer userId, AuditStatusEnum status, String remark, Boolean allowZeroSalary) {
-        if(Objects.isNull(allowZeroSalary)){
-            allowZeroSalary = false;
-        }
-        teacherLeaveRecordService.approve(id,userId,status,remark, allowZeroSalary);
+    public HttpResponseResult approve(Long id, Integer userId, AuditStatusEnum status, String remark) {
+        teacherLeaveRecordService.approve(id,userId,status,remark, true);
         return succeed();
     }
 }

+ 5 - 2
mec-web/src/main/java/com/ym/mec/web/controller/education/EducationCourseScheduleController.java

@@ -65,11 +65,14 @@ public class EducationCourseScheduleController extends BaseController {
 
     @ApiOperation(value = "课时交换")
     @PostMapping(value = "/courseSwap",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
-    public Object courseSwap(Long courseScheduleId1,Long courseScheduleId2){
+    public Object courseSwap(Long courseScheduleId1,Long courseScheduleId2, Boolean allowZeroSalary){
         if(Objects.isNull(courseScheduleId1)||Objects.isNull(courseScheduleId2)){
             return failed("请指定课程!");
         }
-        scheduleService.courseSwap(courseScheduleId1,courseScheduleId2);
+        if(Objects.isNull(allowZeroSalary)){
+            allowZeroSalary = false;
+        }
+        scheduleService.courseSwap(courseScheduleId1,courseScheduleId2,allowZeroSalary);
         return succeed();
     }
 }