Joburgess 5 years ago
parent
commit
8a7a23b004

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -621,11 +621,12 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<StudentAttendance> queryUnsignedStudentList();
     List<StudentAttendance> queryUnsignedStudentList();
 
 
     /**
     /**
-     * @param classGroupId: 班级编号
+     * @param currentCourseDate: 班级编号
      * @return java.lang.Integer
      * @return java.lang.Integer
      * @describe 统计已上的课时数
      * @describe 统计已上的课时数
      * @author Joburgess
      * @author Joburgess
      * @date 2019/11/19
      * @date 2019/11/19
      */
      */
-    Integer countCurrentTimes(Integer classGroupId);
+    Integer countCurrentTimes(@Param("classGroupId") Integer classGroupId,
+                              @Param("currentCourseDate") Date currentCourseDate);
 }
 }

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

@@ -5,4 +5,6 @@ import com.ym.mec.common.service.BaseService;
 
 
 public interface StudentCourseHomeworkReplyService extends BaseService<Long, StudentCourseHomeworkReply> {
 public interface StudentCourseHomeworkReplyService extends BaseService<Long, StudentCourseHomeworkReply> {
 
 
-}
+    void insertTeacherReply(StudentCourseHomeworkReply bean);
+
+}

+ 12 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkReplyServiceImpl.java

@@ -43,10 +43,20 @@ public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long,
 		if(Objects.isNull(studentCourseHomework)){
 		if(Objects.isNull(studentCourseHomework)){
 			throw new BizException("请指定需要回复的作业");
 			throw new BizException("请指定需要回复的作业");
 		}
 		}
+		return super.insert(bean);
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void insertTeacherReply(StudentCourseHomeworkReply bean) {
+		StudentCourseHomework studentCourseHomework = studentCourseHomeworkService.get(bean.getStudentCourseHomeworkId());
+		if(Objects.isNull(studentCourseHomework)){
+			throw new BizException("请指定需要回复的作业");
+		}
 		studentCourseHomeworkService.updateReplyStatus(bean.getUserId(),
 		studentCourseHomeworkService.updateReplyStatus(bean.getUserId(),
 				studentCourseHomework.getCourseHomeworkId(),
 				studentCourseHomework.getCourseHomeworkId(),
 				studentCourseHomework.getUserId());
 				studentCourseHomework.getUserId());
-		return super.insert(bean);
+		super.insert(bean);
 	}
 	}
 
 
 	@Override
 	@Override
@@ -92,4 +102,4 @@ public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long,
 		return studentCourseHomeworkCommentDto;
 		return studentCourseHomeworkCommentDto;
 	}
 	}
 
 
-}
+}

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

@@ -101,7 +101,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		if(courseSchedule == null){
 		if(courseSchedule == null){
 			throw new BizException("课程信息不存在");
 			throw new BizException("课程信息不存在");
 		}
 		}
-		teacherAttendance.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(teacherAttendance.getClassGroupId()) + 1);
 		String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
 		String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
 		String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
 		String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
 		String endClassTime = DateUtil.format(courseSchedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
 		String endClassTime = DateUtil.format(courseSchedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
@@ -112,6 +111,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		Date add20Minutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
 		Date add20Minutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
 		Date add60Minutes = DateUtil.addMinutes(classStartDateTime, -60);
 		Date add60Minutes = DateUtil.addMinutes(classStartDateTime, -60);
 		if(teacherAttendance.getSignInTime() == null && teacherSignOutDto.getTeacherAttendanceInfo().getStatus().equals(SignStatusEnum.SIGN_IN.getCode())){
 		if(teacherAttendance.getSignInTime() == null && teacherSignOutDto.getTeacherAttendanceInfo().getStatus().equals(SignStatusEnum.SIGN_IN.getCode())){
+			teacherAttendance.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(teacherAttendance.getClassGroupId(),courseSchedule.getStartClassTime()) + 1);
 
 
 			if (currentCourseDetail.getEndClassTime().before(date)){
 			if (currentCourseDetail.getEndClassTime().before(date)){
 				throw new BizException("该课程已结束,不能进行签到!");
 				throw new BizException("该课程已结束,不能进行签到!");
@@ -149,7 +149,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		}else if(teacherAttendance.getSignOutTime() == null && teacherSignOutDto.getTeacherAttendanceInfo().getStatus().equals(SignStatusEnum.SIGN_OUT.getCode())){
 		}else if(teacherAttendance.getSignOutTime() == null && teacherSignOutDto.getTeacherAttendanceInfo().getStatus().equals(SignStatusEnum.SIGN_OUT.getCode())){
 			//正常签退范围(结束后1小时内)
 			//正常签退范围(结束后1小时内)
 			teacherAttendance.setSignOutTime(date);
 			teacherAttendance.setSignOutTime(date);
-			if(DateUtil.minutesBetween(classEndDateTime,date) > 0 && DateUtil.minutesBetween(date,classEndDateAdd60Minutes) > 0){
+			if(DateUtil.minutesBetween(classEndDateTime,date) >= 0 && DateUtil.minutesBetween(date,classEndDateAdd60Minutes) >= 0){
 				teacherAttendance.setSignOutStatus(YesOrNoEnum.YES);
 				teacherAttendance.setSignOutStatus(YesOrNoEnum.YES);
 				result.put("signInStatus",0);
 				result.put("signInStatus",0);
 			}else if(DateUtil.minutesBetween(classEndDateAdd60Minutes,date) > 0){
 			}else if(DateUtil.minutesBetween(classEndDateAdd60Minutes,date) > 0){

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

@@ -909,19 +909,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("该课程已结束报名!");
 			throw new BizException("该课程已结束报名!");
 		}
 		}
 
 
-		StudentPaymentOrder successOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupBuyParams.getVipGroupId(),
+		StudentPaymentOrder oldOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupBuyParams.getVipGroupId(),
 				user.getId(),
 				user.getId(),
-				DealStatusEnum.SUCCESS.getMsg());
+				null);
 
 
-		if(Objects.nonNull(successOrder)){
+		if(Objects.nonNull(oldOrder)&&oldOrder.getStatus().equals(DealStatusEnum.SUCCESS)){
 			throw new BizException("您已购买过此课程");
 			throw new BizException("您已购买过此课程");
-		}
-
-		StudentPaymentOrder byStudentVipGroup = studentPaymentOrderDao.findByStudentVipGroup(vipGroupBuyParams.getVipGroupId(),
-				user.getId(),
-				DealStatusEnum.ING.getCode());
-
-		if(Objects.nonNull(byStudentVipGroup)){
+		}else if(Objects.nonNull(oldOrder)&&oldOrder.getStatus().equals(DealStatusEnum.ING)){
 			throw new BizException("您有处理中的订单,请等待处理结果");
 			throw new BizException("您有处理中的订单,请等待处理结果");
 		}else{
 		}else{
 			if(classGroup.getStudentNum()>=classGroup.getExpectStudentNum()){
 			if(classGroup.getStudentNum()>=classGroup.getExpectStudentNum()){

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

@@ -188,7 +188,7 @@
         FROM
         FROM
         course_schedule cs
         course_schedule cs
         INNER JOIN class_group cg ON cs.class_group_id_=cg.id_
         INNER JOIN class_group cg ON cs.class_group_id_=cg.id_
-        WHERE cg.music_group_id_=#{musicGroupID}
+        WHERE cg.music_group_id_=#{musicGroupID} AND cg.group_type_='MUSIC'
     </delete>
     </delete>
 
 
     <delete id="batchDeleteCourseSchedules">
     <delete id="batchDeleteCourseSchedules">
@@ -1420,6 +1420,6 @@
         LIMIT 1
         LIMIT 1
     </select>
     </select>
     <select id="countCurrentTimes" resultType="int">
     <select id="countCurrentTimes" resultType="int">
-        SELECT COUNT(*) FROM course_schedule WHERE class_group_id_=#{classGroupId} AND CONCAT(class_date_,' ',end_class_time_)&lt;NOW()
+        SELECT COUNT(*) FROM course_schedule WHERE class_group_id_=#{classGroupId} AND CONCAT(class_date_,' ',end_class_time_)&lt;#{currentCourseDate}
     </select>
     </select>
 </mapper>
 </mapper>

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

@@ -249,7 +249,7 @@
 			student_course_homework sch
 			student_course_homework sch
 			LEFT JOIN sys_user su ON sch.user_id_=su.id_
 			LEFT JOIN sys_user su ON sch.user_id_=su.id_
 			<where>
 			<where>
-				sch.course_homework_id_=#{courseScheduleId}
+				sch.course_schedule_id_=#{courseScheduleId}
 				<if test="userName!=null and userName!=''">
 				<if test="userName!=null and userName!=''">
 					AND su.username_ LIKE CONCAT('%',#{userName},'%')
 					AND su.username_ LIKE CONCAT('%',#{userName},'%')
 				</if>
 				</if>

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

@@ -200,7 +200,9 @@
           student_payment_order spo
           student_payment_order spo
         WHERE spo.user_id_=#{userId}
         WHERE spo.user_id_=#{userId}
             AND spo.music_group_id_=#{vipGroupId}
             AND spo.music_group_id_=#{vipGroupId}
-            AND spo.status_=#{status}
+            <if test="status!=null and status!=''">
+                AND spo.status_=#{status}
+            </if>
             AND spo.type_ = 'SMALL_CLASS_TO_BUY'
             AND spo.type_ = 'SMALL_CLASS_TO_BUY'
     </select>
     </select>
     <!-- 查询报名订单 -->
     <!-- 查询报名订单 -->

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

@@ -318,13 +318,13 @@
 
 
     <select id="findTeacherByMusicGroup" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
     <select id="findTeacherByMusicGroup" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
         SELECT
         SELECT
-        su.id_ user_id_,
-        su.username_
+            su.id_ user_id_,
+            su.username_
         FROM
         FROM
-        class_group_teacher_mapper cgtm
-        LEFT JOIN class_group cg ON cg.id_=cgtm.class_group_id_
-        LEFT JOIN sys_user su ON cgtm.user_id_=su.id_
-        WHERE cg.music_group_id_=#{musicGroupId}
+          class_group_teacher_mapper cgtm
+            LEFT JOIN class_group cg ON cg.id_=cgtm.class_group_id_
+            LEFT JOIN sys_user su ON cgtm.user_id_=su.id_
+        WHERE cg.music_group_id_=#{musicGroupId} AND cg.group_type_='MUSIC'
         GROUP BY su.id_
         GROUP BY su.id_
     </select>
     </select>
     <resultMap id="MusicGroupTeachersDto" type="com.ym.mec.biz.dal.dto.MusicGroupTeachersDto">
     <resultMap id="MusicGroupTeachersDto" type="com.ym.mec.biz.dal.dto.MusicGroupTeachersDto">

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

@@ -118,7 +118,9 @@
         LEFT JOIN sys_user su ON su.id_ = cs.actual_teacher_id_
         LEFT JOIN sys_user su ON su.id_ = cs.actual_teacher_id_
         LEFT JOIN class_group_student_mapper cgsm ON cgsm.music_group_id_ = vg.id_
         LEFT JOIN class_group_student_mapper cgsm ON cgsm.music_group_id_ = vg.id_
         <where>
         <where>
-            vg.audit_status_ = 'PASS' AND cs.id_ IS NOT NULL AND cgsm.status_ != 'QUIT'
+            vg.audit_status_ = 'PASS'
+            AND cg.group_type_ = 'VIP'
+            AND cs.id_ IS NOT NULL AND cgsm.status_ != 'QUIT'
             <if test="studentId != null">
             <if test="studentId != null">
                 AND cgsm.user_id_ = #{studentId}
                 AND cgsm.user_id_ = #{studentId}
             </if>
             </if>
@@ -137,7 +139,9 @@
         LEFT JOIN course_schedule cs ON cs.music_group_id_ = vg.id_
         LEFT JOIN course_schedule cs ON cs.music_group_id_ = vg.id_
         LEFT JOIN class_group_student_mapper cgsm ON cgsm.music_group_id_ = vg.id_
         LEFT JOIN class_group_student_mapper cgsm ON cgsm.music_group_id_ = vg.id_
         <where>
         <where>
-            vg.audit_status_ = 'PASS' AND cs.id_ IS NOT NULL AND cgsm.status_ != 'QUIT'
+            vg.audit_status_ = 'PASS'
+            AND cg.group_type_ = 'VIP'
+            AND cs.id_ IS NOT NULL AND cgsm.status_ != 'QUIT'
             <if test="studentId != null">
             <if test="studentId != null">
                 AND cgsm.user_id_ = #{studentId}
                 AND cgsm.user_id_ = #{studentId}
             </if>
             </if>

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

@@ -37,7 +37,7 @@ public class TeacherCourseHomeworkReplyController extends BaseController {
             return failed(HttpStatus.FORBIDDEN,"请登录");
             return failed(HttpStatus.FORBIDDEN,"请登录");
         }
         }
         studentCourseHomeworkReply.setUserId(user.getId());
         studentCourseHomeworkReply.setUserId(user.getId());
-        studentCourseHomeworkReplyService.insert(studentCourseHomeworkReply);
+        studentCourseHomeworkReplyService.insertTeacherReply(studentCourseHomeworkReply);
         return succeed();
         return succeed();
     }
     }