Преглед на файлове

1、课堂作业提交联动服务指标限制

Joburgess преди 5 години
родител
ревизия
8b14dd8d25
променени са 1 файла, в които са добавени 42 реда и са изтрити 2 реда
  1. 42 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

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

@@ -32,6 +32,7 @@ import org.springframework.util.CollectionUtils;
 import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Collectors;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
@@ -116,7 +117,26 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
         LocalDate createDateTime = LocalDateTime.ofInstant(courseSchedule.getClassDate().toInstant(), DateUtil.zoneId).toLocalDate();
         LocalDate createMonday = createDateTime.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
-        if(createDateTime.isBefore(monDayDate)){
+        LocalDate homeworkCreateDateTime = LocalDateTime.ofInstant(existHomework.getCreateTime().toInstant(), DateUtil.zoneId).toLocalDate();
+        boolean isOk=false;
+        switch (createDateTime.getDayOfWeek()){
+            case SATURDAY:
+                if(createDateTime.until(homeworkCreateDateTime, ChronoUnit.DAYS)<4){
+                    isOk=true;
+                }
+                break;
+            case SUNDAY:
+                if(createDateTime.until(homeworkCreateDateTime, ChronoUnit.DAYS)<3){
+                    isOk=true;
+                }
+                break;
+            default:
+                if(createDateTime.get(DateUtil.weekFields.weekOfYear())==homeworkCreateDateTime.get(DateUtil.weekFields.weekOfYear())){
+                    isOk=true;
+                }
+                break;
+        }
+        if(createDateTime.isBefore(monDayDate)&&isOk){
             StudentExtracurricularExercisesSituation studentExercisesSituation = studentExtracurricularExercisesSituationDao.findStudentExercisesSituationsWithMonDay(createMonday.toString(), existHomework.getUserId());
             if(Objects.nonNull(studentExercisesSituation)){
                 studentExercisesSituation.setExercisesReplyNum(1);
@@ -202,7 +222,27 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
             LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
             LocalDate createDateTime = LocalDateTime.ofInstant(courseSchedule.getClassDate().toInstant(), DateUtil.zoneId).toLocalDate();
             LocalDate createMonday = createDateTime.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
-            if(createDateTime.isBefore(monDayDate)){
+
+            LocalDate homeworkCreateDateTime = LocalDateTime.ofInstant(byStudentAndCourseHomewok.getCreateTime().toInstant(), DateUtil.zoneId).toLocalDate();
+            boolean isOk=false;
+            switch (createDateTime.getDayOfWeek()){
+                case SATURDAY:
+                    if(createDateTime.until(homeworkCreateDateTime, ChronoUnit.DAYS)<4){
+                        isOk=true;
+                    }
+                    break;
+                case SUNDAY:
+                    if(createDateTime.until(homeworkCreateDateTime, ChronoUnit.DAYS)<3){
+                        isOk=true;
+                    }
+                    break;
+                default:
+                    if(createDateTime.get(DateUtil.weekFields.weekOfYear())==homeworkCreateDateTime.get(DateUtil.weekFields.weekOfYear())){
+                        isOk=true;
+                    }
+                    break;
+            }
+            if(createDateTime.isBefore(monDayDate)&&isOk){
                 StudentExtracurricularExercisesSituation studentExercisesSituation = studentExtracurricularExercisesSituationDao.findStudentExercisesSituationsWithMonDay(createMonday.toString(), byStudentAndCourseHomewok.getUserId());
                 if(Objects.nonNull(studentExercisesSituation)){
                     if(YesOrNoEnum.YES.equals(byStudentAndCourseHomewok.getIsReplied())){