From bdb44a4edf520d6d559c18f9969c2d70de671a61 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期二, 28 十一月 2023 14:27:30 +0800 Subject: [PATCH] 11.27,7 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java | 18 +- cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 3 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java | 2 cloud-server-course/pom.xml | 7 + cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java | 1 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 18 +- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 8 + cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java | 2 cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java | 2 cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 349 ++++++++++++++++++++++++++++--------------------- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 2 11 files changed, 242 insertions(+), 170 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java index 17ea143..3f390b1 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java @@ -607,6 +607,7 @@ Date time = sdf.parse(substring); return !time.before(lastWeekStartDate) && !time.after(lastOfDate); } catch (ParseException e) { + e.printStackTrace(); return false; } }) @@ -621,6 +622,7 @@ Date time = sdf.parse(record.getTimeFrame().substring(11)); return !time.before(lastMonthStartDate) && !time.after(lastOfDate); } catch (ParseException e) { + e.printStackTrace(); return false; } }) @@ -635,6 +637,7 @@ Date time = sdf.parse(record.getTimeFrame().substring(11)); return !time.before(lastYearStartDate) && !time.after(lastOfDate); } catch (ParseException e) { + e.printStackTrace(); return false; } }) diff --git a/cloud-server-course/pom.xml b/cloud-server-course/pom.xml index 20a5b50..5b0d712 100644 --- a/cloud-server-course/pom.xml +++ b/cloud-server-course/pom.xml @@ -130,6 +130,13 @@ <version>3.23.5</version> <scope>compile</scope> </dependency> + + <dependency> + <groupId>net.sf.json-lib</groupId> + <artifactId>json-lib</artifactId> + <version>2.4</version> + <classifier>jdk15</classifier> + </dependency> </dependencies> <build> diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java index 1845076..9bc7408 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java @@ -687,17 +687,17 @@ @PostMapping("/base/coursePack/getRecord") public List<PurchaseRecordVo> getRecord(@RequestBody RecordTimeRequest recordTimeRequest) { - List<CoursePackageOrderStudent> list = new ArrayList<>(); +// List<CoursePackageOrderStudent> list = new ArrayList<>(); Integer[] changes = {1, 0}; - if (recordTimeRequest.getType() == null) { - list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); - } else { - - list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); - } - List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList()); +// if (recordTimeRequest.getType() == null) { +// list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); +// } else { +// +// list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); +// } +// List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList()); List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() - .in("appUserId", appUserIds) + .eq("studentId", recordTimeRequest.getStuId()) .eq("coursePackageId", recordTimeRequest.getLessionId()) .eq("state", 1) ); diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java index 3cdcbf9..2f81863 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java @@ -174,15 +174,29 @@ @Resource private AppUserClient appUserClient; + + @Autowired + private ICoursePackageOrderStudentService orderStudentService; //获取可转移学员 @RequestMapping("/getSelect") @ResponseBody public List<SelectDto> getSelect(@RequestParam("payId") Long payId) { - TCoursePackagePayment byId = paymentService.getById(payId); +// TCoursePackagePayment byId = paymentService.getById(payId); +// +// List<Integer> studentIds = paymentService.getStudentIds(payId, byId.getCoursePackageId(), byId.getAppUserId()); +// System.out.println("=========studentIds=================>" + studentIds); - List<Integer> studentIds = paymentService.getStudentIds(payId, byId.getCoursePackageId(), byId.getAppUserId()); - System.out.println("=========studentIds=================>" + studentIds); + CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(payId); + + + List<CoursePackageOrderStudent> orderStudent = orderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("appUserId", coursePackageOrderStudent.getAppUserId()).eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()).ne("id",payId)); + + List<Integer> studentIds = new ArrayList<>(); + for (CoursePackageOrderStudent packageOrderStudent : orderStudent) { + studentIds.add(packageOrderStudent.getStudentId()); + } + if (studentIds.size() > 0) { List<SelectDto> selectDtos = appUserClient.getSelects(studentIds); @@ -269,8 +283,7 @@ } - @Autowired - private ICoursePackageOrderStudentService orderStudentService; + @RequestMapping("/insertBack") @ResponseBody @@ -416,39 +429,47 @@ return moneyBacksck; } + + + @Autowired + private ICoursePackageSchedulingService schedulingService; + //课程转移 @RequestMapping("/toClass") @ResponseBody public void toClass(@RequestBody ToClassDto toClassDto) throws ParseException { - System.out.println("===========到达getSelect=======" + toClassDto); - TCoursePackagePayment orinPay = - paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId())); - TCoursePackagePayment studentPay = paymentService.getOne - (new QueryWrapper<TCoursePackagePayment>() - .eq("studentId", toClassDto.getToStudentId()) - .eq("coursePackageId", orinPay.getCoursePackageId())); +// System.out.println("===========到达getSelect=======" + toClassDto); +// TCoursePackagePayment orinPay = +// paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId())); +// TCoursePackagePayment studentPay = paymentService.getOne +// (new QueryWrapper<TCoursePackagePayment>() +// .eq("studentId", toClassDto.getToStudentId()) +// .eq("coursePackageId", orinPay.getCoursePackageId())); + + + CoursePackageOrderStudent orinPay = orderStudentService.getById(toClassDto.getId()); + + CoursePackageOrderStudent studentPay = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", orinPay.getCoursePackageId())); + + TCoursePackage coursePackage = packageService.getById(orinPay.getCoursePackageId()); + if (studentPay != null) { + //转移 System.out.println("======orinPay=====>" + orinPay); System.out.println("======studentPay=====>" + studentPay); Integer laveClassHours = orinPay.getLaveClassHours(); Integer totalClassHours = orinPay.getTotalClassHours(); orinPay.setTotalClassHours(0); orinPay.setLaveClassHours(0); - orinPay.setStatus(1); + orinPay.setStatus(5); orinPay.setAppUserId(null); - paymentService.updateById(orinPay); - //删除orin的排课记录 - List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId())); - List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); - //拿到最后一天的排课记录 - if (collect1.size() > 0) { - coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect1)); - coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - } + orderStudentService.updateById(orinPay); + + CourseCounsum courseCounsum = new CourseCounsum(); courseCounsum.setInsertTime(new Date()); if (orinPay.getAppUserId() != studentPay.getAppUserId()) { - courseCounsum.setReason("课时转移"); + courseCounsum.setReason("课时赠送"); } else { courseCounsum.setReason("课时转移"); } @@ -465,12 +486,12 @@ studentPay.setAppUserId(null); studentPay.setLaveClassHours(lave); studentPay.setTotalClassHours(total); - paymentService.updateById(studentPay); + orderStudentService.updateById(studentPay); CourseCounsum courseCounsum1 = new CourseCounsum(); courseCounsum1.setInsertTime(new Date()); if (orinPay.getAppUserId() != studentPay.getAppUserId()) { - courseCounsum1.setReason("课时转移"); + courseCounsum1.setReason("课时赠送"); } else { courseCounsum1.setReason("课时转移"); } @@ -480,112 +501,47 @@ counsumService.save(courseCounsum1); - //排课 - TCoursePackage tCoursePackage = packageService.getById(studentPay.getCoursePackageId()); - String classWeeks = tCoursePackage.getClassWeeks(); - List<Integer> week = week(classWeeks); - - String[] split = tCoursePackage.getClassStartTime().split(","); - String[] split1 = tCoursePackage.getClassEndTime().split(","); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - // 本周周几 - - List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); - //拿到最后一天的排课记录 - if (collect.size() > 0) { - coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect)); - coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - } - - Student student = studentClient.queryStudentById(toClassDto.getToStudentId()); - - Date today = new Date(); - - - TCoursePackagePayment pay = coursePackagePaymentService.getById(studentPay.getId()); - Integer laveClassHours2 = pay.getLaveClassHours(); - Integer codeTime = tCoursePackage.getCodeTime(); - Integer can = 0; - int count = 0; - // 本周周几 -// int i = DateUtil.dayOfWeek(new Date())-1; - - Date[] dates = generateDateArray(14, today); - can = laveClassHours2 / codeTime; - - for (Date date : dates) { - if (count == can) { - break; - } - int wei = DateUtil.dayOfWeek(date); - if (week.contains(wei)) { - for (int i1 = 0; i1 < split.length; i1++) { - if (count == can) { - break; - } - CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); - coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); - Date parse = format1.parse(format.format(date) + " " + split[i1]); - Date parse1 = format1.parse(format.format(date) + " " + split1[i1]); - coursePackageScheduling.setClassDate(parse); - coursePackageScheduling.setEndDate(parse1); - coursePackageScheduling.setStatus(1); - coursePackageSchedulingService.insert(coursePackageScheduling); - CoursePackageStudent student1 = new CoursePackageStudent(); - student1.setAppUserId(student.getAppUserId()); - student1.setStudentId(student.getId()); - student1.setCoursePackageId(tCoursePackage.getId()); - student1.setCoursePackagePaymentId(studentPay.getId()); - student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); - student1.setSignInOrNot(1); - student1.setReservationStatus(1); - student1.setInsertTime(new Date()); - cpsMapper.insert(student1); - count++; - } - } - } + schedulingService.addNewCoursePackageScheduling(studentPay.getId(),laveClassHours); } else { + + Student student = studentClient.queryStudentById(toClassDto.getToStudentId()); - TCoursePackagePayment to = new TCoursePackagePayment(); + CoursePackageOrderStudent to = new CoursePackageOrderStudent(); to.setStudentId(toClassDto.getToStudentId()); to.setTotalClassHours(orinPay.getTotalClassHours()); to.setLaveClassHours(orinPay.getLaveClassHours()); to.setCoursePackageId(orinPay.getCoursePackageId()); to.setState(1); to.setAppUserId(student.getAppUserId()); - to.setPayStatus(2); to.setStatus(1); to.setInsertTime(new Date()); - paymentService.save(to); + + Integer validDays = coursePackage.getValidDays(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays); + to.setUseTime(calendar.getTime()); + + orderStudentService.save(to); orinPay.setTotalClassHours(0); orinPay.setLaveClassHours(0); orinPay.setAppUserId(null); - orinPay.setStatus(1); - paymentService.updateById(orinPay); + orinPay.setStatus(6); + orderStudentService.updateById(orinPay); - //删除orin的排课记录 - List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId())); - List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); - //拿到最后一天的排课记录 - if (collect1.size() > 0) { - coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect1)); - coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - } + CourseCounsum courseCounsum = new CourseCounsum(); courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("课时转移"); + courseCounsum.setReason("课时赠送"); courseCounsum.setNum(orinPay.getLaveClassHours()); courseCounsum.setChangeType(0); courseCounsum.setPaymentId(orinPay.getId()); @@ -594,82 +550,177 @@ CourseCounsum courseCounsum1 = new CourseCounsum(); courseCounsum1.setInsertTime(new Date()); - courseCounsum1.setReason("课时转移"); + courseCounsum1.setReason("课时赠送"); courseCounsum1.setNum(orinPay.getLaveClassHours()); courseCounsum1.setChangeType(1); courseCounsum1.setPaymentId(to.getId()); counsumService.save(courseCounsum); - TCoursePackage tCoursePackage = packageService.getById(studentPay.getCoursePackageId()); - String classWeeks = tCoursePackage.getClassWeeks(); - List<Integer> week = week(classWeeks); - String[] split = tCoursePackage.getClassStartTime().split(","); - String[] split1 = tCoursePackage.getClassEndTime().split(","); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - // 本周周几 - - List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); - //拿到最后一天的排课记录 - if (collect.size() > 0) { - coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect)); - coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - } + //开始排课 + addPackageStudent(coursePackage, to.getAppUserId(), to.getStudentId(), to); - Date today = new Date(); - TCoursePackagePayment pay = coursePackagePaymentService.getById(studentPay.getId()); - Integer laveClassHours2 = pay.getLaveClassHours(); - Integer codeTime = tCoursePackage.getCodeTime(); - Integer can = 0; - int count = 0; - // 本周周几 -// int i = DateUtil.dayOfWeek(new Date())-1; + } - Date[] dates = generateDateArray(14, today); - can = laveClassHours2 / codeTime; - for (Date date : dates) { - if (count == can) { - break; - } - int wei = DateUtil.dayOfWeek(date); - if (week.contains(wei)) { - for (int i1 = 0; i1 < split.length; i1++) { - if (count == can) { + } + + + + /** + * 新购买课程后的排课 + * + * @param userId + * @param sId + * @throws ParseException + */ + private void addPackageStudent(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrderStudent coursePackageOrderStudent) { + try { + //1常规 2假期 3体验 + if (tCoursePackage.getType() == 1) { + //上课星期 + String classWeeks = tCoursePackage.getClassWeeks(); + List<Integer> week = week(classWeeks); + //上课时段 + String[] split = tCoursePackage.getClassStartTime().split(","); + String[] split1 = tCoursePackage.getClassEndTime().split(","); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + + + //剩余课时 + Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours(); + //扣除课时数 + Integer codeTime = tCoursePackage.getCodeTime(); + //排课 本周+下周,课时不够扣则直接剩余不排课 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + int day_week = calendar.get(Calendar.DAY_OF_WEEK); + day_week = day_week - 1 == 0 ? 7 : day_week - 1; + int num = 8 - day_week + 7; + Date useTime = coursePackageOrderStudent.getUseTime(); + + for (int i = 0; i < num; i++) { + Date time = calendar.getTime(); + + //判断当天是否在排课星期内 + int day = calendar.get(Calendar.DAY_OF_WEEK); + day = day - 1 == 0 ? 7 : day - 1; + if (!week.contains(day)) { + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + continue; + } + + + //大于有效期不进行排课 + if (calendar.getTimeInMillis() >= useTime.getTime()) { + break; + } + for (int j = 0; j < split.length; j++) { + //剩余数量不足以排课 + if (laveClassHours.compareTo(codeTime) < 0) { break; } + + laveClassHours -= codeTime; + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setType(tCoursePackage.getType()); + coursePackageScheduling.setAppUserId(userId); + coursePackageScheduling.setStudentId(sId); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); - Date parse = format1.parse(format.format(date) + " " + split[i1]); - Date parse1 = format1.parse(format.format(date) + " " + split1[i1]); + Date parse = format1.parse(format.format(time) + " " + split[j]); + Date parse1 = format1.parse(format.format(time) + " " + split1[j]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.insert(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); - student1.setAppUserId(student.getAppUserId()); - student1.setStudentId(student.getId()); + student1.setAppUserId(userId); + student1.setStudentId(sId); student1.setCoursePackageId(tCoursePackage.getId()); - student1.setCoursePackagePaymentId(studentPay.getId()); + student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); cpsMapper.insert(student1); - count++; } + //增加日期,用于判断 + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); } } + if (tCoursePackage.getType() == 2) { + //上课星期 + String classWeeks = tCoursePackage.getClassWeeks(); + List<Integer> week = week(classWeeks); + //上课时段 + String[] split = tCoursePackage.getClassStartTime().split(","); + String[] split1 = tCoursePackage.getClassEndTime().split(","); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + + Date startTime = tCoursePackage.getStartTime(); + Date endTime = tCoursePackage.getEndTime(); + //排课 本周+下周,课时不够扣则直接剩余不排课 + Calendar calendar = Calendar.getInstance(); + //假期开始使用当前时间为起始时间进行排课 + calendar.setTime(startTime.getTime() > System.currentTimeMillis() ? startTime : new Date()); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + while (true) { + Date time = calendar.getTime(); + + //判断当天是否在排课星期内 + int day = calendar.get(Calendar.DAY_OF_WEEK); + day = day - 1 == 0 ? 7 : day - 1; + if (!week.contains(day)) { + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + continue; + } + + //大于有效期不进行排课 + if (calendar.getTimeInMillis() > endTime.getTime()) { + break; + } + for (int j = 0; j < split.length; j++) { + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setType(tCoursePackage.getType()); + coursePackageScheduling.setAppUserId(userId); + coursePackageScheduling.setStudentId(sId); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); + Date parse = format1.parse(format.format(time) + " " + split[j]); + Date parse1 = format1.parse(format.format(time) + " " + split1[j]); + coursePackageScheduling.setClassDate(parse); + coursePackageScheduling.setEndDate(parse1); + coursePackageScheduling.setStatus(1); + coursePackageSchedulingService.insert(coursePackageScheduling); + CoursePackageStudent student1 = new CoursePackageStudent(); + student1.setAppUserId(userId); + student1.setStudentId(sId); + student1.setCoursePackageId(tCoursePackage.getId()); + student1.setCoursePackagePaymentId(null); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + cpsMapper.insert(student1); + } + //增加日期,用于判断 + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + } + } + } catch (Exception e) { + e.printStackTrace(); } - - } @Resource diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java index bae2cab..96b44df 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java +++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java @@ -195,5 +195,6 @@ @TableField("giftClassHours") private Integer giftClassHours; // 所选课时规格id + @TableField(exist = false) private Integer coursePackageConfigId; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java b/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java index d9b43d5..ee9dd41 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java @@ -47,5 +47,5 @@ * 处理剩余课时已经全部排完课后临时增加课时后添加排课 * @param coursePackageOrderStudentId */ - void addNewCoursePackageScheduling(Integer coursePackageOrderStudentId, Integer classNumber); + void addNewCoursePackageScheduling(Long coursePackageOrderStudentId, Integer classNumber); } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java index c4797d5..2288be4 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java @@ -319,7 +319,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()) diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java index 9e13e0d..baa80c1 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java @@ -511,6 +511,14 @@ AppUser appUser = appuClient.queryAppUser(appUserId); CourseDetailsResponse response = new CourseDetailsResponse(); CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePayId); + if (coursePackageOrder==null){ +// student = coursePackageStudentService.getById(coursePayId); + CoursePackageOrderStudent student = coursePackageOrderStudentService.getById(coursePayId); + + coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>().eq("appUserId", student.getAppUserId()).like("studentIds", student.getStudentId()).eq("coursePackageId", student.getCoursePackageId()).orderByDesc("insertTime").last("limit 1")); + + } + response.setChooseHours(coursePackageOrder.getClassHours()); diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java index 3226306..56c305a 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java @@ -1219,6 +1219,8 @@ courseCounsum.setInsertTime(new Date()); courseCounsum.setReason("购买课包"); courseCounsumService.save(courseCounsum); + + } if(coursePackage.getType() == 2){ addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), null); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java index 3e8d1a9..6b15485 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java @@ -698,15 +698,15 @@ List<SelectDto> selectDtos = appUserClient.giftSelect(giftSearchDto); // 只查询当前用户下 同时也报名了该课程的学员 - for (SelectDto selectDto : selectDtos) { - // 获取课包id - TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(giftSearchDto.getId()); - - Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); - // 学员id 拿到学员id 判断当前学员是否报名了这门课程 - Long id = selectDto.getId(); - // - } +// for (SelectDto selectDto : selectDtos) { +// // 获取课包id +// TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(giftSearchDto.getId()); +// +// Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); +// // 学员id 拿到学员id 判断当前学员是否报名了这门课程 +// Long id = selectDto.getId(); +// // +// } Map<String,List<SelectDto>> map = new HashMap<>(); map.put("options",selectDtos); // Map<String,List<SelectDto>> map = new HashMap<>(); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java index 05b26cf..f8034c5 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java @@ -570,7 +570,7 @@ List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(integers); for (CoursePackageStudent coursePackageStudent : coursePackageStudents) { - if(coursePackageStudent.getReservationStatus() == 0){ + if(coursePackageStudent.getSignInOrNot() == 2){ continue; } // TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackageStudent.getCoursePackagePaymentId()); -- Gitblit v1.7.1