From 71be497ee6db33d5f82667fc0b4960c8fdfeff89 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期二, 28 十一月 2023 19:55:06 +0800
Subject: [PATCH] 11.27,9

---
 cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java |  113 ++++++++++++++++++++++++--------------------------------
 1 files changed, 49 insertions(+), 64 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..189628e 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,23 +512,18 @@
             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);
+            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.setReason("赠课");
             courseCounsum.setNum(orinPay.getLaveClassHours());
             courseCounsum.setChangeType(0);
             courseCounsum.setPaymentId(orinPay.getId());
@@ -550,23 +532,26 @@
 
             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);
+            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()));
+            }
         }
-
-
     }
 
 

--
Gitblit v1.7.1