Forráskód Böngészése

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 5 éve
szülő
commit
b7e3d170e4

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java

@@ -309,4 +309,12 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return
 	 * @return
 	 */
 	 */
 	List<VipGroup> queryRequiredOverList();
 	List<VipGroup> queryRequiredOverList();
+
+	/**
+	 * @describe 获取正常状态的vip课
+	 * @author Joburgess
+	 * @date 2019/12/3
+	 * @return java.util.List<com.ym.mec.biz.dal.entity.VipGroup>
+	 */
+	List<VipGroup> queryNormalStatusList();
 }
 }

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/VipGroupStatusEnum.java

@@ -8,7 +8,12 @@ import com.ym.mec.common.enums.BaseEnum;
  */
  */
 public enum VipGroupStatusEnum implements BaseEnum<Integer, VipGroupStatusEnum> {
 public enum VipGroupStatusEnum implements BaseEnum<Integer, VipGroupStatusEnum> {
 
 
-	NOT_START(0, "未开始"), APPLYING(1, "报名中"), PROGRESS(2, "进行中"), FINISHED(4, "已结束"), CANCEL(3, "取消");
+	NOT_START(0, "未开始"),
+	APPLYING(1, "报名中"),
+	APPLYING_END(5,"报名结束"),
+	PROGRESS(2, "进行中"),
+	FINISHED(4, "已结束"),
+	CANCEL(3, "取消");
 
 
 	private Integer code;
 	private Integer code;
 
 

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

@@ -80,10 +80,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 
 
 		TeacherAttendance teacherAttendance=teacherAttendanceDao.findByTeacherAttendanceInfo(user.getId().longValue(),teacherSignOutDto.getTeacherAttendanceInfo().getCourseScheduleId());
 		TeacherAttendance teacherAttendance=teacherAttendanceDao.findByTeacherAttendanceInfo(user.getId().longValue(),teacherSignOutDto.getTeacherAttendanceInfo().getCourseScheduleId());
 
 
-		if(StringUtils.isBlank(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude())){
-			throw new BizException("未获取到您的位置");
-		}
-
 		Date date = new Date();
 		Date date = new Date();
 		if(Objects.isNull(teacherAttendance)){
 		if(Objects.isNull(teacherAttendance)){
 			teacherAttendance=teacherSignOutDto.getTeacherAttendanceInfo();
 			teacherAttendance=teacherSignOutDto.getTeacherAttendanceInfo();
@@ -115,27 +111,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			throw new BizException("明天的课程不能进行签到");
 			throw new BizException("明天的课程不能进行签到");
 		}
 		}
 
 
-		School school = schoolDao.get(courseSchedule.getSchoolId());
-
-		//是否在范围内
-		boolean isInScore = true;
-		if(StringUtils.isBlank(school.getLongitudeLatitude())){
-			if(teacherSignOutDto.getTeacherAttendanceInfo().getUpdate().equals(YesOrNoEnum.YES.getCode())){
-				school.setLongitudeLatitude(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude());
-				schoolDao.update(school);
-			}else{
-				isInScore = false;
-			}
-		}else{
-			SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
-			double attendanceRange = Double.valueOf(sysConfig.getParanValue());
-			double distance = MapUtil.distance(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude(),
-					school.getLongitudeLatitude());
-			if(distance>attendanceRange){
-				isInScore=false;
-			}
-		}
-
 		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);
@@ -145,6 +120,32 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		Date classEndDateAdd60Minutes = DateUtil.addMinutes(classEndDateTime, 60);
 		Date classEndDateAdd60Minutes = DateUtil.addMinutes(classEndDateTime, 60);
 		Date add20Minutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
 		Date add20Minutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
 		if(teacherAttendance.getSignInTime() == null && teacherSignOutDto.getTeacherAttendanceInfo().getStatus().equals(SignStatusEnum.SIGN_IN.getCode())){
 		if(teacherAttendance.getSignInTime() == null && teacherSignOutDto.getTeacherAttendanceInfo().getStatus().equals(SignStatusEnum.SIGN_IN.getCode())){
+
+			if(StringUtils.isBlank(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude())){
+				throw new BizException("未获取到您的位置");
+			}
+
+			School school = schoolDao.get(courseSchedule.getSchoolId());
+
+			//是否在范围内
+			boolean isInScore = true;
+			if(StringUtils.isBlank(school.getLongitudeLatitude())){
+				if(teacherSignOutDto.getTeacherAttendanceInfo().getUpdate().equals(YesOrNoEnum.YES.getCode())){
+					school.setLongitudeLatitude(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude());
+					schoolDao.update(school);
+				}else{
+					isInScore = false;
+				}
+			}else{
+				SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
+				double attendanceRange = Double.valueOf(sysConfig.getParanValue());
+				double distance = MapUtil.distance(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude(),
+						school.getLongitudeLatitude());
+				if(distance>attendanceRange){
+					isInScore=false;
+				}
+			}
+
 			teacherAttendance.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(teacherAttendance.getClassGroupId(),courseSchedule.getStartClassTime()) + 1);
 			teacherAttendance.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(teacherAttendance.getClassGroupId(),courseSchedule.getStartClassTime()) + 1);
 			teacherAttendance.setSignInLongitudeLatitude(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude());
 			teacherAttendance.setSignInLongitudeLatitude(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude());
 			if (currentCourseDetail.getEndClassTime().before(date)){
 			if (currentCourseDetail.getEndClassTime().before(date)){

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

@@ -1702,6 +1702,26 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 			}
 			vipGroupDao.batchUpdate(vipGroupList);
 			vipGroupDao.batchUpdate(vipGroupList);
 		}
 		}
+		List<VipGroup> normalVipGroupList = vipGroupDao.queryNormalStatusList();
+		if (!CollectionUtils.isEmpty(normalVipGroupList)){
+            Date now = new Date();
+            for (VipGroup vipGroup : normalVipGroupList) {
+                if(now.before(vipGroup.getRegistrationStartTime())){
+                    vipGroup.setStatus(VipGroupStatusEnum.NOT_START);
+                }
+                if(vipGroup.getRegistrationStartTime().before(now)&&vipGroup.getCoursesExpireDate().after(now)){
+                    vipGroup.setStatus(VipGroupStatusEnum.APPLYING);
+                }
+                if(vipGroup.getCoursesExpireDate().before(now)&&vipGroup.getCourseStartDate().after(now)){
+                    vipGroup.setStatus(VipGroupStatusEnum.APPLYING_END);
+                }
+                if(vipGroup.getCourseStartDate().before(now)&&vipGroup.getCoursesExpireDate().after(now)){
+                    vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
+                }
+                vipGroup.setUpdateTime(now);
+            }
+            vipGroupDao.batchUpdate(normalVipGroupList);
+        }
 	}
 	}
 
 
 	@Override
 	@Override

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

@@ -869,4 +869,7 @@
     <select id="queryRequiredOverList" resultMap="VipGroup">
     <select id="queryRequiredOverList" resultMap="VipGroup">
     	select vg.* from vip_group vg left join class_group cg on vg.id_ = cg.music_group_id_ where vg.status_ = 2 and cg.total_class_times_ = cg.current_class_times_ and cg.total_class_times_ &gt; 0
     	select vg.* from vip_group vg left join class_group cg on vg.id_ = cg.music_group_id_ where vg.status_ = 2 and cg.total_class_times_ = cg.current_class_times_ and cg.total_class_times_ &gt; 0
     </select>
     </select>
+    <select id="queryNormalStatusList" resultMap="VipGroup">
+        SELECT * FROM vip_group WHERE status_!=3 AND status_!=4
+    </select>
 </mapper>
 </mapper>