Преглед изворни кода

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

zouxuan пре 5 година
родитељ
комит
f89ff164ba

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

@@ -1794,6 +1794,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         String classGroupIds = classGroups.stream().map(classGroup -> classGroup.getId().toString()).collect(Collectors.joining(","));
 
         List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperDao.findClassGroupTeachers(classGroupIds);
+        Map<Integer, Integer> studyNums = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countStudyNum(classGroupIds))), HashMap.class);
+
         for (ClassGroupTeachersDto classGroup : classGroups) {
             List<ClassGroupTeacherMapper> classGroupTeacherMappers = new ArrayList<>();
             for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
@@ -1801,6 +1803,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 classGroupTeacherMappers.add(classGroupTeacher);
             }
             classGroup.setClassGroupTeacherMapperList(classGroupTeacherMappers);
+            classGroup.setStudentNum(studyNums.get(classGroup.getId()));
         }
         return classGroups;
     }

+ 14 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -61,27 +61,23 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int classGroupTeachersInsert(List<ClassGroupTeacherMapper> classGroupTeacherMapperList) {
-        String musicGroupId = classGroupTeacherMapperList.get(0).getMusicGroupId();
 
-        //删除老师未开始的课程
-        List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupCourseSchedules(musicGroupId, GroupType.MUSIC.getCode(), CourseStatusEnum.NOT_START.getCode());
-        if(musicGroupCourseSchedules != null && musicGroupCourseSchedules.size() >0){
-            courseScheduleService.batchDeleteMusicGroupNotStartCourse(musicGroupId,GroupType.MUSIC);
-        }
+        String classGroupIds = classGroupTeacherMapperList.stream().map(classGroupTeacherMapper -> classGroupTeacherMapper.getClassGroupId().toString()).collect(Collectors.joining(","));
         //老师加入群组
         List<ImGroupMember> imGroupMemberList = new ArrayList<>();
-        String classGroupIds = classGroupTeacherMapperList.stream().map(classGroupTeacherMapper -> classGroupTeacherMapper.getClassGroupId().toString()).collect(Collectors.joining(","));
-
         List<ClassGroup> classGroups = classGroupService.findClassGroupByIds(classGroupIds);
 
         List<ClassGroupTeacherMapper> oldClassGroupTeacherMapper = classGroupTeacherMapperDao.getClassGroupTeacherMapper(classGroupTeacherMapperList, GroupType.MUSIC);
 
+        Set<String> oldTeacher = new HashSet<>();
+        Set<String> newTeacher = new HashSet<>();
         for (ClassGroup classGroup : classGroups) {
             imGroupMemberList.clear();
             //原设置的老师删除群组
             for (ClassGroupTeacherMapper classGroupTeacherMapper : oldClassGroupTeacherMapper) {
                 if (!classGroup.getId().equals(classGroupTeacherMapper.getClassGroupId())) continue;
                 imGroupMemberList.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString()));
+                oldTeacher.add(classGroupTeacherMapper.getClassGroupId() + classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId());
             }
             if (imGroupMemberList.size() > 0) {
                 ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
@@ -94,12 +90,22 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 classGroupTeacherMapper.setMusicGroupId(classGroup.getMusicGroupId());
                 classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
                 imGroupMemberList.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString()));
+                newTeacher.add(classGroupTeacherMapper.getClassGroupId() + classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId());
             }
             ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
             imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
         }
         classGroupTeacherMapperDao.delMusicGroupTeacherMapper(classGroupTeacherMapperList);
 
+        //老师不相同删除老师未开始的课程
+        if (oldTeacher.size() != newTeacher.size() || !newTeacher.containsAll(oldTeacher)){
+            String musicGroupId = classGroupTeacherMapperList.get(0).getMusicGroupId();
+            List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupCourseSchedules(musicGroupId, GroupType.MUSIC.getCode(), CourseStatusEnum.NOT_START.getCode());
+            if(musicGroupCourseSchedules != null && musicGroupCourseSchedules.size() >0){
+                courseScheduleService.batchDeleteMusicGroupNotStartCourse(musicGroupId,GroupType.MUSIC);
+            }
+        }
+
         return classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
     }
 

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

@@ -637,7 +637,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Map<Integer,String> classIdSubjectNameMap=convertToMap(courseScheduleDao.findClassSubjects(classGroupIds));
         courseSchedules.forEach(courseSchedule -> {
         	if(courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.MIX)){
-				courseSchedule.setName(courseSchedule.getType().getCode());
+				courseSchedule.setName(courseSchedule.getType().getMsg());
 			}else{
 				StringBuilder className=new StringBuilder(classIdSubjectNameMap.get(courseSchedule.getClassGroupId()));
 				className.append("-");

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

@@ -1630,6 +1630,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				courseScheduleStudentPayment.setUpdateTime(now);
 				courseScheduleStudentPayments.add(courseScheduleStudentPayment);
 			}
+			sysUserCashAccountService.updateCourseBalance(classGroupStudent.getUserId(),sysUserCashAccount.getCourseBalance().subtract(surplusCourseTotalPrice));
 			courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
 			imGroupMemberList.add(new ImGroupMember(classGroupStudent.getUserId().toString()));
 		}

+ 4 - 3
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -299,10 +299,10 @@
 
     <sql id="studentVipGroupQueryCondition">
         <where>
-            vg.status_!=3
-            AND vg.audit_status_='PASS'
+            vg.audit_status_='PASS'
             AND vg.status_=1
             AND vg.courses_expire_date_ &gt;= DATE_FORMAT(NOW(),'%Y%m%d')
+            AND vg.courses_start_date &gt; NOW()
             AND (select count(1) as num from student_payment_order where vg.id_ = music_group_id_ AND user_id_=#{userId} AND status_='SUCCESS') = 0
             <if test="subjectId!=null">
                AND FIND_IN_SET(#{subjectId},cg.subject_id_list_)
@@ -740,7 +740,8 @@
         FROM
           vip_group
         WHERE
-          payment_expire_date_ &lt; DATE_FORMAT(NOW( ),'%Y-%m-%d')
+          (payment_expire_date_ &lt; DATE_FORMAT(NOW( ),'%Y-%m-%d')
+          OR courses_start_date &lt; NOW())
           AND status_ =1
     </select>