44323
2023-12-07 a52403161590d16c98c776639efc929868c71a27
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1242,6 +1242,7 @@
                    coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + coursePackagePaymentConfig.getClassHours());
                    coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + coursePackagePaymentConfig.getClassHours());
                    coursePackageOrderStudent.setStatus(1);
                    coursePackageOrderStudent.setInsertTime(new Date());
                    Integer validDays = coursePackage.getValidDays();
                    Calendar calendar = Calendar.getInstance();
                    calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime);
@@ -1315,7 +1316,6 @@
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                //剩余课时
                Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
                //扣除课时数
@@ -1342,11 +1342,26 @@
                        continue;
                    }
                    //大于有效期不进行排课
                    if (calendar.getTimeInMillis() >= validity.getTime()) {
                        break;
                    }
                    //检查是否有体验购课
                    int count = coursePackageSchedulingService.count(new QueryWrapper<CoursePackageScheduling>()
                            .eq("type", 3)
                            .eq("appUserId", userId)
                            .eq("studentId", sId)
                            .eq("coursePackageId", tCoursePackage.getId())
                            .eq("status", 1)
                            .eq("DATE_FORMAT(classDate, '%Y-%m-%d')", format.format(time))
                    );
                    //有体验购课,不进行排课
                    if(count != 0){
                        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                        continue;
                    }
                    for (int j = 0; j < split.length; j++) {
                        //剩余数量不足以排课
                        if (laveClassHours.compareTo(codeTime) < 0) {
@@ -1702,9 +1717,8 @@
    @Override
    public Integer addCoursePackage(TCoursePackage coursePackage) {
        try {
            coursePackage.setInsertTime(new Date());
            this.baseMapper.insert(coursePackage);
            if (coursePackage.getClassStartTime() != null && coursePackage.getClassStartTime() != "") {
                //生成排课数据
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");