浏览代码

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

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
zouxuan 5 年之前
父节点
当前提交
707ab007da
共有 18 个文件被更改,包括 172 次插入41 次删除
  1. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java
  2. 28 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PracticeGroupDao.java
  3. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroup.java
  4. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  5. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java
  6. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/PracticeGroupService.java
  7. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java
  8. 9 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  9. 49 24
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  10. 21 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java
  11. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java
  12. 4 1
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  13. 2 1
      mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml
  14. 22 0
      mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml
  15. 1 1
      mec-biz/src/main/resources/config/mybatis/StudentMapper.xml
  16. 5 0
      mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java
  17. 8 5
      mec-student/src/main/java/com/ym/mec/student/controller/ClassGroupController.java
  18. 1 2
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

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

@@ -714,10 +714,11 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param type
      * @return
      */
-    List<HighClassGroupDto> findHighClassGroupByTypeAndSubjectId(@Param("musicGroupId") String musicGroupId, @Param("subjectId") Integer subjectId, @Param("type") String type);
+    List<HighClassGroupDto> findHighClassGroupByTypeAndSubjectId(@Param("musicGroupId") String musicGroupId, @Param("subjectId") Integer subjectId, @Param("type") String type, @Param("classGroupIds") String classGroupIds);
 
     /**
      * 根据班级id获取基础技能班
+     *
      * @param musicGroupId
      * @param classGroupIds
      * @return

+ 28 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PracticeGroupDao.java

@@ -323,4 +323,32 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
      */
     int countStudentAndTeacherTrialPractices(@Param("studentId") Integer studentId,
                                              @Param("teacherId") Integer teacherId);
+
+    /**
+     * @describe 获取需要提醒续费网管课的用户列表
+     * @author Joburgess
+     * @date 2020.05.29
+     * @return java.util.List<com.ym.mec.biz.dal.entity.PracticeGroup>
+     */
+    List<Integer> getNeedRemindPracticeUsers();
+
+    /**
+     * @describe 获取用户和需要提醒的网管课map
+     * @author Joburgess
+     * @date 2020.05.29
+     * @param studentIds:
+     * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>
+     */
+    List<Map<Integer, String>> getUserNeedRemindPracticeIdMap(@Param("studentIds") List<Integer> studentIds);
+
+    /**
+     * @describe 批量修改网管课续费提醒状态
+     * @author Joburgess
+     * @date 2020.05.29
+     * @param practiceIds:
+     * @param remindStatus:
+     * @return int
+     */
+    int batchUpdatePracticeRemindStatus(@Param("practiceIds") List<Integer> practiceIds,
+                                        @Param("remindStatus") Integer remindStatus);
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroup.java

@@ -75,13 +75,13 @@ public class ClassGroup {
 
 	/** 班级类型(普通班级、合奏班级) */
 	@ApiModelProperty(value = "是否删除,1是 0否", required = false)
-	private Integer delFlag;
+	private Integer delFlag = 0;
 
 	@ApiModelProperty(value = "总统课次",required = false)
-	private Integer totalClassTimes;
+	private Integer totalClassTimes = 0;
 
 	@ApiModelProperty(value = "当前课次",required = false)
-	private Integer currentClassTimes;
+	private Integer currentClassTimes = 0;
 	
 	@ApiModelProperty(value = "班级图标",required = false)
 	private String img;

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -40,6 +40,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     PUSH_TEACHER_COURSE_COLLIDE("PUSH_TEACHER_COURSE_COLLIDE", "课程冲突"),
     PAY_PRACTICE_BUY_SUCCESS("PAY_PRACTICE_BUY_SUCCESS", "网管课购买成功"),
     PRACTICE_COMPLETED_STUDY_REPORT("PRACTICE_COMPLETED_STUDY_REPORT", "网管课完成学习报告"),
+    PRACTICE_RENEW_REMIND_PUSH("PRACTICE_RENEW_REMIND_PUSH", "网管课续费推送"),
     FREE_PRACTICE_APPLY_PUSH("FREE_PRACTICE_APPLY_PUSH", "免费陪练课预约推送"),
     STUDENT_PUSH_NAMES_ACHIEVE("STUDENT_PUSH_NAMES_ACHIEVE", "点名完成"),
     SCHEDULE_CHANGE("SCHEDULE_CHANGE", "课表变动"),

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

@@ -273,7 +273,7 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * 乐团筹备结束后,3.0乐团推送小班课缴费信息
 	 * @param musicGroupId
 	 */
-	void pushMessage(String musicGroupId, String classGroupIds) throws IOException;
+	int pushMessage(String musicGroupId, String classGroupIds) throws IOException;
 
 	/**
 	 * 补全musicGroupStudentFee表数据

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/PracticeGroupService.java

@@ -305,4 +305,11 @@ public interface PracticeGroupService extends BaseService<Long, PracticeGroup> {
      */
     boolean isPurchasedPracticeCourse(Integer userId);
 
+    /**
+     * @describe 网管课续费提醒
+     * @author Joburgess
+     * @date 2020.05.29
+     * @return void
+     */
+    void practiceGroupRenewRemind();
 }

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

@@ -3,12 +3,14 @@ package com.ym.mec.biz.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
 import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.biz.dal.dao.StudentDao;
 import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.biz.dal.dto.ClassGroupStudentInfoDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
@@ -52,6 +54,8 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
     private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
     @Autowired
     private TeacherDefaultMusicGroupSalaryService teacherDefaultMusicGroupSalaryService;
+    @Autowired
+    private StudentDao studentDao;
 
     private static String holidayUrl = "http://tool.bitefu.net/jiari/?d=";
 
@@ -293,6 +297,9 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 }
             }
             courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+
+            List<Integer> studentIds = userIdStrSet.stream().map(e -> Integer.parseInt(e)).collect(Collectors.toList());
+            studentDao.updateStudentServiceOrOperatingTag(null,studentIds, YesOrNoEnum.YES.getCode(),null);
         }
 
         //乐团在合奏班

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

@@ -132,6 +132,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     private TeacherDao teacherDao;
     @Autowired
 	private CourseScheduleReviewDao courseScheduleReviewDao;
+    @Autowired
+	private PracticeGroupService practiceGroupService;
 
     private final Logger LOGGER = LoggerFactory
             .getLogger(this.getClass());
@@ -3346,7 +3348,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             teacherAttendanceDao.updateViPSignOutStatus(courseScheduleIdList.stream().map(a -> a.toString()).collect(Collectors.joining(",")));
         }*/
 
-        return true;
+		try {
+			practiceGroupService.practiceGroupRenewRemind();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return true;
     }
 
     @Override

+ 49 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1039,35 +1039,60 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     }
 
     @Override
-    public void pushMessage(String musicGroupId, String classGroupIds) throws IOException {
+    public int pushMessage(String musicGroupId, String classGroupIds) throws IOException {
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
-            List<HighClassGroupDto> highClassGroup = classGroupDao.findHighClassGroup(musicGroupId, classGroupIds);
-            Set<ClassGroupTypeEnum> classGroupTypeSet = highClassGroup.stream().map(HighClassGroupDto::getType).collect(Collectors.toSet());
+        if (musicGroup.getOwnershipType() == null || musicGroup.getOwnershipType() != CooperationOrgan.OwnershipType.OWN) {
+            throw new BizException("三方乐团,不推送报名信息");
+        }
+        List<HighClassGroupDto> highClassGroup = classGroupDao.findHighClassGroup(musicGroupId, classGroupIds);
+        if(classGroupIds != null && !classGroupIds.isEmpty()){
+            highClassGroup =  highClassGroup.stream().filter(e->e.getTotalClassTimes().equals(0)).collect(Collectors.toList());
+        }
+        Set<ClassGroupTypeEnum> classGroupTypeSet = highClassGroup.stream().map(HighClassGroupDto::getType).collect(Collectors.toSet());
+        String HighClassGroupSubjectIds = highClassGroup.stream().filter(e -> e.getType().equals(ClassGroupTypeEnum.HIGH)).map(HighClassGroupDto::getSubjectIdList).collect(Collectors.joining(","));
+        String HighOnlineClassGroupSubjectIds = highClassGroup.stream().filter(e -> e.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE)).map(HighClassGroupDto::getMemo).collect(Collectors.joining(","));
+        if (!HighClassGroupSubjectIds.isEmpty() && !HighOnlineClassGroupSubjectIds.isEmpty()) {
+            HighClassGroupSubjectIds += "," + HighOnlineClassGroupSubjectIds;
+        } else {
+            HighClassGroupSubjectIds += HighOnlineClassGroupSubjectIds;
+        }
 
-            List<StudentRegistration> students = new ArrayList<>();
-            if (classGroupTypeSet.contains(ClassGroupTypeEnum.HIGH)) {
-                List<StudentRegistration> noHighClassGroupStudents = studentRegistrationService.findMusicGroupStuNoClassType(musicGroupId, ClassGroupTypeEnum.HIGH, null);
-                students.addAll(noHighClassGroupStudents);
-            }
-            if (classGroupTypeSet.contains(ClassGroupTypeEnum.HIGH_ONLINE)) {
-                List<StudentRegistration> noHighOnlineClassGroupStudents = studentRegistrationService.findMusicGroupStuNoClassType(musicGroupId, ClassGroupTypeEnum.HIGH_ONLINE, null);
-                students.addAll(noHighOnlineClassGroupStudents);
-            }
-            if (students.size() == 0) {
-                return;
-            }
-            Map<Integer, String> studentMap = new HashMap<>();
-            for (StudentRegistration student : students) {
-                studentMap.put(student.getUserId(), student.getUserId().toString());
+        String[] subjectIds = HighClassGroupSubjectIds.split(",");
+
+        List<StudentRegistration> students = new ArrayList<>();
+        if (classGroupTypeSet.contains(ClassGroupTypeEnum.HIGH)) {
+            List<StudentRegistration> noHighClassGroupStudents = studentRegistrationService.findMusicGroupStuNoClassType(musicGroupId, ClassGroupTypeEnum.HIGH, null);
+            students.addAll(noHighClassGroupStudents);
+        }
+        if (classGroupTypeSet.contains(ClassGroupTypeEnum.HIGH_ONLINE)) {
+            List<StudentRegistration> noHighOnlineClassGroupStudents = studentRegistrationService.findMusicGroupStuNoClassType(musicGroupId, ClassGroupTypeEnum.HIGH_ONLINE, null);
+            students.addAll(noHighOnlineClassGroupStudents);
+        }
+
+
+        Map<Integer, String> studentMap = new HashMap<>();
+        for (StudentRegistration student : students) {
+            if (!Arrays.asList(subjectIds).contains(student.getActualSubjectId().toString())) {
+                continue;
             }
+            studentMap.put(student.getUserId(), student.getUserId().toString());
+        }
 
-            String baseURL = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
-            String url = baseURL + "/#/smallRegister?musicGroupId=" + musicGroupId;
-            String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
-            sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
-                    studentMap, null, 0, "5?" + url, "STUDENT", musicGroup.getName(), HttpUtil.getSortUrl(url), serverPhone);
+        if (studentMap.size() == 0) {
+            throw new BizException("开启报名失败,没有可推送的学生");
         }
+
+        String baseURL = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
+        String url = baseURL + "/#/smallRegister?musicGroupId=" + musicGroupId;
+        classGroupIds =  highClassGroup.stream().map(e->e.getId().toString()).collect(Collectors.joining(","));
+        if(classGroupIds != null && !classGroupIds.isEmpty()){
+            url = baseURL + "/#/smallRegister?musicGroupId=" + musicGroupId+"&classGroupIds="+classGroupIds;
+        }
+        String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
+        sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
+                studentMap, null, 0, "5?" + url, "STUDENT", musicGroup.getName(), HttpUtil.getSortUrl(url), serverPhone);
+
+        return studentMap.size();
     }
 
 //    @Override

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -2114,6 +2114,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             }
         }
 
+        studentDao.updateStudentServiceOrOperatingTag(practiceGroup.getStudentId(),null,YesOrNoEnum.YES.getCode(),null);
+
         List<ImGroupMember> imGroupMemberList = new ArrayList<>();
         if(Objects.nonNull(practiceGroup.getEducationalTeacherId())){
             imGroupMemberList.add(new ImGroupMember(practiceGroup.getEducationalTeacherId().toString()));
@@ -3716,4 +3718,23 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 		}
 		return false;
 	}
+
+    @Override
+    public void practiceGroupRenewRemind() {
+        List<Integer> needRemindStudentIds = practiceGroupDao.getNeedRemindPracticeUsers();
+        List<Map<Integer, String>> userNeedRemindPracticeIdMaps = practiceGroupDao.getUserNeedRemindPracticeIdMap(needRemindStudentIds);
+        if(!CollectionUtils.isEmpty(userNeedRemindPracticeIdMaps)){
+            Map<Integer, String> userNeedRemindPracticeIdMap = MapUtil.convertIntegerMap(userNeedRemindPracticeIdMaps);
+            String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
+            String pushUrl = baseApiUrl + "/#/auditionActive/1?groupId=";
+            for (Map.Entry<Integer, String> integerStringEntry : userNeedRemindPracticeIdMap.entrySet()) {
+                Map<Integer, String> userMap = new HashMap<>();
+                userMap.put(integerStringEntry.getKey(), integerStringEntry.getKey().toString());
+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PRACTICE_RENEW_REMIND_PUSH,
+                        userMap, null, 0, "5?" + pushUrl + integerStringEntry.getValue(), "STUDENT");
+            }
+            List<Integer> practiceIds = userNeedRemindPracticeIdMap.values().stream().map(e->Integer.valueOf(e)).collect(Collectors.toList());
+            practiceGroupDao.batchUpdatePracticeRemindStatus(practiceIds, YesOrNoEnum.YES.getCode());
+        }
+    }
 }

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

@@ -74,7 +74,7 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 				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);
+//				exercisesSituationDto.setExpectExercisesNum((int) until+1);
 				List<StudentEduTeacherDto> studentEduTeachers = studentEduTeachersMap.get(exercisesSituationDto.getStudentId());
 				if(!CollectionUtils.isEmpty(studentEduTeachers)){
 					List<StudentEduTeacherDto> t1 = studentEduTeachers.stream().filter(set -> set.getGroupType().equals(GroupType.VIP.getCode())||set.getGroupType().equals(GroupType.PRACTICE.getCode())).collect(Collectors.toList());

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

@@ -1281,7 +1281,10 @@
         <if test="subjectId != null and type=='HIGH_ONLINE'">
             AND FIND_IN_SET(#{subjectId},memo_)
         </if>
-        AND type_ = #{type} AND total_class_times_=0 AND del_flag_='0';
+        <if test="classGroupIds != null">
+            AND FIND_IN_SET(id_,#{classGroupIds})
+        </if>
+        AND type_ = #{type} AND del_flag_='0';
     </select>
 
     <select id="findHighClassGroup" resultMap="HighClassGroup">

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -270,8 +270,9 @@
 
     <!-- 查询班级某状态的所有学生 -->
     <select id="findClassStudentList" resultMap="com.ym.mec.biz.dal.dao.StudentRegistrationDao.StudentRegistration">
-        SELECT sr.* FROM class_group_student_mapper cgsm
+        SELECT sr.*,su.username_ FROM class_group_student_mapper cgsm
         LEFT JOIN student_registration sr ON (sr.user_id_ = cgsm.user_id_ AND sr.music_group_id_ = cgsm.music_group_id_)
+        LEFT JOIN sys_user su on sr.user_id_ = su.id_
         WHERE cgsm.class_group_id_ = #{classGroupId} AND sr.music_group_status_ != 'QUIT'
         AND cgsm.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
     </select>

+ 22 - 0
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -109,6 +109,12 @@
     <update id="updateMemo">
         UPDATE practice_group SET memo_ = #{memo},update_time_ = NOW() WHERE id_ = #{groupId}
     </update>
+    <update id="batchUpdatePracticeRemindStatus">
+        UPDATE practice_group SET reminded=#{remindStatus} WHERE id_ IN
+        <foreach collection="practiceIds" item="practiceId" separator="," open="(" close=")">
+            #{practiceId}
+        </foreach>
+    </update>
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="PracticeGroup">
@@ -684,4 +690,20 @@
       SELECT COUNT(pg.id_) FROM practice_group pg LEFT JOIN course_schedule cs ON cs.music_group_id_=pg.id_
       WHERE pg.student_id_=#{studentId} AND pg.type_='TRIAL' AND cs.group_type_='PRACTICE' AND CONCAT(cs.class_date_, ' ', cs.end_class_time_)>NOW()
     </select>
+    <select id="getNeedRemindPracticeUsers" resultType="int">
+        SELECT pg.student_id_ FROM practice_group pg
+        LEFT JOIN course_schedule cs ON cs.music_group_id_=pg.id_
+        WHERE pg.group_status_='NORMAL' AND cs.group_type_='PRACTICE' AND CONCAT(class_date_, ' ', end_class_time_)>NOW()
+        GROUP BY pg.student_id_ HAVING COUNT(cs.id_)=1;
+    </select>
+    <select id="getUserNeedRemindPracticeIdMap" resultType="map">
+        SELECT cssp.user_id_ AS 'key', cssp.music_group_id_ AS 'value' FROM course_schedule_student_payment cssp
+        LEFT JOIN course_schedule cs ON cs.id_=cssp.course_schedule_id_
+        LEFT JOIN practice_group pg ON pg.id_=cssp.music_group_id_
+        WHERE pg.reminded=0 AND cs.group_type_='PRACTICE' AND CONCAT(class_date_, ' ', end_class_time_)>NOW()
+        AND cssp.user_id_ IN
+        <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
+            #{studentId}
+        </foreach>
+    </select>
 </mapper>

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

@@ -366,7 +366,7 @@
             LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = s.user_id_
             LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
             AND CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) &gt; #{monday}
-            AND cs.group_type_ IN ( 'MUSIC', 'PRACTICE' )
+            AND (cs.group_type_ = 'PRACTICE' OR (cs.group_type_='MUSIC' AND cs.teach_mode_='OFFLINE')  )
         WHERE
             s.service_tag_ = 1
         GROUP BY

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

@@ -1,5 +1,9 @@
 package com.ym.mec.task;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
 import com.ym.mec.common.config.FeignConfiguration;
 import com.ym.mec.task.fallback.TaskRemoteServiceFallback;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -120,4 +124,5 @@ public interface TaskRemoteService {
 	// 更新乐团缴费日历的状态
 	@GetMapping("task/updateMusicGroupPaymentCalenderStatus")
 	void updateMusicGroupPaymentCalenderStatus();
+
 }

+ 8 - 5
mec-student/src/main/java/com/ym/mec/student/controller/ClassGroupController.java

@@ -74,8 +74,10 @@ public class ClassGroupController extends BaseController {
 
     @ApiOperation(value = "用户声部小班课列表")
     @GetMapping("/highClassGroups")
-    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "String")})
-    public HttpResponseResult getHighClassGroup(String musicGroupId) {
+    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "classGroupIds", value = "班级ids", required = true, dataType = "String")}
+    )
+    public HttpResponseResult getHighClassGroup(String musicGroupId,String classGroupIds) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         Integer userId = sysUser.getId();
         StudentRegistration studentRegistration = studentRegistrationService.queryByUserIdAndMusicGroupId(userId, musicGroupId);
@@ -85,13 +87,14 @@ public class ClassGroupController extends BaseController {
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
         Map<String, Object> classGroupAndStatusMap = new HashMap<>();
         List<HighClassGroupDto> highClassGroups = new ArrayList<>();
-        if (musicGroup.getStatus().equals(MusicGroupStatusEnum.PROGRESS)) {
-            highClassGroups = classGroupDao.findHighClassGroupByTypeAndSubjectId(musicGroupId, studentRegistration.getActualSubjectId(), "HIGH");
-            List<HighClassGroupDto> highOnlineClassGroup = classGroupDao.findHighClassGroupByTypeAndSubjectId(musicGroupId, studentRegistration.getActualSubjectId(), "HIGH_ONLINE");
+        if (classGroupIds != null && !classGroupIds.isEmpty()) {
+            highClassGroups = classGroupDao.findHighClassGroupByTypeAndSubjectId(musicGroupId, studentRegistration.getActualSubjectId(), "HIGH",classGroupIds);
+            List<HighClassGroupDto> highOnlineClassGroup = classGroupDao.findHighClassGroupByTypeAndSubjectId(musicGroupId, studentRegistration.getActualSubjectId(), "HIGH_ONLINE",classGroupIds);
             highClassGroups.addAll(highOnlineClassGroup);
         } else {
             highClassGroups = classGroupService.findClassGroupByMusicGroupIdAndSubjectId(musicGroupId, studentRegistration.getActualSubjectId());
         }
+
         List<ClassGroupStudentMapper> ClassGroupStudentMapper = classGroupStudentMapperDao.findHighClassGroupHasUser(musicGroupId, userId, ClassGroupTypeEnum.HIGH);
         List<ClassGroupStudentMapper> highOnlineClassGroupStudentMapper = classGroupStudentMapperDao.findHighClassGroupHasUser(musicGroupId, userId, ClassGroupTypeEnum.HIGH_ONLINE);
         classGroupAndStatusMap.put("highClassGroups", highClassGroups);

+ 1 - 2
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -145,8 +145,7 @@ public class MusicGroupController extends BaseController {
 		if(StringUtils.isEmpty(musicGroupId)){
 			throw new BizException("参数校验错误");
 		}
-		musicGroupService.pushMessage(musicGroupId,classGroupIds);
-		return succeed();
+		return succeed(	musicGroupService.pushMessage(musicGroupId,classGroupIds));
 	}
 
 	@ApiOperation(value = "根据乐团ids获取乐团列表")