Pārlūkot izejas kodu

Merge branch 'feature/0529-live' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan 2 gadi atpakaļ
vecāks
revīzija
aace5fe6c0

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

@@ -300,7 +300,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @author Joburgess
      * @date 2019/10/18
      */
-    int deleteCourseSchedulesByMusicGroupID(@Param("musicGroupId") String musicGroupId, @Param("groupType") GroupType groupType);
+    int deleteCourseSchedulesByMusicGroupID(@Param("musicGroupId") String musicGroupId, @Param("groupType") String groupType);
 
     /**
      * @param groupId:
@@ -1102,6 +1102,15 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<Map<Integer, Long>> countCurrentNumByClassGroupId(@Param("classGroupIds") List<Integer> classGroupIds, @Param("teacherId") Integer teacherId);
 
     /**
+     * 根据班级编号count剩余课时(未上)
+     *
+     * @param classGroupId
+     * @param teacherId
+     * @return
+     */
+    int countCurrentNumByClassId(@Param("classGroupId") Integer classGroupId, @Param("teacherId") Integer teacherId);
+
+    /**
      * @param groupType:
      * @param groupId:
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>

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

@@ -268,7 +268,7 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @param groupType
 	 * @return
 	 */
-	int deleteByMusicGroupId(@Param("musicGroupId")String musicGroupId, @Param("groupType")GroupType groupType);
+	int deleteByMusicGroupId(@Param("musicGroupId")String musicGroupId, @Param("groupType")String groupType);
 
 
 	/**

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

@@ -158,7 +158,7 @@ public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
 	 * @param groupType
 	 * @return
 	 */
-	int deleteByMusicGroupId(@Param("musicGroupId")String musicGroupId, @Param("groupType")GroupType groupType);
+	int deleteByMusicGroupId(@Param("musicGroupId")String musicGroupId, @Param("groupType")String groupType);
 	
 	int deletebyCourseScheduleId(@Param("courseScheduleId") Long courseScheduleId);
 

+ 2 - 49
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherIncomeQueryInfo.java

@@ -1,13 +1,14 @@
 package com.ym.mec.biz.dal.page;
 
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
-import com.ym.mec.biz.dal.enums.TeachIncomeTypeEnum;
 import com.ym.mec.common.page.QueryInfo;
+import lombok.Data;
 
 /**
  * @Author Joburgess
  * @Date 2021/4/16 0016
  */
+@Data
 public class TeacherIncomeQueryInfo extends QueryInfo {
 
     private Integer teacherId;
@@ -21,52 +22,4 @@ public class TeacherIncomeQueryInfo extends QueryInfo {
     private Boolean updated = false;
 
     private String teachIncomeType;
-
-    public Integer getTeacherId() {
-        return teacherId;
-    }
-
-    public void setTeacherId(Integer teacherId) {
-        this.teacherId = teacherId;
-    }
-
-    public String getStartDay() {
-        return startDay;
-    }
-
-    public void setStartDay(String startDay) {
-        this.startDay = startDay;
-    }
-
-    public String getEndDay() {
-        return endDay;
-    }
-
-    public void setEndDay(String endDay) {
-        this.endDay = endDay;
-    }
-
-    public CourseStatusEnum getCourseStatus() {
-        return courseStatus;
-    }
-
-    public void setCourseStatus(CourseStatusEnum courseStatus) {
-        this.courseStatus = courseStatus;
-    }
-
-    public Boolean getUpdated() {
-        return updated;
-    }
-
-    public void setUpdated(Boolean updated) {
-        this.updated = updated;
-    }
-
-    public String getTeachIncomeType() {
-        return teachIncomeType;
-    }
-
-    public void setTeachIncomeType(String teachIncomeType) {
-        this.teachIncomeType = teachIncomeType;
-    }
 }

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

@@ -1605,7 +1605,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         if (StringUtils.isBlank(type)) {
             throw new BizException("请指定课程类型");
         }
-
         Integer userId = sysUserService.getUserId();
         List<TeacherClassGroupDto> teacherMusicClassGroup;
         switch (type) {
@@ -1657,7 +1656,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             currentClassTimes = MapUtil.convertIntegerMap(courseScheduleDao.countCurrentNumByClassGroupId(classGroupIds, userId));
         }
 
-
         teacherMusicClassGroup.forEach(teacherClassGroupDto -> {
             if (teacherClassGroupDto.getType() == ClassGroupTypeEnum.PRACTICE) {
                 String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(teacherClassGroupDto.getClassGroupId());
@@ -1802,7 +1800,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         teacherClassHeadInfo.setStudentNum(classGroupStudentMapperDao.countClassGroupStudentNum(classGroup.getId()));
         teacherClassHeadInfo.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(classGroup.getId(), new Date()));
         teacherClassHeadInfo.setTotalClassTimes(courseScheduleDao.countClassGroupCourses(classGroup.getId()));
-        teacherClassHeadInfo.setSurplusClassTimes(teacherClassHeadInfo.getTotalClassTimes() - teacherClassHeadInfo.getCurrentClassTimes());
+        teacherClassHeadInfo.setSurplusClassTimes(courseScheduleDao.countCurrentNumByClassId(classGroup.getId(),null));
         if (subjectNames != null && !subjectNames.isEmpty()) {
             teacherClassHeadInfo.setSubjectNames(subjectNames);
         }
@@ -1815,24 +1813,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         String name = classGroupTeacherMapperService.getDao().queryTeachingNames(classGroupId);
         teacherClassHeadInfo.setTeachingTeacher(name);
 
-//        ClassGroupTeacherMapper teachingTeacher = classGroupTeacherMapperService.getDao().findByClassGroupAndRole(classGroupId, TeachTypeEnum.TEACHING);
-//        if (Objects.nonNull(teachingTeacher)) {
-//            teacherClassHeadInfo.setTeachingTeacherId(teachingTeacher.getId());
-//            teacherClassHeadInfo.setTeachingTeacher(teachingTeacher.getUserName());
-//        }
-
         if (classGroup.getType() == ClassGroupTypeEnum.VIP || classGroup.getType() == ClassGroupTypeEnum.LIVE) {
             String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(classGroupId);
             teacherClassHeadInfo.setStudentNames(StringUtils.join(studentNums, ","));
 
             // 查询课程信息
             if (StringUtils.isNotBlank(classGroup.getMusicGroupId())) {
-
                 VipGroup vipGroup = vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
-
-                // 返回课程相关信息
-                // teacherClassHeadInfo.setCourseSchedules(JSON.parseArray(vipGroup.getCourseSchedulesJson(), CourseSchedule.class));
-                // 单节课时
                 teacherClassHeadInfo.setSingleClassMinutes(vipGroup.getSingleClassMinutes());
                 // 直播间配置
                 if (StringUtils.isNotEmpty(vipGroup.getLiveConfigJson())) {

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

@@ -1013,7 +1013,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             throw new BizException("请指定乐团!");
         }
         checkNewCourseSchedules(courseSchedules, false,false);
-        courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupID, GroupType.MUSIC);
+        courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupID, GroupType.MUSIC.getCode());
 		courseScheduleModifyLogService.pushSchoolCourseChange(courseSchedules.get(0));
     }
 

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

@@ -1674,8 +1674,6 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
     @Override
     public void calMusicCourseTeacherActualSalary(CourseSchedule courseSchedule, CourseScheduleTeacherSalary courseScheduleTeacherSalary,
                                                   List<TeacherAttendance> teacherAttendances, School school, Teacher teacher, String attendanceRange, Boolean updated) {
-
-
         //教师课酬
         if(StringUtils.isNotBlank(courseScheduleTeacherSalary.getDeductionReason())&&"不结算课酬".equals(courseScheduleTeacherSalary.getDeductionReason())){
             //不结算课酬
@@ -2039,11 +2037,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             if(Objects.nonNull(teacherSalary.getActualSalary())){
                 continue;
             }
-
             switch (courseSchedule.getGroupType()){
                 case MUSIC:
                     calMusicCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange, false);
                     break;
+                case LIVE:
                 case VIP:
                     calVipCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange, false);
                     break;

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

@@ -2023,13 +2023,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupStudentFeeDao.deleteByMusicGroupId(musicGroupId, null);
 
         // 删除课表
-        courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupId, GroupType.MUSIC);
+        courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupId, GroupType.MUSIC.getCode());
         // 删除每节课的课酬
         courseScheduleStudentPaymentService.deleteByMusicGroupId(musicGroupId, GroupType.MUSIC);
-        courseScheduleTeacherSalaryDao.deleteByMusicGroupId(musicGroupId, GroupType.MUSIC);
+        courseScheduleTeacherSalaryDao.deleteByMusicGroupId(musicGroupId, GroupType.MUSIC.getCode());
 
         //删除考勤
-        teacherAttendanceDao.deleteByMusicGroupId(musicGroupId, GroupType.MUSIC);
+        teacherAttendanceDao.deleteByMusicGroupId(musicGroupId, GroupType.MUSIC.getCode());
 
         /*// 查询已缴费信息
         studentPaymentOrders = studentPaymentOrderDao.queryByDealStatus(musicGroupId, OrderTypeEnum.APPLY, SUCCESS);

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

@@ -4589,7 +4589,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     @Override
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public void updateVipGroupStatusToFinished() {
-
         Date now = new Date();
         //更新至已结束
         List<VipGroup> vipGroupList = vipGroupDao.queryRequiredOverList();
@@ -4620,13 +4619,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 vipGroup.setStatus(VipGroupStatusEnum.CANCEL);
                 vipGroup.setUpdateTime(now);
                 vipGroup.setStopReason("没有学员");
-                
                 // 删除课表
-                courseScheduleDao.deleteCourseSchedulesByMusicGroupID(vipGroup.getId() + "", GroupType.VIP);
-                courseScheduleTeacherSalaryDao.deleteByMusicGroupId(vipGroup.getId() + "", GroupType.VIP);
-
+                courseScheduleDao.deleteCourseSchedulesByMusicGroupID(vipGroup.getId().toString(), vipGroup.getGroupType());
+                courseScheduleTeacherSalaryDao.deleteByMusicGroupId(vipGroup.getId().toString(), vipGroup.getGroupType());
                 //删除考勤
-                teacherAttendanceDao.deleteByMusicGroupId(vipGroup.getId() + "", GroupType.VIP);
+                teacherAttendanceDao.deleteByMusicGroupId(vipGroup.getId().toString(), vipGroup.getGroupType());
             }
             vipGroupDao.batchUpdate(vipGroupList);
             
@@ -4635,42 +4632,23 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             }
         }
         
-        //更新到进行中或报名中
-        List<VipGroup> normalVipGroupList = vipGroupDao.queryNormalStatusList();
+        //更新到报名中
+/*        List<VipGroup> normalVipGroupList = vipGroupDao.queryNormalStatusList();
         if (!CollectionUtils.isEmpty(normalVipGroupList)) {
             List<VipGroup> needUpdateVipGroups = new ArrayList<>();
             for (VipGroup vipGroup : normalVipGroupList) {
-                try {
-                    if (Objects.isNull(vipGroup.getRegistrationStartTime())) {
-                        continue;
-                    }
-                    if (vipGroup.getStatus().equals(VipGroupStatusEnum.PAUSE) || vipGroup.getStatus().equals(VipGroupStatusEnum.CANCEL)
-                            || vipGroup.getStatus().equals(VipGroupStatusEnum.FINISHED) || vipGroup.getStatus().equals(VipGroupStatusEnum.PROGRESS)) {
-                        continue;
-                    }
-                    if (now.before(vipGroup.getRegistrationStartTime())) {
-                        vipGroup.setStatus(VipGroupStatusEnum.NOT_START);
-                    } else if (vipGroup.getRegistrationStartTime().before(now)
-                            && vipGroup.getPaymentExpireDate().after(now)
-                            && VipGroupStatusEnum.NOT_START.equals(vipGroup.getStatus())) {
-                        vipGroup.setStatus(VipGroupStatusEnum.APPLYING);
-                    } else {
-                        continue;
-                    }
-                    VipGroup vipGroup1 = new VipGroup();
-                    vipGroup1.setId(vipGroup.getId());
-                    vipGroup1.setStatus(vipGroup.getStatus());
-                    vipGroup1.setUpdateTime(now);
-                    vipGroup1.setTotalPrice(vipGroup.getTotalPrice());
-                    needUpdateVipGroups.add(vipGroup1);
-                } catch (Exception e) {
-                    e.printStackTrace();
+                if (Objects.isNull(vipGroup.getRegistrationStartTime())) {
+                    continue;
+                }
+                if (now.after(vipGroup.getRegistrationStartTime())) {
+                    vipGroup.setStatus(VipGroupStatusEnum.APPLYING);
+                    needUpdateVipGroups.add(vipGroup);
                 }
             }
             if (!CollectionUtils.isEmpty(needUpdateVipGroups)) {
                 vipGroupDao.batchUpdate(needUpdateVipGroups);
             }
-        }
+        }*/
     }
 
     @Override

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

@@ -715,7 +715,7 @@
 		select vg.id_,cgsm.class_group_id_,count(cgsm.user_id_) total_student_num_,sum(case when cgsm.status_ = 'QUIT' then 1 else 0 end ) quit_student_num_ 
 		from class_group_student_mapper cgsm LEFT JOIN class_group cg on cgsm.class_group_id_ = cg.id_
 		LEFT JOIN vip_group vg on vg.id_ = cgsm.music_group_id_
-		WHERE cgsm.group_type_ = 'VIP' and vg.group_status_ in (2,6) and cg.del_flag_ != 1 GROUP BY cgsm.class_group_id_
+		WHERE cgsm.group_type_ IN ('VIP','LIVE') and vg.group_status_ in (2,6) and cg.del_flag_ != 1 GROUP BY cgsm.class_group_id_
 		) a WHERE a.total_student_num_ = a.quit_student_num_
     </select>
     <select id="findByVipGroups" resultMap="ClassGroupStudentMapper">

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

@@ -354,8 +354,8 @@
         DELETE
         FROM course_schedule
         WHERE music_group_id_ = #{musicGroupId}
-        <if test="groupType != null">
-          AND group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+        <if test="groupType != null and groupType != ''">
+          AND group_type_ = #{groupType}
         </if>
           and status_ = 'NOT_START'
     </delete>
@@ -2311,6 +2311,14 @@
         AND cs.status_ = 'NOT_START' AND cs.del_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cs.pre_course_flag_ = 0
         GROUP BY cs.class_group_id_
     </select>
+    <select id="countCurrentNumByClassId" resultType="java.util.Map">
+        SELECT COUNT(cs.id_) FROM course_schedule cs
+        WHERE cs.class_group_id_ = #{classGroupId}
+        <if test="teacherId != null">
+            AND cs.actual_teacher_id_ = #{teacherId}
+        </if>
+        AND cs.status_ = 'NOT_START' AND cs.del_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cs.pre_course_flag_ = 0
+    </select>
 
     <select id="countExpendNumByClassGroupId" resultType="java.util.Map">
         SELECT cs.class_group_id_ 'key',COUNT(cs.id_) 'value' FROM course_schedule cs

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

@@ -618,7 +618,7 @@
     <delete id="deleteByMusicGroupId" parameterType="map" >
 		DELETE cssp FROM course_schedule_teacher_salary cssp
 		LEFT JOIN course_schedule cs on cssp.course_schedule_id_ = cs.id_
-		WHERE cssp.music_group_id_=#{musicGroupId} AND cssp.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and cs.status_ = 'NOT_START'
+		WHERE cssp.music_group_id_=#{musicGroupId} AND cssp.group_type_=#{groupType} and cs.status_ = 'NOT_START'
 	</delete>
 	<delete id="deleteByGroup">
 		DELETE FROM course_schedule_teacher_salary WHERE music_group_id_=#{groupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}

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

@@ -770,7 +770,7 @@
 
     <delete id="deleteByMusicGroupId" parameterType="map" >
 		DELETE ta FROM teacher_attendance ta LEFT JOIN course_schedule cs ON ta.course_schedule_id_ = cs.id_
-		WHERE ta.music_group_id_=#{musicGroupId} AND ta.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and cs.status_ = 'NOT_START'
+		WHERE ta.music_group_id_=#{musicGroupId} AND ta.group_type_=#{groupType} and cs.status_ = 'NOT_START'
 	</delete>
 	
     <delete id="deletebyCourseScheduleId">

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

@@ -1067,8 +1067,7 @@
     <select id="queryNormalStatusList" resultMap="VipGroup">
         SELECT *
         FROM vip_group
-        WHERE group_status_ != 3
-          AND group_status_ != 4
+        WHERE group_status_ = 0
     </select>
 
     <select id="findVipGroupInfo" resultMap="VipGroup">

+ 0 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ClassGroupController.java

@@ -47,7 +47,6 @@ public class ClassGroupController extends BaseController {
     private ImGroupNoticeService imGroupNoticeService;
     @Autowired
     private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
-
     @Autowired
     private SubjectService subjectService;