| | |
| | | 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; |
| | |
| | | @Resource |
| | | private CoursePackageStudentMapper coursePackageStudentMapper; |
| | | |
| | | @Resource |
| | | private StudentClient studentClient; |
| | | |
| | | |
| | | /** |
| | | * 获取课包排课数据 |
| | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 定时修改状态 |
| | | */ |
| | | @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(); |
| | | } |
| | | |
| | | /** |
| | | * 定时修改状态 |
| | |
| | | .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(); |
| | |
| | | continue; |
| | | } |
| | | //大于有效期不进行排课 |
| | | if (start.getTimeInMillis() >= useTime.getTime()) { |
| | | if (start.getTimeInMillis() >= validity.getTime()) { |
| | | break; |
| | | } |
| | | for (int j = 0; j < split.length; j++) { |
| | |
| | | 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()); |
| | |
| | | //从第二天开始 |
| | | 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); |
| | |
| | | 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(","); |
| | |
| | | } |
| | | |
| | | //大于有效期不进行排课 |
| | | if (startTime.getTimeInMillis() >= useTime.getTime()) { |
| | | if (startTime.getTimeInMillis() >= validity.getTime()) { |
| | | break; |
| | | } |
| | | for (int j = 0; j < split.length; j++) { |