liujie
2023-10-26 e030255c23c7ba3e2cbad1036a810d6d72fa864f
cloud-server-course/src/main/java/com/dsh/course/controller/CourseRecordController.java
@@ -9,10 +9,17 @@
import com.dsh.course.service.CancelledClassesService;
import com.dsh.course.service.CoursePackageStudentService;
import com.dsh.course.service.TCoursePackageService;
import com.dsh.course.util.ToolUtil;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.List;
@Api
@@ -38,7 +45,12 @@
        Integer sult = 0;
        TCoursePackage coursePackage = tcpService.getById(course.getCourseId());
        if (null != coursePackage && coursePackage.getStatus() == 3){
            List<CoursePackageStudent> coursePackageStudents = cosService.queryStuDeduClassHourNums(course.getCourseId(), course.getStuId(), course.getAppUserId());
            List<CoursePackageStudent> coursePackageStudents = cosService.list(new QueryWrapper<CoursePackageStudent>()
                    .eq("coursePackageId",course.getCourseId() )
                    .eq("studentId",course.getStuId() )
                    .eq("appUserId", course.getAppUserId())
                    .eq("signInOrNot",1));
            if (coursePackageStudents.size() > 0){
                List<CancelledClasses> list = caccService.list(new QueryWrapper<CancelledClasses>()
                        .eq("coursePackageId",course.getCourseId() ));
@@ -52,4 +64,35 @@
        return sult;
    }
    @PostMapping("/base/courseRecord/cancelCourseData")
    public Integer cancelCourseRecordClass(@RequestBody Integer courseRecordId){
        int sult = 0;
        CoursePackageStudent packageStudent = cosService.getById(courseRecordId);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
        SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
        String tis = simpleDateFormat.format(new Date());
        if (ToolUtil.isNotEmpty(packageStudent)){
            TCoursePackage coursePackage = tcpService.getById(packageStudent.getCoursePackageId());
            String startTime = tis +" " + coursePackage.getClassStartTime();
            Date parse = null;
            try {
                parse = format.parse(startTime);
            } catch (ParseException e) {
                throw new RuntimeException(e);
            }
            LocalDateTime localDateTime = parse.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
            // 计算时间间隔
            long hours = ChronoUnit.HOURS.between(LocalDateTime.now(), localDateTime);
            // 判断是否在前三小时内
            if (hours <= 3 && hours >= 0){
                sult = 1;
            }else {
                sult = 2;
            }
        }
        return sult;
    }
}