nickchange
2023-11-28 b3bf5a0b4fac7ba6bc85b2bdce5e05d55cdeb69f
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();