瀏覽代碼

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父節點
當前提交
c3bfbfefac
共有 32 個文件被更改,包括 446 次插入349 次删除
  1. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java
  2. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseHomeworkDao.java
  3. 0 9
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleHistoryDao.java
  4. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentAttendanceDao.java
  5. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java
  6. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherAttendanceDao.java
  7. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultPracticeGroupSalaryDao.java
  8. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassGroupDto.java
  9. 0 180
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleHistory.java
  10. 92 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultPracticeGroupSalary.java
  11. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseHomeworkService.java
  12. 0 8
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleHistoryService.java
  13. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  14. 14 4
      mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java
  15. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherDefaultPracticeGroupSalaryService.java
  16. 11 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  17. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseHomeworkServiceImpl.java
  18. 0 23
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleHistoryServiceImpl.java
  19. 51 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  20. 5 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  21. 23 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultPracticeGroupSalaryServiceImpl.java
  22. 8 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  23. 5 0
      mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml
  24. 4 0
      mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml
  25. 0 112
      mec-biz/src/main/resources/config/mybatis/CourseScheduleHistoryMapper.xml
  26. 3 0
      mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml
  27. 4 0
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml
  28. 5 0
      mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml
  29. 87 0
      mec-biz/src/main/resources/config/mybatis/TeacherDefaultPracticeGroupSalaryMapper.xml
  30. 3 3
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  31. 8 0
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
  32. 38 0
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultPracticeGroupSalaryController.java

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

@@ -317,4 +317,11 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
     int updateVipGroupStudentStatus(@Param("groupId") String groupId,
                                     @Param("groupType") String groupType,
                                     @Param("status") String status);
+    
+    /**
+     * 查询这节课的新学生
+     * @param courseScheduleId
+     * @return
+     */
+    List<ClassGroupStudentMapper> queryNewStudentListByCourseScheduleId(Long courseScheduleId);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseHomeworkDao.java

@@ -46,4 +46,6 @@ public interface CourseHomeworkDao extends BaseDAO<Long, CourseHomework> {
      * @return
      */
     List<Mapper> queryTeacerNoReplyNum();
+    
+    int delByCourseScheduleId(Long courseScheduleId);
 }

+ 0 - 9
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleHistoryDao.java

@@ -1,9 +0,0 @@
-package com.ym.mec.biz.dal.dao;
-
-import com.ym.mec.biz.dal.entity.CourseScheduleHistory;
-import com.ym.mec.common.dal.BaseDAO;
-
-public interface CourseScheduleHistoryDao extends BaseDAO<Long, CourseScheduleHistory> {
-
-	
-}

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentAttendanceDao.java

@@ -248,4 +248,10 @@ public interface StudentAttendanceDao extends BaseDAO<Long, StudentAttendance> {
      */
     int deleteByGroup(@Param("groupId") String groupId,
                       @Param("groupType")GroupType groupType);
+
+    /**
+     * 清空学生考勤
+     * @param courseScheduleIds
+     */
+    void batchCleanCourseStudentSign(String courseScheduleIds);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.CourseHomeworkStudentDetailDto;
 import com.ym.mec.biz.dal.entity.StudentCourseHomework;
 import com.ym.mec.common.dal.BaseDAO;
+
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
@@ -90,4 +91,6 @@ public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHom
      * @return
      */
     List<StudentCourseHomework> findStudentCourseHomeworks(Map<String, Object> params);
+    
+    int delByCourseScheduleId(Long courseScheduleId);
 }

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

@@ -183,4 +183,10 @@ public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
 	 */
 	int deleteByGroup(@Param("groupId") String groupId,
 					  @Param("groupType")GroupType groupType);
+
+	/**
+	 * 清楚老师考勤
+	 * @param courseScheduleIds
+	 */
+    void batchCleanCourseTeacherSign(String courseScheduleIds);
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultPracticeGroupSalaryDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface TeacherDefaultPracticeGroupSalaryDao extends BaseDAO<Long, TeacherDefaultPracticeGroupSalary> {
+
+	
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassGroupDto.java

@@ -80,6 +80,9 @@ public class TeacherClassGroupDto {
     @ApiModelProperty(value = "开课时间")
     private Date courseStartDate;
 
+    @ApiModelProperty(value = "陪练报告URL")
+    private String studyReportUrl;
+
     public Date getCourseStartDate() {
         return courseStartDate;
     }
@@ -263,4 +266,12 @@ public class TeacherClassGroupDto {
     public void setThreeClassNoAttendanceStudentNum(Integer threeClassNoAttendanceStudentNum) {
         this.threeClassNoAttendanceStudentNum = threeClassNoAttendanceStudentNum;
     }
+
+    public String getStudyReportUrl() {
+        return studyReportUrl;
+    }
+
+    public void setStudyReportUrl(String studyReportUrl) {
+        this.studyReportUrl = studyReportUrl;
+    }
 }

+ 0 - 180
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleHistory.java

@@ -1,180 +0,0 @@
-package com.ym.mec.biz.dal.entity;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
-/**
- * 对应数据库表(course_schedule_history):
- */
-public class CourseScheduleHistory {
-
-	/**  */
-	private Long id;
-	
-	/** 班级编号 */
-	private Integer classGroupId;
-	
-	/** 课程状态 */
-	private String status;
-	
-	/** 补贴 */
-	private java.math.BigDecimal subsidy;
-	
-	/** 上课日期 */
-	private java.util.Date classDate;
-	
-	/** 上课时间 */
-	private java.util.Date startClassTime;
-	
-	/** 结束时间 */
-	private java.util.Date endClassTime;
-	
-	/** 上课教师 */
-	private Integer teacherId;
-	
-	/** 实际上课教师 */
-	private Integer actualTeacherId;
-	
-	/**  */
-	private java.util.Date createTime;
-	
-	/**  */
-	private java.util.Date updateTime;
-	
-	/** 教学形式(线上、线下) */
-	private String teachMode;
-	
-	/** 投诉状态 */
-	private String complaintStatus;
-	
-	/** 课程类型(单技课、小班课、合奏课、综合课、练习课、启蒙课、集训课、VIP课、试听课) */
-	private String type;
-	
-	/** 课程编号 */
-	private Long courseScheduleId;
-	
-	public void setId(Long id){
-		this.id = id;
-	}
-	
-	public Long getId(){
-		return this.id;
-	}
-			
-	public void setClassGroupId(Integer classGroupId){
-		this.classGroupId = classGroupId;
-	}
-	
-	public Integer getClassGroupId(){
-		return this.classGroupId;
-	}
-			
-	public void setStatus(String status){
-		this.status = status;
-	}
-	
-	public String getStatus(){
-		return this.status;
-	}
-			
-	public void setSubsidy(java.math.BigDecimal subsidy){
-		this.subsidy = subsidy;
-	}
-	
-	public java.math.BigDecimal getSubsidy(){
-		return this.subsidy;
-	}
-			
-	public void setClassDate(java.util.Date classDate){
-		this.classDate = classDate;
-	}
-	
-	public java.util.Date getClassDate(){
-		return this.classDate;
-	}
-			
-	public void setStartClassTime(java.util.Date startClassTime){
-		this.startClassTime = startClassTime;
-	}
-	
-	public java.util.Date getStartClassTime(){
-		return this.startClassTime;
-	}
-			
-	public void setEndClassTime(java.util.Date endClassTime){
-		this.endClassTime = endClassTime;
-	}
-	
-	public java.util.Date getEndClassTime(){
-		return this.endClassTime;
-	}
-			
-	public void setTeacherId(Integer teacherId){
-		this.teacherId = teacherId;
-	}
-	
-	public Integer getTeacherId(){
-		return this.teacherId;
-	}
-			
-	public void setActualTeacherId(Integer actualTeacherId){
-		this.actualTeacherId = actualTeacherId;
-	}
-	
-	public Integer getActualTeacherId(){
-		return this.actualTeacherId;
-	}
-			
-	public void setCreateTime(java.util.Date createTime){
-		this.createTime = createTime;
-	}
-	
-	public java.util.Date getCreateTime(){
-		return this.createTime;
-	}
-			
-	public void setUpdateTime(java.util.Date updateTime){
-		this.updateTime = updateTime;
-	}
-	
-	public java.util.Date getUpdateTime(){
-		return this.updateTime;
-	}
-			
-	public void setTeachMode(String teachMode){
-		this.teachMode = teachMode;
-	}
-	
-	public String getTeachMode(){
-		return this.teachMode;
-	}
-			
-	public void setComplaintStatus(String complaintStatus){
-		this.complaintStatus = complaintStatus;
-	}
-	
-	public String getComplaintStatus(){
-		return this.complaintStatus;
-	}
-			
-	public void setType(String type){
-		this.type = type;
-	}
-	
-	public String getType(){
-		return this.type;
-	}
-			
-	public void setCourseScheduleId(Long courseScheduleId){
-		this.courseScheduleId = courseScheduleId;
-	}
-	
-	public Long getCourseScheduleId(){
-		return this.courseScheduleId;
-	}
-			
-	@Override
-	public String toString() {
-		return ToStringBuilder.reflectionToString(this);
-	}
-
-}

+ 92 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultPracticeGroupSalary.java

@@ -0,0 +1,92 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(teacher_default_practice_group_salary):
+ */
+public class TeacherDefaultPracticeGroupSalary {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Integer userId;
+	
+	/**  */
+	private Integer minutes;
+	
+	/**  */
+	private long mainTeacherSalary;
+	
+	/**  */
+	private long assistantTeacherSalary;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setMinutes(Integer minutes){
+		this.minutes = minutes;
+	}
+	
+	public Integer getMinutes(){
+		return this.minutes;
+	}
+			
+	public void setMainTeacherSalary(long mainTeacherSalary){
+		this.mainTeacherSalary = mainTeacherSalary;
+	}
+	
+	public long getMainTeacherSalary(){
+		return this.mainTeacherSalary;
+	}
+			
+	public void setAssistantTeacherSalary(long assistantTeacherSalary){
+		this.assistantTeacherSalary = assistantTeacherSalary;
+	}
+	
+	public long getAssistantTeacherSalary(){
+		return this.assistantTeacherSalary;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

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

@@ -22,4 +22,11 @@ public interface CourseHomeworkService extends BaseService<Long, CourseHomework>
 	 * 作业未回复提醒
 	 */
 	void homeworkNoReplyRemind();
+
+	/**
+	 * 删除指定课程的作业
+	 * @param courseScheduleId
+	 * @return
+	 */
+	boolean delHomwworkByCourseScheduleId(Long courseScheduleId);
 }

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

@@ -1,8 +0,0 @@
-package com.ym.mec.biz.service;
-
-import com.ym.mec.biz.dal.entity.CourseScheduleHistory;
-import com.ym.mec.common.service.BaseService;
-
-public interface CourseScheduleHistoryService extends BaseService<Long, CourseScheduleHistory> {
-
-}

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

@@ -413,4 +413,10 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @param teacherId
 	 */
 	void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId);
+
+	/**
+	 * 清空老师和学生考勤
+	 * @param courseScheduleIds
+	 */
+    void cleanAttendance(String courseScheduleIds);
 }

+ 14 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -4,8 +4,8 @@ import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.common.service.BaseService;
 
 public interface SysConfigService extends BaseService<Long, SysConfig> {
-	
-	public static final String BASE_API_URL = "base_api_url";
+
+    public static final String BASE_API_URL = "base_api_url";
 
     /**
      * 缴费状态提前{}天刷新
@@ -32,7 +32,7 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
      */
     public static final String ADVANCE_LEAVE_HOURS = "advance_leave_hours";
 
-   String ENABLE_TEACHER_COURSE_ADJUST_DEFAULT_HOURS = "enable_teacher_course_adjust_default_hours";
+    String ENABLE_TEACHER_COURSE_ADJUST_DEFAULT_HOURS = "enable_teacher_course_adjust_default_hours";
 
     /**
      * 单技课梯度结算规则设置
@@ -126,7 +126,7 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
      * @describe 教师请假数据
      */
     String TEACHER_LEAVE_DATA = "teacher_leave_data";
-    
+
     /**
      * 十分钟内最大可发送的短信次数
      */
@@ -153,6 +153,16 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
     String PRACTICE_BUY_ACTIVITY_EXPIRE_DATE = "practice_buy_activity_expire_date";
 
     /**
+     * 陪练老师端入口地址
+     */
+    String TEACHER_STUDY_REPORT_URL = "teacher_study_report_url";
+
+    /**
+     * 陪练课学生地址
+     */
+    String STUDENT_STUDY_REPORT_URL = "student_study_report_url";
+
+    /**
      * @return com.ym.mec.biz.dal.entity.SysConfig
      * @params paramName
      * @describe 根据配置名称获取配置信息

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

@@ -0,0 +1,8 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
+import com.ym.mec.common.service.BaseService;
+
+public interface TeacherDefaultPracticeGroupSalaryService extends BaseService<Long, TeacherDefaultPracticeGroupSalary> {
+
+}

+ 11 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -679,12 +679,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<ImGroupModel> imGroupModels = classGroupDao.queryUserMusicGroups(userId, search);
         imGroupModels.addAll(classGroupDao.queryUserVipGroups(userId, search));
         if (imGroupModels != null && imGroupModels.size() > 0) {
-            Set<String> classGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
+//            Set<String> classGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
             //获取班级老师总数map
-            Map<Integer, Integer> numsMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countTeacherNums(StringUtils.join(classGroupIds, ",")))), 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(Integer.parseInt(e.getId()));
-                e.setCount((num == null ? 0 : num) + e.getCount());
+//                Integer num = numsMap.get(Integer.parseInt(e.getId()));
+                e.setCount(classGroupService.findGroupUsers(Integer.parseInt(e.getId())).size());
             });
         }
         return imGroupModels;
@@ -970,6 +970,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 }
                 teacherClassGroupDto.setSubjectNames(StringUtils.join(subjectNameList, ","));
             }
+            //剩余课程为显示陪练报告入口rul
+            if(teacherClassGroupDto.getType() == ClassGroupTypeEnum.PRACTICE){
+               if(teacherClassGroupDto.getSurplusClassTimes().equals(0)){
+                   String studyReportUrl = sysConfigDao.findConfigValue(SysConfigService.TEACHER_STUDY_REPORT_URL);
+                   teacherClassGroupDto.setStudyReportUrl(studyReportUrl+teacherClassGroupDto.getClassGroupId());
+               }
+            }
         });
 
         return teacherMusicClassGroup;

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseHomeworkServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.CourseHomeworkDao;
+import com.ym.mec.biz.dal.dao.StudentCourseHomeworkDao;
 import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.TeacherHomeworkListDto;
 import com.ym.mec.biz.dal.entity.CourseHomework;
@@ -12,8 +13,11 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -26,6 +30,10 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 
 	@Autowired
 	private CourseHomeworkDao courseHomeworkDao;
+	
+	@Autowired
+	private StudentCourseHomeworkDao studentCourseHomeworkDao;
+	
 	@Autowired
 	private SysMessageService sysMessageService;
 
@@ -84,4 +92,16 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_JOB_WAIT_REPLY, receivers, null, 0, "6?", "TEACHER", mapper.getValue());
 		}
 	}
+
+	@Override
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public boolean delHomwworkByCourseScheduleId(Long courseScheduleId) {
+		//删除作业
+		courseHomeworkDao.delByCourseScheduleId(courseScheduleId);
+		//删除学生作业
+		studentCourseHomeworkDao.delByCourseScheduleId(courseScheduleId);
+		//删除学生回复的作业
+		
+		return true;
+	}
 }

+ 0 - 23
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleHistoryServiceImpl.java

@@ -1,23 +0,0 @@
-package com.ym.mec.biz.service.impl;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.ym.mec.biz.dal.dao.CourseScheduleHistoryDao;
-import com.ym.mec.biz.dal.entity.CourseScheduleHistory;
-import com.ym.mec.biz.service.CourseScheduleHistoryService;
-import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.service.impl.BaseServiceImpl;
-
-@Service
-public class CourseScheduleHistoryServiceImpl extends BaseServiceImpl<Long, CourseScheduleHistory>  implements CourseScheduleHistoryService {
-	
-	@Autowired
-	private CourseScheduleHistoryDao courseScheduleHistoryDao;
-
-	@Override
-	public BaseDAO<Long, CourseScheduleHistory> getDAO() {
-		return courseScheduleHistoryDao;
-	}
-	
-}

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

@@ -112,6 +112,7 @@ import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
+import com.ym.mec.biz.service.CourseHomeworkService;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
 import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
@@ -189,6 +190,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     private MusicGroupService musicGroupService;
     @Autowired
     private SysConfigService sysConfigService;
+    
+    @Autowired
+    private CourseHomeworkService courseHomeworkService;
+    
     @Autowired
     private GroupDao groupDao;
     @Autowired
@@ -1786,6 +1791,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		Date entryDate = DateUtil.stringToDate(sysConfigDao.findByParamName(SysConfigService.TEACHER_ENTRY_DATE).getParanValue(), "yyyy-MM-dd");
 
 		List<CourseScheduleModifyLog> insertCourseScheduleModifyLogList = new ArrayList<CourseScheduleModifyLog>();
+		
+		List<CourseScheduleStudentPayment> insertCourseScheduleStudentPaymentList = new ArrayList<CourseScheduleStudentPayment>();
 
 		for (CourseSchedule newCourseSchedule : newCourseSchedules) {
 			courseScheduleId = newCourseSchedule.getId();
@@ -1817,9 +1824,33 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				}
 			}
 			
-			//如果已结束修改成了未开始,需要更新学生考勤记录
 			if ((newCourseSchedule.getStatus() != oldCourseSchedule.getStatus() && newCourseSchedule.getStatus() == CourseStatusEnum.NOT_START)) {
+				//如果已结束修改成了未开始,需要更新学生考勤记录
 				studentAttendanceDao.deleteStudentAttendancesByCourse(courseScheduleId);
+				
+				if(newCourseSchedule.getGroupType() == GroupType.MUSIC){
+					//查询新生(之前排课没有这个人,后来新进来的学生)
+					List<ClassGroupStudentMapper> newStudentList = classGroupStudentMapperDao.queryNewStudentListByCourseScheduleId(courseScheduleId);
+					if(newStudentList.size() > 0){
+						//生成courseScheduleStudentPayment记录
+						for(ClassGroupStudentMapper cgsm : newStudentList){
+							CourseScheduleStudentPayment sp = new CourseScheduleStudentPayment();
+							sp.setClassGroupId(newCourseSchedule.getClassGroupId());
+							sp.setCourseScheduleId(courseScheduleId);
+							sp.setCreateTime(date);
+							sp.setExpectPrice(new BigDecimal(0));
+							sp.setGroupType(GroupType.MUSIC);
+							sp.setMusicGroupId(newCourseSchedule.getMusicGroupId());
+							sp.setUpdateTime(date);
+							sp.setUserId(cgsm.getUserId());
+							
+							insertCourseScheduleStudentPaymentList.add(sp);
+						}
+					}
+					
+					//清理课程作业
+					courseHomeworkService.delHomwworkByCourseScheduleId(courseScheduleId);
+				}
 			}
 
 			// 计算课程时长
@@ -1966,6 +1997,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(newCourseSchedules.size() > 0){
 			courseScheduleDao.batchUpdate(newCourseSchedules);
 		}
+		
+		if(insertCourseScheduleStudentPaymentList.size() > 0){
+			courseScheduleStudentPaymentDao.batchInsert(insertCourseScheduleStudentPaymentList);
+		}
 
 		// 推送
 		try {
@@ -3110,4 +3145,19 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                     teacherIdMap, null, 0, "7","TEACHER");
         }
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void cleanAttendance(String courseScheduleIds) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (null == user) {
+            throw new BizException("获取用户信息失败");
+        }
+        if(StringUtils.isEmpty(courseScheduleIds)){
+            throw new BizException("参数校验失败");
+        }
+        LOGGER.info("清空老师和学生考勤,user:{},参数:{}",user.getId(),courseScheduleIds);
+        teacherAttendanceDao.batchCleanCourseTeacherSign(courseScheduleIds);
+        studentAttendanceDao.batchCleanCourseStudentSign(courseScheduleIds);
+    }
 }

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

@@ -24,6 +24,7 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.http.HttpUtil;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -1099,7 +1100,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         teacherIds.addAll(teacherDao.findVipTeacherIds(studentId));
         //获取陪练课老师列表
         teacherIds.addAll(teacherDao.findPracticeTeacherIds(studentId));
-        return teacherDao.queryTeacherBaseInfo(teacherIds);
+        if(teacherIds.size() > 0){
+        	return teacherDao.queryTeacherBaseInfo(teacherIds);
+        }
+        return new ArrayList<BasicUserDto>();
     }
 
     @Override

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultPracticeGroupSalaryServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.biz.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.biz.dal.dao.TeacherDefaultPracticeGroupSalaryDao;
+import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
+import com.ym.mec.biz.service.TeacherDefaultPracticeGroupSalaryService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+
+@Service
+public class TeacherDefaultPracticeGroupSalaryServiceImpl extends BaseServiceImpl<Long, TeacherDefaultPracticeGroupSalary>  implements TeacherDefaultPracticeGroupSalaryService {
+	
+	@Autowired
+	private TeacherDefaultPracticeGroupSalaryDao teacherDefaultPracticeGroupSalaryDao;
+
+	@Override
+	public BaseDAO<Long, TeacherDefaultPracticeGroupSalary> getDAO() {
+		return teacherDefaultPracticeGroupSalaryDao;
+	}
+	
+}

+ 8 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
@@ -37,6 +38,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	@Autowired
 	private ClassGroupDao classGroupDao;
 	@Autowired
+	private ClassGroupService classGroupService;
+	@Autowired
 	private MusicGroupDao musicGroupDao;
 	@Autowired
 	private DemoGroupDao demoGroupDao;
@@ -138,12 +141,13 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 		//获取教师所在班级列表
 		List<ImGroupModel> imGroupModels =  classGroupDao.queryTeacherGroups(userId,search);
 		if(imGroupModels != null && imGroupModels.size() > 0){
-			Set<String> classGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
+//			Set<String> classGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
 			//获取班级老师总数map
-			Map<Integer, Integer> numsMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countTeacherNums(StringUtils.join(classGroupIds, ",")))),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(Integer.parseInt(e.getId()));
-				e.setCount((num == null ? 0 : num) + e.getCount());
+//				Integer num = numsMap.get(Integer.parseInt(e.getId()));
+				e.setCount(classGroupService.findGroupUsers(Integer.parseInt(e.getId())).size());
 			});
 		}
 		return imGroupModels;

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

@@ -384,4 +384,9 @@
             </foreach>
         ORDER BY create_time_ DESC
     </select>
+    
+    <select id="queryNewStudentListByCourseScheduleId" resultMap="ClassGroupStudentMapper">
+       SELECT cgsm.* FROM class_group_student_mapper cgsm LEFT JOIN course_schedule_student_payment cssp on cssp.class_group_id_ = cgsm.class_group_id_ and cssp.user_id_ = cgsm.user_id_ 
+		WHERE cssp.id_ IS NULL AND cgsm.status_ != 'QUIT' and cssp.course_schedule_id_ = #{courseScheduleId}
+    </select>
 </mapper>

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -237,4 +237,8 @@
 		where cs.del_flag_ = 0 AND cs.actual_teacher_id_ IS NOT NULL
 		AND sch.is_replied_ = 0 group by cs.actual_teacher_id_
 	</select>
+	
+	<delete id="delByCourseScheduleId" >
+		DELETE FROM course_homework WHERE course_schedule_id_ = #{courseScheduleId} 
+	</delete>
 </mapper>

+ 0 - 112
mec-biz/src/main/resources/config/mybatis/CourseScheduleHistoryMapper.xml

@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<!--
-这个文件是自动生成的。
-不要修改此文件。所有改动将在下次重新自动生成时丢失。
--->
-<mapper namespace="com.ym.mec.biz.dal.dao.CourseScheduleHistoryDao">
-	
-	<resultMap type="com.ym.mec.biz.dal.entity.CourseScheduleHistory" id="CourseScheduleHistory">
-		<result column="id_" property="id" />
-		<result column="class_group_id_" property="classGroupId" />
-		<result column="status_" property="status" />
-		<result column="subsidy_" property="subsidy" />
-		<result column="class_date_" property="classDate" />
-		<result column="start_class_time_" property="startClassTime" />
-		<result column="end_class_time_" property="endClassTime" />
-		<result column="teacher_id_" property="teacherId" />
-		<result column="actual_teacher_id_" property="actualTeacherId" />
-		<result column="create_time_" property="createTime" />
-		<result column="update_time_" property="updateTime" />
-		<result column="teach_mode_" property="teachMode" />
-		<result column="complaint_status_" property="complaintStatus" />
-		<result column="type_" property="type" />
-		<result column="course_schedule_id_" property="courseScheduleId" />
-	</resultMap>
-	
-	<!-- 根据主键查询一条记录 -->
-	<select id="get" resultMap="CourseScheduleHistory" >
-		SELECT * FROM course_schedule_history WHERE id_ = #{id} 
-	</select>
-	
-	<!-- 全查询 -->
-	<select id="findAll" resultMap="CourseScheduleHistory">
-		SELECT * FROM course_schedule_history ORDER BY id_
-	</select>
-	
-	<!-- 向数据库增加一条记录 -->
-	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleHistory" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		INSERT INTO course_schedule_history (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,teach_mode_,complaint_status_,type_,course_schedule_id_) VALUES(#{id},#{classGroupId},#{status},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{actualTeacherId},#{createTime},NOW(),#{teachMode},#{complaintStatus},#{type},#{courseScheduleId})
-	</insert>
-	
-	<!-- 根据主键查询一条记录 -->
-	<update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleHistory">
-		UPDATE course_schedule_history <set>
-<if test="status != null">
-status_ = #{status},
-</if>
-<if test="id != null">
-id_ = #{id},
-</if>
-<if test="classGroupId != null">
-class_group_id_ = #{classGroupId},
-</if>
-<if test="teachMode != null">
-teach_mode_ = #{teachMode},
-</if>
-<if test="complaintStatus != null">
-complaint_status_ = #{complaintStatus},
-</if>
-<if test="createTime != null">
-create_time_ = #{createTime},
-</if>
-<if test="classDate != null">
-class_date_ = #{classDate},
-</if>
-<if test="endClassTime != null">
-end_class_time_ = #{endClassTime},
-</if>
-<if test="actualTeacherId != null">
-actual_teacher_id_ = #{actualTeacherId},
-</if>
-<if test="subsidy != null">
-subsidy_ = #{subsidy},
-</if>
-<if test="startClassTime != null">
-start_class_time_ = #{startClassTime},
-</if>
-<if test="teacherId != null">
-teacher_id_ = #{teacherId},
-</if>
-<if test="updateTime != null">
-update_time_ = NOW(),
-</if>
-<if test="courseScheduleId != null">
-course_schedule_id_ = #{courseScheduleId},
-</if>
-<if test="type != null">
-type_ = #{type},
-</if>
-</set> WHERE id_ = #{id} 
-	</update>
-	
-	<!-- 根据主键删除一条记录 -->
-	<delete id="delete" >
-		DELETE FROM course_schedule_history WHERE id_ = #{id} 
-	</delete>
-	
-	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="CourseScheduleHistory" parameterType="map">
-		SELECT * FROM course_schedule_history ORDER BY id_ <include refid="global.limit"/>
-	</select>
-	
-	<!-- 查询当前表的总记录数 -->
-	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM course_schedule_history
-	</select>
-</mapper>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml

@@ -172,6 +172,9 @@
     <delete id="deleteByGroup">
         DELETE FROM student_attendance WHERE music_group_id_=#{groupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
     </delete>
+    <delete id="batchCleanCourseStudentSign">
+        DELETE FROM student_attendance WHERE course_schedule_id_ FIND_IN_SET(#{courseScheduleIds})
+    </delete>
 
     <resultMap id="studentAttendanceViewUtilEntity" type="com.ym.mec.biz.dal.dto.StudentAttendanceViewDto">
         <result property="classGroupId" column="class_group_id_"/>

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -286,4 +286,8 @@
         ORDER BY sch.id_ DESC
         <include refid="global.limit"/>
     </select>
+    
+    <delete id="delByCourseScheduleId">
+		DELETE FROM student_course_homework WHERE course_schedule_id_ = #{courseScheduleId} 
+	</delete>
 </mapper>

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

@@ -376,6 +376,11 @@
             #{courseScheduleId}
         </foreach>
     </update>
+    <update id="batchCleanCourseTeacherSign">
+        UPDATE teacher_attendance
+        SET sign_in_time_ = NULL,sign_in_status_=NULL,sign_out_status_ = NULL,sign_out_time_= NULL
+        WHERE course_schedule_id_ FIND_IN_SET(#{courseScheduleIds})
+    </update>
 
     <delete id="deleteByMusicGroupId" parameterType="map" >
 		DELETE ta FROM teacher_attendance ta LEFT JOIN course_schedule cs ON ta.course_schedule_id_ = cs.id_

+ 87 - 0
mec-biz/src/main/resources/config/mybatis/TeacherDefaultPracticeGroupSalaryMapper.xml

@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- 这个文件是自动生成的。 不要修改此文件。所有改动将在下次重新自动生成时丢失。 -->
+<mapper namespace="com.ym.mec.biz.dal.dao.TeacherDefaultPracticeGroupSalaryDao">
+
+	<resultMap
+		type="com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary" id="TeacherDefaultPracticeGroupSalary">
+		<result column="id_" property="id" />
+		<result column="user_id_" property="userId" />
+		<result column="minutes_" property="minutes" />
+		<result column="main_teacher_salary_" property="mainTeacherSalary" />
+		<result column="assistant_teacher_salary_" property="assistantTeacherSalary" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="TeacherDefaultPracticeGroupSalary">
+		SELECT * FROM teacher_default_practice_group_salary WHERE id_ = #{id}
+	</select>
+
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="TeacherDefaultPracticeGroupSalary">
+		SELECT * FROM
+		teacher_default_practice_group_salary ORDER BY id_
+	</select>
+
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert"
+		parameterType="com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary"
+		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
+			AS ID FROM DUAL </selectKey> -->
+		INSERT INTO teacher_default_practice_group_salary
+		(id_,user_id_,minutes_,main_teacher_salary_,assistant_teacher_salary_,create_time_,update_time_)
+		VALUES(#{id},#{userId},#{minutes},#{mainTeacherSalary},#{assistantTeacherSalary},#{createTime},#{updateTime})
+	</insert>
+
+	<!-- 根据主键查询一条记录 -->
+	<update id="update"
+		parameterType="com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary">
+		UPDATE teacher_default_practice_group_salary
+		<set>
+			<if test="userId != null">
+				user_id_ = #{userId},
+			</if>
+			<if test="id != null">
+				id_ = #{id},
+			</if>
+			<if test="updateTime != null">
+				update_time_ = #{updateTime},
+			</if>
+			<if test="minutes != null">
+				minutes_ = #{minutes},
+			</if>
+			<if test="mainTeacherSalary != null">
+				main_teacher_salary_ = #{mainTeacherSalary},
+			</if>
+			<if test="assistantTeacherSalary != null">
+				assistant_teacher_salary_ = #{assistantTeacherSalary},
+			</if>
+			<if test="createTime != null">
+				create_time_ = #{createTime},
+			</if>
+		</set>
+		WHERE id_ = #{id}
+	</update>
+
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete">
+		DELETE FROM
+		teacher_default_practice_group_salary WHERE id_ = #{id}
+	</delete>
+
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="TeacherDefaultPracticeGroupSalary"
+		parameterType="map">
+		SELECT * FROM teacher_default_practice_group_salary ORDER BY id_
+		<include refid="global.limit" />
+	</select>
+
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM
+		teacher_default_practice_group_salary
+	</select>
+</mapper>

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

@@ -806,19 +806,19 @@
     </select>
     <select id="findMusicTeacherIds" resultType="java.lang.Integer">
         SELECT DISTINCT cgtm.user_id_ FROM class_group_student_mapper cgsm
-        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.course_schedule_id_ = cgtm.course_schedule_id_
+        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.class_group_id_ = cgtm.class_group_id_
         LEFT JOIN music_group mg ON cgsm.music_group_id_ = mg.id_
         WHERE mg.status_ = 'PROGRESS' AND cgsm.user_id_ = #{studentId}
     </select>
     <select id="findVipTeacherIds" resultType="java.lang.Integer">
         SELECT DISTINCT cgtm.user_id_ FROM class_group_student_mapper cgsm
-        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.course_schedule_id_ = cgtm.course_schedule_id_
+        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.class_group_id_ = cgtm.class_group_id_
         LEFT JOIN vip_group vg ON vg.id_ = cgsm.music_group_id_
         WHERE vg.group_status_ IN (2,4) AND cgsm.user_id_ = #{studentId}
     </select>
     <select id="findPracticeTeacherIds" resultType="java.lang.Integer">
         SELECT DISTINCT cgtm.user_id_ FROM class_group_student_mapper cgsm
-        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.course_schedule_id_ = cgtm.course_schedule_id_
+        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.class_group_id_ = cgtm.class_group_id_
         LEFT JOIN practice_group pg ON pg.id_ = cgsm.music_group_id_
         WHERE cgsm.group_type_ = 'PRACTICE' AND cgsm.user_id_ = #{studentId}
     </select>

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -321,5 +321,13 @@ public class CourseScheduleController extends BaseController {
         scheduleService.practiceGroupTeacherAdjust(practiceGroupId,teacherId);
         return succeed();
     }
+
+    @ApiOperation(value = "清空老师和学生考勤记录")
+    @PostMapping("/cleanAttendance")
+    @PreAuthorize("@pcs.hasPermissions('courseSchedule/cleanAttendance')")
+    public Object cleanAttendance(String courseScheduleIds){
+        scheduleService.cleanAttendance(courseScheduleIds);
+        return succeed();
+    }
 }
 

+ 38 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultPracticeGroupSalaryController.java

@@ -0,0 +1,38 @@
+package com.ym.mec.web.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.biz.service.TeacherDefaultPracticeGroupSalaryService;
+import com.ym.mec.common.controller.BaseController;
+
+@Api(tags = "老师默认陪练课薪酬")
+@RequestMapping("teacherDefaultPracticeGroupSalary")
+@RestController
+public class TeacherDefaultPracticeGroupSalaryController extends BaseController {
+
+    @Autowired
+    private TeacherDefaultPracticeGroupSalaryService teacherDefaultPracticeGroupSalaryService;
+
+    @ApiOperation(value = "获取教师的陪练课课酬列表")
+    @GetMapping("/queryPageByTeacherId")
+    @PreAuthorize("@pcs.hasPermissions('teacherDefaultPracticeGroupSalary/queryByTeacherId')")
+    public Object queryByTeacherId(Integer teacherId){
+        return succeed();
+    }
+
+    @ApiOperation(value = "批量新增、修改教师vip课酬")
+    @PostMapping("/update")
+    @PreAuthorize("@pcs.hasPermissions('teacherDefaultPracticeGroupSalary/update')")
+    public Object setVipGroupSalary(){
+        return succeed();
+    }
+
+}