From b3bf5a0b4fac7ba6bc85b2bdce5e05d55cdeb69f Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期二, 28 十一月 2023 21:46:50 +0800 Subject: [PATCH] 11.27,9 --- cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 127 ++++++++++++++++++++---------------------- 1 files changed, 61 insertions(+), 66 deletions(-) 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 6b9bbdc..884ecc3 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 @@ -438,60 +438,40 @@ @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())); - - CoursePackageOrderStudent orinPay = orderStudentService.getById(toClassDto.getId()); - - CoursePackageOrderStudent studentPay = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", orinPay.getCoursePackageId())); - + 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); + + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setInsertTime(new Date()); + Integer appUserId = orinPay.getAppUserId(); + Integer appUserId1 = studentPay.getAppUserId(); + if (appUserId.compareTo(appUserId1) != 0) { + courseCounsum.setReason("赠课"); + } else { + courseCounsum.setReason("课时转移"); + } + orinPay.setLaveClassHours(0); orinPay.setStatus(5); orinPay.setAppUserId(null); orderStudentService.updateById(orinPay); - - CourseCounsum courseCounsum = new CourseCounsum(); - courseCounsum.setInsertTime(new Date()); - if (orinPay.getAppUserId() != studentPay.getAppUserId()) { - courseCounsum.setReason("课时赠送"); - } else { - courseCounsum.setReason("课时转移"); - } courseCounsum.setNum(laveClassHours); courseCounsum.setChangeType(0); courseCounsum.setPaymentId(orinPay.getId()); counsumService.save(courseCounsum); - Integer laveClassHours1 = studentPay.getLaveClassHours(); - Integer totalClassHours1 = studentPay.getTotalClassHours(); - int total = totalClassHours + totalClassHours1; - int lave = laveClassHours + laveClassHours1; - - studentPay.setAppUserId(null); - studentPay.setLaveClassHours(lave); - studentPay.setTotalClassHours(total); - orderStudentService.updateById(studentPay); - CourseCounsum courseCounsum1 = new CourseCounsum(); courseCounsum1.setInsertTime(new Date()); - if (orinPay.getAppUserId() != studentPay.getAppUserId()) { - courseCounsum1.setReason("课时赠送"); + if (appUserId.compareTo(appUserId1) != 0) { + courseCounsum1.setReason("赠课"); } else { courseCounsum1.setReason("课时转移"); } @@ -500,20 +480,27 @@ courseCounsum1.setPaymentId(studentPay.getId()); counsumService.save(courseCounsum1); - - schedulingService.addNewCoursePackageScheduling(studentPay.getId(),laveClassHours); - - + schedulingService.addNewCoursePackageScheduling(studentPay.getId(), laveClassHours); + //删除原排课数据 + List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.selectList(new QueryWrapper<CoursePackageScheduling>() + .eq("type", 1).eq("appUserId", appUserId) + .eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId()) + .orderByAsc("classDate")); + int num = totalClassHours - laveClassHours; + for (int i = num; i < coursePackageSchedulings.size(); i++) { + CoursePackageScheduling packageScheduling = coursePackageSchedulings.get(i); + coursePackageSchedulingService.deleteById(packageScheduling.getId()); + coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("coursePackageSchedulingId", packageScheduling.getId())); + } } else { - - - + Integer totalClassHours = orinPay.getTotalClassHours(); + Integer laveClassHours = orinPay.getLaveClassHours(); Student student = studentClient.queryStudentById(toClassDto.getToStudentId()); CoursePackageOrderStudent to = new CoursePackageOrderStudent(); to.setStudentId(toClassDto.getToStudentId()); - to.setTotalClassHours(orinPay.getTotalClassHours()); - to.setLaveClassHours(orinPay.getLaveClassHours()); + to.setTotalClassHours(laveClassHours); + to.setLaveClassHours(laveClassHours); to.setCoursePackageId(orinPay.getCoursePackageId()); to.setState(1); to.setAppUserId(student.getAppUserId()); @@ -525,24 +512,27 @@ calendar.setTime(new Date()); calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays); to.setUseTime(calendar.getTime()); - orderStudentService.save(to); + if(null == student.getValidity()){ + student.setValidity(calendar.getTime()); + }else if(student.getValidity().getTime() < calendar.getTime().getTime()){ + student.setValidity(calendar.getTime()); + } + studentClient.frozen(student); - orinPay.setTotalClassHours(0); + Integer laveClassHours1 = orinPay.getLaveClassHours(); + Integer appUserId = orinPay.getAppUserId(); orinPay.setLaveClassHours(0); orinPay.setAppUserId(null); orinPay.setStatus(6); orderStudentService.updateById(orinPay); - - - CourseCounsum courseCounsum = new CourseCounsum(); courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("课时赠送"); - courseCounsum.setNum(orinPay.getLaveClassHours()); + courseCounsum.setReason("赠课"); + courseCounsum.setNum(laveClassHours1); courseCounsum.setChangeType(0); courseCounsum.setPaymentId(orinPay.getId()); counsumService.save(courseCounsum); @@ -550,23 +540,26 @@ CourseCounsum courseCounsum1 = new CourseCounsum(); courseCounsum1.setInsertTime(new Date()); - courseCounsum1.setReason("课时赠送"); - courseCounsum1.setNum(orinPay.getLaveClassHours()); + courseCounsum1.setReason("赠课"); + courseCounsum1.setNum(laveClassHours1); courseCounsum1.setChangeType(1); courseCounsum1.setPaymentId(to.getId()); - counsumService.save(courseCounsum); + counsumService.save(courseCounsum1); - - - //开始排课 - addPackageStudent(coursePackage, to.getAppUserId(), to.getStudentId(), to); - - - - + //开始排课 + addPackageStudent(coursePackage, to.getAppUserId(), to.getStudentId(), to); + //删除原排课数据 + List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.selectList(new QueryWrapper<CoursePackageScheduling>() + .eq("type", 1).eq("appUserId", appUserId) + .eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId()) + .orderByAsc("classDate")); + int num = totalClassHours - laveClassHours; + for (int i = num; i < coursePackageSchedulings.size(); i++) { + CoursePackageScheduling packageScheduling = coursePackageSchedulings.get(i); + coursePackageSchedulingService.deleteById(packageScheduling.getId()); + coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("coursePackageSchedulingId", packageScheduling.getId())); + } } - - } @@ -606,7 +599,9 @@ 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(); + + Student student = studentClient.queryStudentById(coursePackageOrderStudent.getStudentId()); + Date useTime = student.getValidity(); for (int i = 0; i < num; i++) { Date time = calendar.getTime(); -- Gitblit v1.7.1