Browse Source

1、点名时间限制

Joburgess 5 years ago
parent
commit
75ea320966

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

@@ -37,6 +37,17 @@ public class VipGroupCourseAdjustInfoDto {
     @ApiModelProperty(value = "是否跳过节假日 true-跳过 false-不跳过")
     private boolean isHoliday;
 
+    @ApiModelProperty(value = "教学点")
+    private Integer schoolId;
+
+    public Integer getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Integer schoolId) {
+        this.schoolId = schoolId;
+    }
+
     public BigDecimal getSingleClassPrice() {
         return singleClassPrice;
     }

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

@@ -382,12 +382,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			studentNumCourseMap=MapUtil.convertIntegerMap(studentNumCourseMaps);
 		}
 		for (CourseScheduleDto courseScheduleDto : teacherCourseSchedulesWithDate) {
-			Long studentNum=studentNumCourseMap.get(courseScheduleDto.getId());
-			if(Objects.nonNull(studentNum)){
-				courseScheduleDto.setStudentAttendanceIsFirstTime(studentNum>0?0:1);
-			}else{
-				courseScheduleDto.setStudentAttendanceIsFirstTime(1);
-			}
+//			Long studentNum=studentNumCourseMap.get(courseScheduleDto.getId());
+//			if(Objects.nonNull(studentNum)){
+//				courseScheduleDto.setStudentAttendanceIsFirstTime(studentNum>0?0:1);
+//			}else{
+//				courseScheduleDto.setStudentAttendanceIsFirstTime(1);
+//			}
 
 			if(now.before(courseScheduleDto.getStartClassTime())){
 				courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
@@ -939,6 +939,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			throw new BizException("排课起始时间不能小于当前时间");
 		}
 
+		boolean needSchoolId=Objects.nonNull(vipGroupCourseAdjustInfo.getTeachMode())&&vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)&&Objects.isNull(vipGroupCourseAdjustInfo.getTeachMode());
+		if(needSchoolId){
+			throw new BizException("请设置教学点");
+		}
+
 		VipGroup vipGroup=vipGroupDao.get(vipGroupCourseAdjustInfo.getVipGroupId().longValue());
 		if(Objects.isNull(vipGroup)){
 			throw new BizException("指定课程不存在");
@@ -1029,6 +1034,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					courseSchedules.get(courseStartDates.size()-1).setClassDate(courseStartTime);
 					courseSchedules.get(courseStartDates.size()-1).setStartClassTime(courseStartTime);
 					courseSchedules.get(courseStartDates.size()-1).setEndClassTime(courseEndTime);
+					if(Objects.nonNull(vipGroupCourseAdjustInfo.getTeachMode())){
+						courseSchedules.get(courseStartDates.size()-1).setTeachMode(vipGroupCourseAdjustInfo.getTeachMode());
+						if(vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)){
+							courseSchedules.get(courseStartDates.size()-1).setSchoolId(vipGroupCourseAdjustInfo.getSchoolId());
+						}
+					}
 				}
 				if(courseStartDates.size()==courseScheduleIds.size()){
 					break;
@@ -1307,6 +1318,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				boolean teacherIsChange=oldTeacherIsNull||(!newTeacherIsNull&&!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId()));
 				boolean schoolIsChange=oldSchoolIsNull||(newSchoolIsNull&&!oldCourseSchedule.getSchoolId().equals(newCourseSchedule.getSchoolId()));
 
+				boolean needSchoolId = Objects.nonNull(newCourseSchedule.getTeachMode())&&newCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)&&Objects.isNull(newCourseSchedule.getSchoolId());
+
+				if(needSchoolId){
+					throw new BizException("请设置教学点");
+				}
+
+				if(Objects.nonNull(newCourseSchedule.getTeachMode())){
+					oldCourseSchedule.setTeachMode(newCourseSchedule.getTeachMode());
+				}
+
 				if(schoolIsChange){
 					oldCourseSchedule.setSchoolId(newCourseSchedule.getSchoolId());
 				}

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

@@ -87,7 +87,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		SysConfig attendanceTimeRange = sysConfigService.findByParamName(SysConfigService.ENABLE_STUDENT_ATTENDANCE_TIME_RANGE);
 		int courseEndTime = DateUtil.minutesBetween(courseSchedule.getEndClassTime(), date);
 		if(date.after(courseSchedule.getEndClassTime())&&courseEndTime>attendanceTimeRange.getParanValue(Integer.class)){
-			throw new BizException("程结束一小时后禁止点名");
+			throw new BizException("程结束一小时后禁止点名");
 		}
 		studentAttendanceDao.deleteStudentAttendancesByCourse(courseScheduleId);
 		int classTimes=courseScheduleDao.countClassTimes(courseSchedule.getClassGroupId().longValue(),courseSchedule.getStartClassTime());

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

@@ -195,6 +195,9 @@
             <if test="schoolId != null">
                 schoole_id_ = #{schoolId},
             </if>
+            <if test="teachMode != null">
+                teach_mode_ = #{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
             update_time_ = NOW()
         </set>
         WHERE id_ = #{id}
@@ -1023,6 +1026,9 @@
                 <if test="item.schoolId != null">
                     schoole_id_ = #{item.schoolId},
                 </if>
+                <if test="item.teachMode != null">
+                    teach_mode_ = #{item.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+                </if>
                 update_time_ = NOW()
             </set>
             WHERE id_ = #{item.id}