소스 검색

Merge remote-tracking branch 'origin/master'

周箭河 5 년 전
부모
커밋
e86686d2f7
16개의 변경된 파일228개의 추가작업 그리고 40개의 파일을 삭제
  1. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java
  2. 6 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDetailDao.java
  3. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupStudentFeeDao.java
  4. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentEduTeacherDto.java
  5. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentExercisesSituationDto.java
  6. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderDetailService.java
  7. 21 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java
  8. 12 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/OnlineMusicGroupServiceImpl.java
  9. 19 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java
  10. 45 13
      mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml
  11. 14 4
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml
  12. 6 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupStudentFeeMapper.xml
  13. 4 0
      mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java
  14. 5 0
      mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java
  15. 19 0
      mec-task/src/main/java/com/ym/mec/task/jobs/RefreshUserMusicGroupPaymentStatusTask.java
  16. 9 0
      mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java

@@ -377,5 +377,5 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
      * @param studentIds
      * @return
      */
-    List<Map<Integer, Integer>> getStudentEducationalTeachers(@Param("studentIds") List<Integer> studentIds);
+    List<StudentEduTeacherDto> getStudentEducationalTeachers(@Param("studentIds") List<Integer> studentIds);
 }

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDetailDao.java

@@ -69,10 +69,15 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 	List<MusicGroupPaymentCalenderDetail> queryCanOpenList(@Param("ids") String ids);
 
 	/**
-	 * 当前用户所在乐团
+	 * 当前用户是否有进行中的订单
 	 * @param musicGroupId
 	 * @param userId
 	 * @return
 	 */
 	int queryIntersectionByPaymentDate(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId);
+
+	/**
+	 * 刷新学员乐团付费状态
+	 */
+	void refreshUserMusicGroupPaymentStatusTask();
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupStudentFeeDao.java

@@ -5,6 +5,7 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.dto.UpdateStudentFeeDto;
@@ -175,4 +176,10 @@ public interface MusicGroupStudentFeeDao extends BaseDAO<Long, MusicGroupStudent
 	 * @param courseFee
 	 */
     void batchUpdateCourseFee(@Param("ids") String ids, @Param("courseFee") BigDecimal courseFee);
+
+	/**
+	 * 将乐团的学生缴费状态设置为未缴费
+	 * @param calenderDetails
+	 */
+	void setNoPayment(@Param("calenderDetails") List<MusicGroupPaymentCalenderDetail> calenderDetails);
 }

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentEduTeacherDto.java

@@ -0,0 +1,34 @@
+package com.ym.mec.biz.dal.dto;
+
+public class StudentEduTeacherDto {
+
+    private Integer studentId;
+
+    private Integer educationalTeacherId;
+
+    private String educationalTeacherName;
+
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
+
+    public Integer getEducationalTeacherId() {
+        return educationalTeacherId;
+    }
+
+    public void setEducationalTeacherId(Integer educationalTeacherId) {
+        this.educationalTeacherId = educationalTeacherId;
+    }
+
+    public String getEducationalTeacherName() {
+        return educationalTeacherName;
+    }
+
+    public void setEducationalTeacherName(String educationalTeacherName) {
+        this.educationalTeacherName = educationalTeacherName;
+    }
+}

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentExercisesSituationDto.java

@@ -18,6 +18,26 @@ public class StudentExercisesSituationDto extends StudentExtracurricularExercise
 
     private Integer existPracticeCourse;
 
+    private Integer educationalTeacherId;
+
+    private String educationalTeacherName;
+
+    public Integer getEducationalTeacherId() {
+        return educationalTeacherId;
+    }
+
+    public void setEducationalTeacherId(Integer educationalTeacherId) {
+        this.educationalTeacherId = educationalTeacherId;
+    }
+
+    public String getEducationalTeacherName() {
+        return educationalTeacherName;
+    }
+
+    public void setEducationalTeacherName(String educationalTeacherName) {
+        this.educationalTeacherName = educationalTeacherName;
+    }
+
     public Integer getExistPracticeCourse() {
         return existPracticeCourse;
     }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderDetailService.java

@@ -30,4 +30,10 @@ public interface MusicGroupPaymentCalenderDetailService extends BaseService<Long
      * @return
      */
     List<SimpleUserDto> findMusicGroupStudentWithSubject(String musicGroupId,Integer subjectId);
+
+    /**
+     * 刷新学员乐团付费状态
+     */
+    void refreshUserMusicGroupPaymentStatusTask();
+
 }

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

@@ -1,12 +1,15 @@
 package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao;
+import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.service.MusicGroupPaymentCalenderDetailService;
+import com.ym.mec.biz.service.MusicGroupStudentFeeService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -30,8 +33,12 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 	@Autowired
 	private MusicGroupPaymentCalenderDetailDao musicGroupPaymentCalenderDetailDao;
 	@Autowired
+	private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
+	@Autowired
 	private MusicGroupDao musicGroupDao;
 	@Autowired
+	private MusicGroupStudentFeeDao musicGroupStudentFeeDao;
+	@Autowired
 	private SysMessageService sysMessageService;
 
 	@Override
@@ -74,15 +81,19 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			return;
 		}
 		Date date = new Date();
-		/*Iterator<MusicGroupPaymentCalenderDetail> iterator = calenderDetails.iterator();
+		Iterator<MusicGroupPaymentCalenderDetail> iterator = calenderDetails.iterator();
 		MusicGroupPaymentCalenderDetail next;
 		while(iterator.hasNext()){
 			next = iterator.next();
+			int count1 = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(next.getMusicGroupId(),date,date);
 			int count = musicGroupPaymentCalenderDetailDao.queryIntersectionByPaymentDate(next.getMusicGroupId(),next.getUserId());
-			if(count > 0){
+			if(count > 0 || count1 > 0){
 				iterator.remove();
 			}
-		}*/
+		}
+		if(calenderDetails.size() == 0){
+			return;
+		}
 		String musicGroupId = calenderDetails.get(0).getMusicGroupId();
 		calenderDetails.forEach(e->{
 			e.setUpdateTime(date);
@@ -92,6 +103,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			e.setDeadlinePaymentDate(date);
 		});
 		musicGroupPaymentCalenderDetailDao.batchUpdate(calenderDetails);
+		//修改学员缴费状态为未缴费
+		musicGroupStudentFeeDao.setNoPayment(calenderDetails);
 		Set<Integer> studentIds = calenderDetails.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
 		//推送消息
 		if (studentIds.size() > 0) {
@@ -113,4 +126,9 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		}
 		return musicGroupPaymentCalenderDetailDao.findMusicGroupStudentWithSubject(musicGroupId, subjectId);
 	}
+
+	@Override
+	public void refreshUserMusicGroupPaymentStatusTask() {
+		musicGroupPaymentCalenderDetailDao.refreshUserMusicGroupPaymentStatusTask();
+	}
 }

+ 12 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OnlineMusicGroupServiceImpl.java

@@ -353,8 +353,7 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
         }
 
         for (ExtendTeacherBasicDto organAndSubjectTeacher : organAndSubjectTeachers) {
-            if (!includeTeacherIds.contains(organAndSubjectTeacher.getId())
-                    && 1 == organAndSubjectTeacher.getIsSupportExtraPracticeLesson()) {
+            if (!includeTeacherIds.contains(organAndSubjectTeacher.getId())) {
                 includeTeacherIds.add(organAndSubjectTeacher.getId());
             }
         }
@@ -587,12 +586,17 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
                     tempDates = new ArrayList<>(allTeacherFreeDates);
                 }
                 tempDates.sort(Comparator.comparing(Date::getTime));
-                Set<String> days = tempDates.stream()
-                        .map(date -> DateUtil.dateToString(date, "yyyy-MM-dd")).collect(Collectors.toSet());
-                List<Date> tempDays = days.stream().map(dateStr -> DateUtil.stringToDate(dateStr, "yyyy-MM-dd")).collect(Collectors.toList());
-                tempDays.sort(Comparator.comparing(Date::getTime));
-                result.put("teacherFreeDays", tempDays.stream().map(day -> DateUtil.dateToString(day, "yyyy-MM-dd")).collect(Collectors.toList()));
-                result.put("teacherFreeDates", tempDates);
+                Map<String, List<String>> rt=new HashMap<>();
+                for (Date tempDate : tempDates) {
+                    String dateStr = DateUtil.dateToString(tempDate, "yyyy-MM-dd");
+                    String timeStr = DateUtil.dateToString(tempDate, "HH:mm:ss");
+                    if(!rt.containsKey(dateStr)){
+                        rt.put(dateStr, new ArrayList<>());
+                    }
+                    rt.get(dateStr).add(timeStr);
+                }
+
+                result.put("teacherFreeDays", rt);
             } else {
                 result.put("teacherFreeDays", new ArrayList<>());
             }
@@ -721,10 +725,6 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
                 }
                 rt.get(dateStr).add(timeStr);
             }
-            Set<String> days = tempDates.stream()
-                    .map(date -> DateUtil.dateToString(date, "yyyy-MM-dd")).collect(Collectors.toSet());
-            List<Date> tempDays = days.stream().map(dateStr -> DateUtil.stringToDate(dateStr, "yyyy-MM-dd")).collect(Collectors.toList());
-            tempDays.sort(Comparator.comparing(Date::getTime));
 
             result.put("teacherFreeDays", rt);
         }

+ 19 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java

@@ -1,9 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.ExtracurricularExercisesReplyDao;
-import com.ym.mec.biz.dal.dao.StudentExtracurricularExercisesSituationDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.StudentEduTeacherDto;
 import com.ym.mec.biz.dal.dto.StudentExercisesSituationDto;
 import com.ym.mec.biz.dal.dto.StudentServiceDetailDto;
 import com.ym.mec.biz.dal.entity.StudentExtracurricularExercisesSituation;
@@ -18,6 +16,7 @@ import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.time.DayOfWeek;
 import java.time.LocalDate;
@@ -37,6 +36,8 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 	private CourseScheduleDao courseScheduleDao;
 	@Autowired
 	private TeacherDao teacherDao;
+	@Autowired
+	private ClassGroupStudentMapperDao classGroupStudentMapperDao;
 
 	@Override
 	public BaseDAO<Long, StudentExtracurricularExercisesSituation> getDAO() {
@@ -63,12 +64,21 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 
 			List<Map<Integer, Long>> studentPracticeCoursesMaps = courseScheduleDao.countStudentPayPracticeCoursesWithDate(studentIds, queryInfo.getMonday(), queryInfo.getSunday());
 			Map<Integer, Long> studentPracticeCourseMap = MapUtil.convertIntegerMap(studentPracticeCoursesMaps);
+
+			List<StudentEduTeacherDto> studentEducationalTeachers = classGroupStudentMapperDao.getStudentEducationalTeachers(studentIds);
+			Map<Integer, List<StudentEduTeacherDto>> studentEduTeachersMap = studentEducationalTeachers.stream().collect(Collectors.groupingBy(StudentEduTeacherDto::getStudentId));
+
 			for (StudentExercisesSituationDto exercisesSituationDto : dataList) {
 				Long vipCourses=studentVipCourseMap.get(exercisesSituationDto.getStudentId());
 				exercisesSituationDto.setExistVipCourse(Objects.isNull(vipCourses)?0:vipCourses.intValue());
 				Long practiceCourses=studentPracticeCourseMap.get(exercisesSituationDto.getStudentId());
 				exercisesSituationDto.setExistPracticeCourse(Objects.isNull(practiceCourses)?0:practiceCourses.intValue());
 				exercisesSituationDto.setExpectExercisesNum((int) until+1);
+				List<StudentEduTeacherDto> studentEduTeachers = studentEduTeachersMap.get(exercisesSituationDto.getStudentId());
+				if(!CollectionUtils.isEmpty(studentEduTeachers)){
+					exercisesSituationDto.setEducationalTeacherId(studentEduTeachers.get(0).getEducationalTeacherId());
+					exercisesSituationDto.setEducationalTeacherName(studentEduTeachers.get(0).getEducationalTeacherName());
+				}
 			}
 		}
 		if (count == 0) {
@@ -90,11 +100,14 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 			pageInfo.setTotal(count);
 			params.put("offset", pageInfo.getOffset());
 			dataList = studentExtracurricularExercisesSituationDao.findExercisesSituations(params);
+			Map<Integer, Long> studentVipCourseMap=new HashMap<>();
 			if(Objects.isNull(queryInfo.getExistVipCourse())){
 				List<Integer> studentIds = dataList.stream().map(StudentExtracurricularExercisesSituation::getStudentId).collect(Collectors.toList());
 				List<Map<Integer, Long>> studentVipCoursesMaps = courseScheduleDao.countStudentVipCoursesWithDate(studentIds, queryInfo.getMonday(), queryInfo.getSunday(),GroupType.VIP);
-				Map<Integer, Long> studentVipCourseMap = MapUtil.convertIntegerMap(studentVipCoursesMaps);
-				for (StudentExercisesSituationDto exercisesSituationDto : dataList) {
+				studentVipCourseMap = MapUtil.convertIntegerMap(studentVipCoursesMaps);
+			}
+			for (StudentExercisesSituationDto exercisesSituationDto : dataList) {
+				if(Objects.isNull(queryInfo.getExistVipCourse())){
 					Long vipCourses=studentVipCourseMap.get(exercisesSituationDto.getStudentId());
 					if(Objects.isNull(vipCourses)||vipCourses<=0){
 						exercisesSituationDto.setExistVipCourse(0);

+ 45 - 13
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -454,20 +454,52 @@
             </if>
         </where>
     </select>
-    <select id="getStudentEducationalTeachers" resultType="java.util.Map">
-        SELECT t.user_id_ AS 'key',MAX(t.educational_teacher_id_) AS 'value'
-        FROM (
-        SELECT cgsm.user_id_, g.educational_teacher_id_ FROM class_group_student_mapper cgsm
-        LEFT JOIN music_group g ON cgsm.music_group_id_=g.id_
-        WHERE cgsm.group_type_='MUSIC'
+    <select id="getStudentEducationalTeachers" resultType="com.ym.mec.biz.dal.dto.StudentEduTeacherDto">
+        SELECT
+        t.user_id_ studentId,
+        t.educational_teacher_id_ educationalTeacherId,
+        su.username_ educationalTeacherName
+        FROM
+        (
+        SELECT
+        cgsm.user_id_,
+        g.educational_teacher_id_
+        FROM
+        class_group_student_mapper cgsm
+        LEFT JOIN music_group g ON cgsm.music_group_id_ = g.id_
+        WHERE
+        cgsm.group_type_ = 'MUSIC'
+        AND cgsm.user_id_ IN
+        <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
+            #{studentId}
+        </foreach>
         UNION ALL
-        SELECT cgsm.user_id_, g.educational_teacher_id_ FROM class_group_student_mapper cgsm
-        LEFT JOIN vip_group g ON cgsm.music_group_id_=g.id_
-        WHERE cgsm.group_type_='VIP'
+        SELECT
+        cgsm.user_id_,
+        g.educational_teacher_id_
+        FROM
+        class_group_student_mapper cgsm
+        LEFT JOIN vip_group g ON cgsm.music_group_id_ = g.id_
+        WHERE
+        cgsm.group_type_ = 'VIP'
+        AND cgsm.user_id_ IN
+        <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
+            #{studentId}
+        </foreach>
         UNION ALL
-        SELECT cgsm.user_id_, g.educational_teacher_id_ FROM class_group_student_mapper cgsm
-        LEFT JOIN practice_group g ON cgsm.music_group_id_=g.id_
-        WHERE cgsm.group_type_='PRACTICE'
-        ) t GROUP BY t.user_id_
+        SELECT
+        cgsm.user_id_,
+        g.educational_teacher_id_
+        FROM
+        class_group_student_mapper cgsm
+        LEFT JOIN practice_group g ON cgsm.music_group_id_ = g.id_
+        WHERE
+        cgsm.group_type_ = 'PRACTICE'
+        AND cgsm.user_id_ IN
+        <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
+            #{studentId}
+        </foreach>
+        ) t
+        LEFT JOIN sys_user su ON t.educational_teacher_id_=su.id_
     </select>
 </mapper>

+ 14 - 4
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml

@@ -106,6 +106,12 @@
 		<foreach collection="calenderDetails" item="item" index="index" open="" close="" separator=";">
 			UPDATE music_group_payment_calender_detail
 			<set>
+				<if test="item.startPaymentDate != null">
+					start_payment_date_ = #{item.startPaymentDate},
+				</if>
+				<if test="item.deadlinePaymentDate != null">
+					deadline_payment_date_ = #{item.deadlinePaymentDate},
+				</if>
 				<if test="item.open != null">
 					open_ = #{item.open},
 				</if>
@@ -137,6 +143,11 @@
 			WHERE id_ = #{item.id}
 		</foreach>
 	</update>
+	<update id="refreshUserMusicGroupPaymentStatusTask">
+		UPDATE music_group_payment_calender_detail mgpcd
+		SET mgpcd.open_ = 0,mgpcd.start_payment_date_ = NULL,mgpcd.deadline_payment_date_ = NULL
+		WHERE mgpcd.deadline_payment_date_ &lt; DATE_FORMAT(NOW(),'%Y-%m-%d')
+	</update>
 
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete">
@@ -208,7 +219,7 @@
 	</select>
 	<select id="sumActualAmount" resultType="java.math.BigDecimal">
 		SELECT SUM(mgpcd.actual_amount_) FROM music_group_payment_calender_detail mgpcd
-		WHERE mgpcd.music_group_payment_calender_id_ = #{id} AND mgpcd.payment_status_ = "PAID_COMPLETED"
+		WHERE mgpcd.music_group_payment_calender_id_ = #{id}
 	</select>
 
 	<select id="getUserLastCalenderDetail" resultMap="MusicGroupPaymentCalenderDetail">
@@ -222,14 +233,13 @@
 		SELECT mgpcd.*,mgpc.music_group_id_ FROM music_group_payment_calender_detail mgpcd
 		LEFT JOIN music_group_payment_calender mgpc ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
 		LEFT JOIN student_registration sr ON sr.music_group_id_ = mgpc.music_group_id_
-		WHERE mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpcd.open_ = 0 AND sr.music_group_status_ != 'QUIT'
+		WHERE mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpcd.open_ = 0 AND sr.music_group_status_ != 'QUIT' AND mgpc.payment_status_ = 'YES'
 		AND FIND_IN_SET(mgpcd.id_,#{ids})
 	</select>
 	<select id="queryIntersectionByPaymentDate" resultType="java.lang.Integer">
 		SELECT COUNT(mgpcd.id_) FROM music_group_payment_calender_detail mgpcd
 		LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
 		WHERE mgpc.music_group_id_ = #{musicGroupId} AND mgpcd.user_id_ = #{userId}
-		AND (mgpcd.start_payment_date_ BETWEEN NOW() AND NOW()
-		OR mgpcd.deadline_payment_date_ BETWEEN NOW() AND NOW())
+		AND  mgpcd.open_ = 1
 	</select>
 </mapper>

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupStudentFeeMapper.xml

@@ -274,4 +274,10 @@
         UPDATE music_group_student_fee_ mgsf SET mgsf.course_fee_ = #{courseFee}
         WHERE FIND_IN_SET(mgsf.id_,#{ids})
     </update>
+    <update id="setNoPayment">
+        <foreach collection="calenderDetails" item="item" index="index" open="" close="" separator=";">
+            UPDATE music_group_student_fee_ m SET m.payment_status_ = 'NON_PAYMENT'
+            WHERE m.music_group_id_ = #{item.musicGroupId} AND m.user_id_ = #{item.userId}
+        </foreach>
+    </update>
 </mapper>

+ 4 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -13,6 +13,10 @@ public interface TaskRemoteService {
 	// 刷新付费状态
 	public void refreshPaymentFeeStatus();
 
+	@GetMapping(value = "task/refreshUserMusicGroupPaymentStatusTask")
+	// 刷新学员乐团付费状态
+	public void refreshUserMusicGroupPaymentStatusTask();
+
 	@GetMapping(value = "task/vipGroupAwardedMonthlyRewards")
 	// vip课月度奖励
 	public void vipGroupAwardedMonthlyRewards();

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -17,6 +17,11 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	}
 
 	@Override
+	public void refreshUserMusicGroupPaymentStatusTask() {
+		logger.info("刷新学员乐团付费状态");
+	}
+
+	@Override
 	public void vipGroupAwardedMonthlyRewards() {
 		logger.info("vip课月度奖励的服务调用失败");
 	}

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/RefreshUserMusicGroupPaymentStatusTask.java

@@ -0,0 +1,19 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class RefreshUserMusicGroupPaymentStatusTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.refreshUserMusicGroupPaymentStatusTask();
+	}
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -65,6 +65,15 @@ public class TaskController extends BaseController {
 	@Autowired
 	private MusicGroupPaymentCalenderService musicGroupPaymentCalenderService;
 
+	@Autowired
+	private MusicGroupPaymentCalenderDetailService musicGroupPaymentCalenderDetailService;
+
+	@GetMapping(value = "/refreshUserMusicGroupPaymentStatusTask")
+	// 刷新学员乐团付费状态
+	public void refreshUserMusicGroupPaymentStatusTask(){
+		musicGroupPaymentCalenderDetailService.refreshUserMusicGroupPaymentStatusTask();
+	}
+
 	@GetMapping("/refreshPaymentFeeStatus")
 	// 刷新付费状态
 	public void refreshPaymentFeeStatus() {