package com.dsh.course.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.course.entity.CancelledClasses; import com.dsh.course.entity.CourseCounsum; import com.dsh.course.entity.CoursePackageStudent; import com.dsh.course.entity.TCoursePackage; import com.dsh.course.feignclient.model.GetStudentCourse; import com.dsh.course.service.CancelledClassesService; import com.dsh.course.service.CourseCounsumService; 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 @CrossOrigin @RestController @RequestMapping("") public class CourseRecordController { @Autowired private CoursePackageStudentService cosService; @Autowired private TCoursePackageService tcpService; @Autowired private CancelledClassesService caccService; @PostMapping("/base/courseRecord/queryDeduClassHours") public Integer getDeductionClassHour(@RequestBody GetStudentCourse course) { Integer sult = 0; TCoursePackage coursePackage = tcpService.getById(course.getCourseId()); if (null != coursePackage && coursePackage.getStatus() == 3) { List coursePackageStudents = cosService.list(new QueryWrapper() .eq("coursePackageId", course.getCourseId()) .eq("studentId", course.getStuId()) .eq("appUserId", course.getAppUserId()) .eq("signInOrNot", 1)); if (coursePackageStudents.size() > 0) { List list = caccService.list(new QueryWrapper() .eq("coursePackageId", course.getCourseId())); if (list.size() > 0) { for (CancelledClasses cancelledClasses : list) { sult = sult + cancelledClasses.getCancelledClassesNumber(); } } } } return sult; } @Autowired private CourseCounsumService courseCounsumService; @PostMapping("/base/courseRecord/save") public void save(@RequestBody CourseCounsum courseCounsum) { courseCounsumService.save(courseCounsum); } @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; } }