puzhibing
2023-11-28 f1ec85f268b3dfd206cb756bd19ed1594c4bff7e
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.course.controller.CoursePackagePaymentController;
import com.dsh.course.entity.*;
import com.dsh.course.feignclient.account.StudentClient;
import com.dsh.course.feignclient.account.model.Student;
import com.dsh.course.mapper.CoursePackageSchedulingMapper;
import com.dsh.course.mapper.CoursePackageStudentMapper;
import com.dsh.course.model.QueryCoursePackageSchedulingList;
@@ -45,6 +47,9 @@
    @Resource
    private CoursePackageStudentMapper coursePackageStudentMapper;
    @Resource
    private StudentClient studentClient;
    /**
     * 获取课包排课数据
@@ -79,36 +84,6 @@
    /**
     * 定时修改状态
     */
    @Override
    public void cancel() {
        new Thread(new Runnable() {
            @Override
            public void run() {
                List<TCoursePackagePayment> list = packagePaymentService.list();
                Date now = new Date();
                List<Long> pays = new ArrayList<>();
                for (TCoursePackagePayment coursePackagePayment : list) {
                    if (now.before(coursePackagePayment.getUseTime())) {
                        pays.add(coursePackagePayment.getId());
                    }
                }
                List<CoursePackageStudent> coursePackagePaymentId = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().in("coursePackagePaymentId", pays));
                List<Long> scs = new ArrayList<>();
                for (CoursePackageStudent coursePackageStudent : coursePackagePaymentId) {
                    scs.add(coursePackageStudent.getCoursePackageSchedulingId());
                }
                coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().in("coursePackagePaymentId", pays));
                coursePackageSchedulingMapper.delete(new QueryWrapper<CoursePackageScheduling>().in("id", scs));
            }
        }).start();
    }
    /**
     * 定时修改状态
@@ -187,6 +162,8 @@
                    .orderByDesc("classDate")
                    .last(" limit 0, 1")
            );
            Student student = studentClient.queryStudentById(coursePackageScheduling.getStudentId());
            Date validity = student.getValidity();
            TCoursePackage coursePackage = coursePackageService.getById(coursePackageScheduling.getCoursePackageId());
            //上课星期
            String classWeeks = coursePackage.getClassWeeks();
@@ -236,7 +213,7 @@
                    continue;
                }
                //大于有效期不进行排课
                if (start.getTimeInMillis() >= useTime.getTime()) {
                if (start.getTimeInMillis() >= validity.getTime()) {
                    break;
                }
                for (int j = 0; j < split.length; j++) {
@@ -319,7 +296,7 @@
     * @param coursePackageOrderStudentId
     */
    @Override
    public void addNewCoursePackageScheduling(Integer coursePackageOrderStudentId, Integer classNumber) {
    public void addNewCoursePackageScheduling(Long coursePackageOrderStudentId, Integer classNumber) {
        CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(coursePackageOrderStudentId);
        CoursePackageScheduling coursePackageScheduling = this.getOne(new QueryWrapper<CoursePackageScheduling>()
                .eq("appUserId", coursePackageOrderStudent.getAppUserId())
@@ -333,6 +310,8 @@
        Integer codeTime = coursePackage.getCodeTime();
        Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
        Date classDate = coursePackageScheduling.getClassDate();
        Student student = studentClient.queryStudentById(coursePackageScheduling.getStudentId());
        Date validity = student.getValidity();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
@@ -349,7 +328,7 @@
            //从第二天开始
            Calendar startTime = Calendar.getInstance();
            startTime.setTime(new Date());
            startTime.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
            startTime.set(Calendar.DAY_OF_YEAR, startTime.get(Calendar.DAY_OF_YEAR) + 1);
            startTime.set(Calendar.HOUR_OF_DAY, 0);
            startTime.set(Calendar.MINUTE, 0);
            startTime.set(Calendar.SECOND, 0);
@@ -372,7 +351,7 @@
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
            String format = sdf.format(coursePackageScheduling.getClassDate());
            String time = format.substring(format.indexOf(" "));
            String time = format.substring(format.indexOf(" ") + 1);
            String classStartTime = coursePackage.getClassStartTime();
            String classEndTime = coursePackage.getClassEndTime();
            String[] split = classStartTime.split(",");
@@ -427,7 +406,7 @@
                }
                //大于有效期不进行排课
                if (startTime.getTimeInMillis() >= useTime.getTime()) {
                if (startTime.getTimeInMillis() >= validity.getTime()) {
                    break;
                }
                for (int j = 0; j < split.length; j++) {