Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 years ago
parent
commit
395acb82f1
23 changed files with 167 additions and 58 deletions
  1. 1 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysMenuServiceImpl.java
  2. 2 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SchoolDao.java
  3. 15 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectDao.java
  4. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java
  5. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java
  6. 2 3
      mec-biz/src/main/java/com/ym/mec/biz/service/SchoolService.java
  7. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java
  8. 2 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  9. 28 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolServiceImpl.java
  11. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  12. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  13. 15 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  14. 5 0
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  15. 2 1
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  16. 1 1
      mec-biz/src/main/resources/config/mybatis/DemoGroupMapper.xml
  17. 12 1
      mec-biz/src/main/resources/config/mybatis/SchoolMapper.xml
  18. 21 20
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml
  19. 1 1
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml
  20. 19 0
      mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml
  21. 3 5
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  22. 2 2
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherSchoolController.java
  23. 7 1
      mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java

+ 1 - 2
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysMenuServiceImpl.java

@@ -43,8 +43,7 @@ public class SysMenuServiceImpl extends BaseServiceImpl<Integer, SysMenu>  imple
 	public List<SysMenu> findByUser(MenuQueryInfo menuQueryInfo) {
 		SysUser sysUser = sysUserDao.get(menuQueryInfo.getUserId());
 		List<SysMenu> sysMenus = null;
-//		if(sysUser.getUserType() == SysUserType.ADMIN){
-		if(sysUser.getId() == 1){
+		if(sysUser.getIsSuperAdmin()){
 			menuQueryInfo.setUserId(null);
 			sysMenus = sysMenuDao.findList(menuQueryInfo.getParentId(),menuQueryInfo.getDelFlag(),menuQueryInfo.getHid());
 		}else {

+ 2 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SchoolDao.java

@@ -1,13 +1,11 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.School;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 public interface SchoolDao extends BaseDAO<Integer, School> {
 
@@ -40,7 +38,7 @@ public interface SchoolDao extends BaseDAO<Integer, School> {
      * @param userId: 教师编号
      * @return java.util.List<com.ym.mec.biz.dal.entity.School>
      */
-    List<School> findVipSchoolByUserId(Integer userId);
+    List<School> findVipSchoolByUserId(Integer userId,Integer isDefault);
 
 
-}
+}

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectDao.java

@@ -114,4 +114,19 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
     List<Map<Integer,String>> findByMusicGroupAndUsers(@Param("musicGroupId") String musicGroupId,
                                                        @Param("userIds") List<Integer> userIds);
 
+    /**
+     * @describe
+     * @author Joburgess
+     * @date 2019/11/13
+     * @param courseScheuleIds:
+     * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>
+     */
+    List<Map<Integer,String>> findSubjectNameCourseMaps(@Param("courseScheduleIds") List<Long> courseScheuleIds);
+
+    /**
+     * 获取声部名称
+     * @param subjectIdList
+     * @return
+     */
+    String findNames(String subjectIdList);
 }

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

@@ -242,4 +242,5 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return
 	 */
 	Integer queryCurrentMonthCoursesNum(@Param("organId") Integer organId);
+
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java

@@ -42,6 +42,16 @@ public class CourseScheduleDto extends CourseSchedule {
     @ApiModelProperty(value = "投诉状态")
     private Integer complaintStatus;
 
+    private String subjectName;
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
     public Integer getComplaintStatus() {
         return complaintStatus;
     }

+ 2 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/SchoolService.java

@@ -1,7 +1,6 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.School;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
@@ -22,5 +21,5 @@ public interface SchoolService extends BaseService<Integer, School> {
      * @param teacherId:
      * @return java.util.List<com.ym.mec.biz.dal.entity.School>
      */
-    List<School> findVipSchoolByTeacher(Integer teacherId);
-}
+    List<School> findVipSchoolByTeacher(Integer teacherId,Integer isDefault);
+}

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java

@@ -257,5 +257,13 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      * @return void
      */
     void updateVipGroupBaseInfo(VipGroupApplyBaseInfoDto vipGroupApplyBaseInfo);
+
+    /**
+     * @describe 取消达到报名时间认为达到报名人数的vip课
+     * @author Joburgess
+     * @date 2019/11/13
+     * @return void
+     */
+    void stopVipGroupWithNoCreate();
     
 }

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

@@ -563,10 +563,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         if (imGroupModels != null && imGroupModels.size() > 0) {
             Set<String> classGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
             //获取班级老师总数map
-            List<Map<Integer, Integer>> nums = classGroupDao.countTeacherNums(StringUtils.join(classGroupIds, ","));
-            Map<Integer, Integer> numsMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(nums)), HashMap.class);
+            Map<Integer, Integer> numsMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countTeacherNums(StringUtils.join(classGroupIds, ",")))),HashMap.class);
             imGroupModels.forEach(e -> {
-                Integer num = numsMap.get(e.getId());
+                Integer num = numsMap.get(Integer.parseInt(e.getId()));
                 e.setCount((num == null ? 0 : num) + e.getCount());
             });
         }

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

@@ -73,6 +73,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	private TeacherDao teacherDao;
 	@Autowired
 	private MusicGroupDao musicGroupDao;
+	@Autowired
+	private SubjectDao subjectDao;
 
 	@Override
 	public BaseDAO<Long, CourseSchedule> getDAO() {
@@ -223,7 +225,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		result.put("vipAppealDaysRange",sysConfigDao.findConfigValue(SysConfigService.VIP_APPEAL_DAYS_RANGE));
 		result.put("advanceLeaveHours",Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_LEAVE_HOURS)));
 		List<CourseScheduleDto> studentCourseSchedulesWithDate = courseScheduleDao.getStudentCourseSchedulesWithDate(classDate, user.getId().longValue());
-		studentCourseSchedulesWithDate.forEach(courseScheduleDto -> {
+		List<Long> courseScheduleIds = studentCourseSchedulesWithDate.stream()
+				.filter(cs -> cs.getType().equals(CourseSchedule.CourseScheduleType.VIP) || cs.getType().equals(CourseSchedule.CourseScheduleType.DEMO))
+				.map(CourseScheduleDto::getId).collect(Collectors.toList());
+
+		Map<Integer, String> subjectNameCourseMap=new HashMap<>();
+		if(!CollectionUtils.isEmpty(courseScheduleIds)){
+			List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
+			subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
+		}
+
+		for (CourseScheduleDto courseScheduleDto : studentCourseSchedulesWithDate) {
 			if(now.before(courseScheduleDto.getStartClassTime())){
 				courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
 			}else if(now.after(courseScheduleDto.getEndClassTime())){
@@ -231,7 +243,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			}else{
 				courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
 			}
-		});
+			courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
+		}
 		result.put("list",studentCourseSchedulesWithDate);
 		return result;
 	}
@@ -273,7 +286,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		}
 		Date now=new Date();
 		List<CourseScheduleDto> teacherCourseSchedulesWithDate = courseScheduleDao.getTeacherCourseSchedulesWithDate(classDate, userId.longValue(),type);
-		teacherCourseSchedulesWithDate.forEach(courseScheduleDto -> {
+		List<Long> courseScheduleIds = teacherCourseSchedulesWithDate.stream()
+				.filter(cs -> cs.getType().equals(CourseSchedule.CourseScheduleType.VIP) || cs.getType().equals(CourseSchedule.CourseScheduleType.DEMO))
+				.map(CourseScheduleDto::getId).collect(Collectors.toList());
+
+		Map<Integer, String> subjectNameCourseMap=new HashMap<>();
+		if(!CollectionUtils.isEmpty(courseScheduleIds)){
+			List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
+			subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
+		}
+		for (CourseScheduleDto courseScheduleDto : teacherCourseSchedulesWithDate) {
 			if(now.before(courseScheduleDto.getStartClassTime())){
 				courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
 			}else if(now.after(courseScheduleDto.getEndClassTime())){
@@ -285,7 +307,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(courseScheduleDto.getClassGroupId().longValue());
 				courseScheduleDto.setStudentNames(org.apache.commons.lang3.StringUtils.join(studentNums, ","));
 			}
-		});
+			courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
+		}
 		return teacherCourseSchedulesWithDate;
 	}
 
@@ -568,7 +591,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		newCourseSchedules.forEach(newCourseSchedule -> {
 
 			if(newCourseSchedule.getStartClassTime().before(tomorrow)&&sysUser.getUserType().equals(SysUserType.TEACHER)){
-			    throw new BizException("调整时间必须为明天以后");
+			    throw new BizException("调整时间必须为明天以后");
             }
 
 			CourseSchedule oldCourseSchedule = oldCourseSchedules.get(newCourseSchedule.getId());

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

@@ -29,7 +29,7 @@ public class SchoolServiceImpl extends BaseServiceImpl<Integer, School>  impleme
 	}
 
 	@Override
-	public List<School> findVipSchoolByTeacher(Integer teacherId) {
-		return schoolDao.findVipSchoolByUserId(teacherId);
+	public List<School> findVipSchoolByTeacher(Integer teacherId,Integer isDefault) {
+		return schoolDao.findVipSchoolByUserId(teacherId,isDefault);
 	}
-}
+}

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

@@ -49,6 +49,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	private SysMessageService sysMessageService;
 	@Autowired
 	private ClassGroupDao classGroupDao;
+	@Autowired
+	private SubjectDao subjectDao;
 
 	@Override
 	public BaseDAO<Long, TeacherAttendance> getDAO() {
@@ -246,8 +248,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 				//获取所有当前课程的学生列表
 				Map<Integer,String> userMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(courseScheduleDao.findStudentMap(courseScheduleId))),HashMap.class);
 				if(userMap != null && userMap.size() > 0){
+					String name = subjectDao.findNames(classGroup.getSubjectIdList());
 					sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.STUDENT_PUSH_ONLINE_COURSE_ACTION,userMap,
-							null,0,"6?sealClassId=" + courseScheduleId,courseSchedule.getName());
+							null,0,"6?sealClassId=" + courseScheduleId + "&subjectName=" + name ,courseSchedule.getName());
 				}
 			}
 		}

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

@@ -333,7 +333,9 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 			rows.forEach(e->{
 //				e.setSubjectName(subjectDao.findBySubIds(e.getSubjectId()));
 //				e.setOrganName(organNames.get(e.getOrganId()));
-				e.setSubjectName(Arrays.asList(e.getSplitSubjectName().split(",")));
+				if(StringUtils.isNotEmpty(e.getSplitSubjectName())){
+					e.setSubjectName(Arrays.asList(e.getSplitSubjectName().split(",")));
+				}
 				Integer num = vipNumMap.get(e.getId());
 				e.setVipNum(num == null?0:num);
 				Integer demoNum = demoNumMap.get(e.getId());

+ 15 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -394,10 +394,16 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				if(Objects.isNull(totalClassTimes)){
 					vipGroup.setMonthConsumeRate(0.0);
 				}else{
-					BigDecimal overCoursesOfMonth=new BigDecimal(overCourses),allClassTimes=new BigDecimal(totalClassTimes);
+					if(totalClassTimes<=0){
+						vipGroup.setMonthConsumeRate((double) 0);
+					}else{
+						BigDecimal overCoursesOfMonth=new BigDecimal(overCourses),allClassTimes=new BigDecimal(totalClassTimes);
+
+						Double monthConsumeRate=overCoursesOfMonth.divide(allClassTimes,2,BigDecimal.ROUND_HALF_UP).doubleValue();
+						vipGroup.setMonthConsumeRate(monthConsumeRate);
+					}
+
 
-					Double monthConsumeRate=overCoursesOfMonth.divide(allClassTimes,2,BigDecimal.ROUND_HALF_UP).doubleValue();
-					vipGroup.setMonthConsumeRate(monthConsumeRate);
 				}
 
 			});
@@ -511,7 +517,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("未找到指定课程");
 		}
 		StudentVipGroupDetailDto vipGroupDetail = vipGroupDao.getVipGroupDetail(vipGroupId);
-		if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)){
+		if(StringUtils.isNotEmpty(vipGroup.getCourseSchedulesJson())){
 			vipGroupDetail.setCourseSchedules(JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class));
 		}
 
@@ -1250,4 +1256,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				byTeacherAndCategory.getOnlineClassesSalary(),
 				byTeacherAndCategory.getOfflineClassesSalary());
 	}
+
+	@Override
+	public void stopVipGroupWithNoCreate() {
+
+	}
 }

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -56,6 +56,7 @@
             <if test="totalClassTimes!=null">total_class_times_,</if>
             <if test="currentClassTimes!=null">current_class_times_,</if>
             <if test="img!=null">img_,</if>
+            <if test="delFlag!=null">del_flag_,</if>
         </trim>
         VALUES
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -71,6 +72,7 @@
             <if test="totalClassTimes!=null">#{totalClassTimes},</if>
             <if test="currentClassTimes!=null">#{currentClassTimes},</if>
             <if test="img!=null">#{img},</if>
+            <if test="delFlag!=null">#{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},</if>
         </trim>
     </insert>
 
@@ -120,6 +122,9 @@
             <if test="img!=null">
                 img_=#{img},
             </if>
+            <if test="delFlag != null">
+                del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>

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

@@ -856,7 +856,7 @@
                     leave_student_num_ = #{item.leaveStudentNum},
                 </if>
                 <if test="item.schoolId != null">
-                    school_id_ = #{item.schoolId},
+                    schoole_id_ = #{item.schoolId},
                 </if>
             </set>
             WHERE id_ = #{item.id}
@@ -1233,6 +1233,7 @@
         <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
             #{classGroupId}
         </foreach>
+        ORDER BY start_class_time_
     </select>
     <select id="findStudentMap" resultType="java.util.Map">
         SELECT cs.user_id_ 'key',cs.user_id_ 'value' FROM course_schedule_student_payment cs

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

@@ -246,7 +246,7 @@
         LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
         LEFT JOIN class_group cg ON dgcgm.class_group_id_=cg.id_
         LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
-        LEFT JOIN `subject` s ON s.id_ = dg.subject_id_
+        LEFT JOIN `subject` s ON s.id_ = cg.subject_id_list_
         WHERE cs.type_ = 'DEMO' AND dg.user_id_ = #{teacherId}
         GROUP BY cs.class_date_
         <include refid="global.limit"/>

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

@@ -124,6 +124,17 @@
         select * from school where del_flag_ = 0 and user_id_ = #{userId}
     </select>
     <select id="findVipSchoolByUserId" resultMap="School">
-        select * from school where del_flag_ = 0 and (user_id_ IS NULL OR user_id_ = #{userId})
+        SELECT
+            *
+        FROM
+            school
+        WHERE
+            del_flag_ = 0
+            <if test="isDefault==null">
+                AND ( user_id_ IS NULL OR user_id_ = #{userId} )
+            </if>
+            <if test="isDefault!=null">
+                AND user_id_ = #{userId}
+            </if>
     </select>
 </mapper>

+ 21 - 20
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -161,27 +161,27 @@
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="CourseHomeworkDto" parameterType="map">
         SELECT
-        sch.id_,
-        ch.*,
-        mg.name_ music_group_name_,
-        cg.name_ class_group_name_,
-        temp.next_class_date_,
-        sch.remark_,
-        sch.status_,
-        sch.is_replied_
+            sch.id_,
+            ch.*,
+            mg.name_ music_group_name_,
+            cg.name_ class_group_name_,
+            temp.next_class_date_,
+            sch.remark_,
+            sch.status_,
+            sch.is_replied_
         FROM student_course_homework sch
-        LEFT JOIN course_homework ch ON sch.course_homework_id_=ch.id_
-        LEFT JOIN course_schedule cs ON ch.course_schedule_id_=cs.id_
-        LEFT JOIN music_group mg ON ch.music_group_id_=mg.id_
-        LEFT JOIN class_group cg ON ch.class_group_id_=cg.id_
-        LEFT JOIN (SELECT
-        class_group_id_,
-        MIN(CONCAT( class_date_, ' ', start_class_time_ )) next_class_date_
-        FROM
-        course_schedule
-        WHERE CONCAT( class_date_, ' ', start_class_time_ )>now()
-        GROUP BY class_group_id_) temp ON ch.class_group_id_=temp.class_group_id_
-        <include refid="queryCondition"/>
+            LEFT JOIN course_homework ch ON sch.course_homework_id_=ch.id_
+            LEFT JOIN course_schedule cs ON ch.course_schedule_id_=cs.id_
+            LEFT JOIN music_group mg ON ch.music_group_id_=mg.id_
+            LEFT JOIN class_group cg ON ch.class_group_id_=cg.id_
+            LEFT JOIN (SELECT
+                class_group_id_,
+                MIN(CONCAT( class_date_, ' ', start_class_time_ )) next_class_date_
+                FROM
+                course_schedule
+                WHERE CONCAT( class_date_, ' ', start_class_time_ )>now()
+                GROUP BY class_group_id_) temp ON ch.class_group_id_=temp.class_group_id_
+            <include refid="queryCondition"/>
         ORDER BY ch.id_
         <include refid="global.limit"/>
     </select>
@@ -230,6 +230,7 @@
 	<select id="constructInitialStudentHomeworkRecordsWithPayment" resultMap="StudentCourseHomework">
 		SELECT
 			#{courseHomeworkID} course_homework_id_,
+			#{courseScheduleID} course_schedule_id_,
 			sa.user_id_,
 			0 status_,
 			0 is_replied_

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

@@ -252,7 +252,7 @@
         <![CDATA[ AND create_time_ <= ]]> #{beforeTime}
     </select>
     <select id="countStudentPaymentNum" resultType="int">
-        select count(1) from student_payment_order where  music_group_id_=#{musicGroupId}
+        select count(1) from student_payment_order where  music_group_id_=#{musicGroupId} AND status_ = 'SUCCESS'
     </select>
 
 </mapper>

+ 19 - 0
mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -166,4 +166,23 @@
                 #{userId}
             </foreach>
     </select>
+
+    <select id="findSubjectNameCourseMaps" resultType="java.util.Map">
+        SELECT
+            cs.id_ AS 'key',
+            GROUP_CONCAT(s.name_) AS 'value'
+        FROM
+            course_schedule cs
+            LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+            LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,cg.subject_id_list_)
+            WHERE cs.id_ IN
+            <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+                #{courseScheduleId}
+            </foreach>
+            AND cg.subject_id_list_ IS NOT NULL
+        GROUP BY cs.id_
+    </select>
+    <select id="findNames" resultType="java.lang.String">
+        SELECT GROUP_CONCAT(DISTINCT s.name_) FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIdList})
+    </select>
 </mapper>

+ 3 - 5
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -13,9 +13,9 @@ import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.thirdparty.adapay.NotifyEvent;
 import com.ym.mec.thirdparty.adapay.Pay;
 import com.ym.mec.thirdparty.yqpay.Msg;
-import com.ym.mec.thirdparty.yqpay.YqPayUtil;
-import com.ym.mec.thirdparty.yqpay.YqPayFeignService;
 import com.ym.mec.thirdparty.yqpay.RsqMsg;
+import com.ym.mec.thirdparty.yqpay.YqPayFeignService;
+import com.ym.mec.thirdparty.yqpay.YqPayUtil;
 import com.ym.mec.util.http.HttpUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -34,8 +34,6 @@ import java.net.URLEncoder;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static com.netflix.config.DeploymentContext.ContextKey.appId;
-
 @RequestMapping("studentOrder")
 @Api(tags = "订单回调")
 @RestController
@@ -362,7 +360,7 @@ public class StudentOrderController extends BaseController {
 
     }
 
-    //@Scheduled(cron = "0/30 * * * * ?")
+    @Scheduled(cron = "0/30 * * * * ?")
     public void setSuccessStatus() throws Exception {
         List<StudentPaymentOrder> payingOrders = studentPaymentOrderService.findOrdersByStatus(DealStatusEnum.ING, "YQPAY");
 

+ 2 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherSchoolController.java

@@ -61,11 +61,11 @@ public class TeacherSchoolController extends BaseController {
 
     @ApiOperation(value = "获取教师vip课教学点")
     @GetMapping("/findVipSchoolByTeacher")
-    public Object findVipSchoolByTeacher(){
+    public Object findVipSchoolByTeacher(Integer isDefault){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if(sysUser == null){
             return failed(HttpStatus.FORBIDDEN,"请登录");
         }
-        return succeed(schoolService.findVipSchoolByTeacher(sysUser.getId()));
+        return succeed(schoolService.findVipSchoolByTeacher(sysUser.getId(),isDefault));
     }
 }

+ 7 - 1
mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java

@@ -964,7 +964,13 @@ public class DateUtil {
 		Calendar cal = Calendar.getInstance();
 		cal.setTime(date);
 		cal.add(Calendar.DATE, days);
-		return cal.getTime();
+		try {
+			return new SimpleDateFormat(DateUtil.DEFAULT_PATTERN)
+					.parse(new SimpleDateFormat(DateUtil.DEFAULT_PATTERN)
+							.format(cal.getTime()));
+		} catch (ParseException e) {
+			return cal.getTime();
+		}
 	}
 
 	/**