Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
42c7d7706e

+ 8 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -8,7 +8,10 @@ import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.dal.page.StudentAttendanceQueryInfo;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.StudentAttendanceService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.common.config.RequestAttributeHystrixConcurrencyStrategy;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -18,6 +21,8 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -44,8 +49,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
-	private SubjectDao subjectDao;
-	@Autowired
 	private MusicGroupStudentFeeDao musicGroupStudentFeeDao;
 	@Autowired
 	private MusicGroupQuitDao musicGroupQuitDao;
@@ -58,14 +61,13 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 	@Autowired
 	private SysConfigService sysConfigService;
 	@Autowired
-	private CourseScheduleService courseScheduleService;
-	@Autowired
 	private TeacherAttendanceDao teacherAttendanceDao;
 
 	@Override
 	public BaseDAO<Long, StudentAttendance> getDAO() {
 		return studentAttendanceDao;
 	}
+	private static final Logger log = LoggerFactory.getLogger(StudentAttendanceServiceImpl.class);
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -583,7 +585,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 	}
 
 	@Override
-	@Transactional(rollbackFor = Exception.class)
 	public void repairStudentAttendance(Integer month) {
 		//获取所有有老师考勤的课程记录,正常签退,当月线上课,有学员签到记录
 		List<CourseSchedule> courseScheduleList = courseScheduleDao.queryScheduleByAttendance(month);
@@ -594,6 +595,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		}
 		Date date = new Date();
 		for (CourseSchedule courseSchedule : courseScheduleList) {
+			log.info("课程编号: {}",courseSchedule.getId());
 			//只会修复签到的学员考勤
 			List<StudentAttendance> byCourseId = studentAttendanceDao.findByCourseId(courseSchedule.getId());
 			if(byCourseId == null || byCourseId.size() == 0){

+ 4 - 6
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -2528,9 +2528,8 @@
         SELECT cs.*
         FROM course_schedule cs
                  LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
-        WHERE (UNIX_TIMESTAMP(CONCAT(cs.class_date_, ' ', cs.start_class_time_)) - UNIX_TIMESTAMP(#{endDateTime})) >= 0
-          AND (UNIX_TIMESTAMP(CONCAT(cs.class_date_, ' ', cs.start_class_time_)) - UNIX_TIMESTAMP(#{endDateTime})) &lt;=
-              60 * #{continueCourseTime}
+        WHERE TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) >= 0
+          AND TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) &lt;= #{continueCourseTime}
           AND cs.teacher_id_ = #{courseSchedule.teacherId}
           AND cs.class_group_id_ = #{courseSchedule.classGroupId}
           AND ta.sign_in_time_ IS NULL
@@ -2541,9 +2540,8 @@
         SELECT cs.*
         FROM course_schedule cs
                  LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
-        WHERE (UNIX_TIMESTAMP(CONCAT(cs.class_date_, ' ', cs.start_class_time_)) - UNIX_TIMESTAMP(#{endDateTime})) >= 0
-          AND (UNIX_TIMESTAMP(CONCAT(cs.class_date_, ' ', cs.start_class_time_)) - UNIX_TIMESTAMP(#{endDateTime})) &lt;=
-              60 * #{continueCourseTime}
+        WHERE TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) >= 0
+          AND TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) &lt;= #{continueCourseTime}
           AND cs.teacher_id_ = #{courseSchedule.teacherId}
           AND cs.class_group_id_ = #{courseSchedule.classGroupId}
         LIMIT 1

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

@@ -846,6 +846,12 @@
         LEFT JOIN practice_group pg ON pg.id_ = cgsm.music_group_id_
         WHERE cgsm.group_type_ = 'PRACTICE' AND cgsm.user_id_ = #{studentId}
     </select>
+    <select id="findCloseCourseTeacherIds" resultType="java.lang.Integer">
+        SELECT DISTINCT cgtm.user_id_ FROM class_group_student_mapper cgsm
+        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.class_group_id_ = cgtm.class_group_id_
+        LEFT JOIN courses_group cg ON cg.id_ = cgsm.music_group_id_
+        WHERE cgsm.group_type_ = 'COMM' AND cgsm.user_id_ = #{studentId}
+    </select>
 
     <select id="findTeacherInfo"  resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
         SELECT
@@ -882,12 +888,6 @@
         </if>
         GROUP BY su.id_
     </select>
-    <select id="findCloseCourseTeacherIds" resultType="java.lang.Integer">
-        SELECT DISTINCT csts.user_id_ FROM course_schedule_student_payment cssp
-        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
-        LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_
-        WHERE cssp.group_type_ IN ('VIP','PRACTICE') AND cs.status_ = 'OVER' AND cssp.user_id_ = #{studentId}
-    </select>
     <select id="findCloseCourseStudentIds" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
         SELECT su.username_,su.id_ user_id_,su.avatar_ head_url_,su.gender_,NULL subject_name_,su.user_type_
         FROM course_schedule_teacher_salary csts