Explorar o código

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

Joburgess %!s(int64=5) %!d(string=hai) anos
pai
achega
8b14dd8d25

+ 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())){