From 76e0b150d0b9cb8d733668abcbb1763a759fc90d Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期一, 27 十一月 2023 19:56:57 +0800
Subject: [PATCH] 后台bug修改

---
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java |  157 ++++++++++++++--------------------------------------
 1 files changed, 43 insertions(+), 114 deletions(-)

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 5e6438c..825445d 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
@@ -161,125 +161,54 @@
      */
     @RequestMapping("/base/coursePackagePayment/add")
     public Object addCoursePackagePayment(@RequestBody TCoursePackagePayment packagePayment) {
-        packagePayment.setInsertTime(new Date());
-        packagePayment.setInsertTime(new Date());
-        Integer studentId = packagePayment.getStudentId();
-        // 添加学员上课记录
-        CoursePackageStudent coursePackageStudent = new CoursePackageStudent();
-        TCoursePackagePayment one = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", packagePayment.getStudentId())
-                .orderByDesc("insertTime")
-                .last("LIMIT 1"));
 
-        if (one != null) {
-            Integer totalClassHours = one.getTotalClassHours();
-            Integer absencesNumber = one.getAbsencesNumber();
-            // 没有过期
-            if (one.getUseTime().after(new Date())) {
-                if (one.getLaveClassHours() - packagePayment.getClassHours() < 0) {
-                    return 5002;
-                }
-                packagePayment.setTotalClassHours(one.getTotalClassHours());
-                packagePayment.setLaveClassHours(one.getLaveClassHours() - packagePayment.getClassHours());
-                packagePayment.setAbsencesNumber(one.getAbsencesNumber());
+        //校验是否已经报满
+        Integer cpId = Integer.valueOf((int) packagePayment.getCoursePackageId());
+        Integer integer = coursePackagePaymentService.queryCountNumber(cpId);
+        TCoursePackage course = coursePackageService.getById(packagePayment.getId());
+        if (course.getType() != 3) {
+            if (integer + 1 > course.getMaxSubscribeNumber()) {
+                return 5001;
             }
-            packagePayment.setTotalClassHours(packagePayment.getClassHours());
-            packagePayment.setLaveClassHours(packagePayment.getClassHours());
-            packagePayment.setAbsencesNumber(one.getAbsencesNumber());
-        } else {
-            packagePayment.setTotalClassHours(packagePayment.getClassHours());
-            packagePayment.setLaveClassHours(packagePayment.getClassHours());
-            packagePayment.setAbsencesNumber(0);
+        }
+        // 如果重复购买 累加课时
+        CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
+        coursePackageOrder.setAppUserId(packagePayment.getAppUserId());
+        coursePackageOrder.setStudentIds(String.valueOf(packagePayment.getStudentId()));
+        coursePackageOrder.setCoursePackageId(packagePayment.getCoursePackageId());
+        coursePackageOrder.setClassHours(packagePayment.getClassHours());
+        coursePackageOrder.setOriginalPrice(packagePayment.getOriginalPrice());
+        coursePackageOrder.setCashPayment(packagePayment.getCashPayment());
+        coursePackageOrder.setPlayPaiCoin(packagePayment.getPlayPaiCoin());
+        coursePackageOrder.setPayStatus(1);
+        coursePackageOrder.setState(1);
+        coursePackageOrder.setInsertTime(new Date());
+        coursePackageOrder.setSalesName(packagePayment.getSalesName());
+        coursePackageOrderService.save(coursePackageOrder);
+        TCoursePackage byId = coursePackageService.getById(packagePayment.getCoursePackageId());
+        if (byId.getType()==1){
+            CoursePackageOrderStudent coursePackageOrderStudent = new CoursePackageOrderStudent();
+            coursePackageOrderStudent.setAppUserId(packagePayment.getAppUserId());
+            coursePackageOrderStudent.setStudentId(packagePayment.getStudentId());
+            coursePackageOrderStudent.setCoursePackageId(packagePayment.getCoursePackageId());
+            coursePackageOrderStudent.setTotalClassHours(packagePayment.getClassHours());
+            coursePackageOrderStudent.setLaveClassHours(packagePayment.getClassHours());
+            coursePackageOrderStudent.setAbsencesNumber(0);
+            coursePackageOrderStudent.setDropoutsNumber(0);
+            coursePackageOrderStudent.setStatus(1);
+            coursePackageOrderStudent.setState(1);
+            coursePackageOrderStudent.setInsertTime(new Date());
+            coursePackageOrderStudent.setGiftClassHours(packagePayment.getGiftClassHours());
+            // 获取常规课的有效期 计算是哪一天
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.DAY_OF_MONTH, byId.getValidDays());
+            Date time = calendar.getTime();
+            coursePackageOrderStudent.setUseTime(time);
+            return coursePackageOrderStudentService.save(coursePackageOrderStudent);
         }
         // 生成排课数据
-        TCoursePackage coursePackage = tcpService.getById(packagePayment.getCoursePackageId());
-        //生成排课数据
-        try {
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            Date date = sdf1.parse(sdf.format(new Date()) + " 00:00:00");
-            List<String> list = Arrays.asList(coursePackage.getClassWeeks().split(";"));
-            String value = coursePackage.getClassStartTime();
-            String value1 = coursePackage.getClassEndTime();
+        return null;
 
-            String[] star = value.split(",");
-            String[] end = value1.split(",");
-            for (int i = 0; i < star.length; i++) {
-                //                int index = star[i].indexOf(",");
-                //                String result = value.substring(0, index).trim();
-                String classStartTime = star[i];
-                String[] split = classStartTime.split(":");
-                //            String value1 = en;
-                int index1 = value1.indexOf(",");
-                //                String result1 = value.substring(0, index1).trim();
-                String classEndTime = end[i];
-                String[] split1 = classEndTime.split(":");
-                Calendar s = Calendar.getInstance();
-                s.setTime(date);
-                s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1);
-                s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0]));
-                s.set(Calendar.MINUTE, Integer.valueOf(split[1]));
-                s.set(Calendar.SECOND, 0);
-
-                Calendar e = Calendar.getInstance();
-                e.setTime(date);
-                e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14);
-                long timeInMillis = e.getTimeInMillis();
-
-                while (true) {
-                    int w = s.get(Calendar.DAY_OF_WEEK);
-                    WeekEnum weekEnum = WeekEnum.getWeekEnum(w);
-                    if (list.contains(weekEnum.getChineseName())) {
-                        Calendar classDate = Calendar.getInstance();
-                        classDate.setTime(s.getTime());
-                        classDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0]));
-                        classDate.set(Calendar.MINUTE, Integer.valueOf(split[1]));
-                        classDate.set(Calendar.SECOND, 0);
-
-                        Calendar endDate = Calendar.getInstance();
-                        endDate.setTime(s.getTime());
-                        endDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split1[0]));
-                        endDate.set(Calendar.MINUTE, Integer.valueOf(split1[1]));
-                        endDate.set(Calendar.SECOND, 0);
-
-                        CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-                        coursePackageScheduling.setCoursePackageId(coursePackage.getId());
-                        coursePackageScheduling.setClassDate(classDate.getTime());
-                        coursePackageScheduling.setEndDate(endDate.getTime());
-                        coursePackageScheduling.setStatus(1);
-                        coursePackageSchedulingService.save(coursePackageScheduling);
-                        coursePackageStudent.setCoursePackageSchedulingId(coursePackageScheduling.getId());
-
-                        List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
-                                .eq("coursePackageId", coursePackage.getId())
-                                .eq("classDate", classDate.getTime())
-                                .eq("endDate", endDate.getTime()));
-                        if (list1.size() + 1 > coursePackage.getMaxSubscribeNumber()) {
-                            // 当前课包预约人数已满
-                            return 5001;
-                        }
-                    }
-                    s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1);
-                    if (s.getTimeInMillis() > timeInMillis) {
-                        break;
-                    }
-                }
-            }
-        } catch (ParseException e) {
-            e.printStackTrace();
-        }
-
-        coursePackageStudent.setStudentId(packagePayment.getStudentId());
-        coursePackageStudent.setCoursePackageId(packagePayment.getCoursePackageId());
-
-
-        coursePackageStudent.setSignInOrNot(0);
-        coursePackageStudent.setReservationStatus(1);
-        coursePackageStudent.setInsertTime(new Date());
-        coursePackageStudent.setAppUserId(packagePayment.getAppUserId());
-        packagePaymentService.save(packagePayment);
-        coursePackageStudent.setCoursePackagePaymentId(packagePayment.getId());
-
-        return coursePackageStudentService.save(coursePackageStudent);
     }
 
     /**

--
Gitblit v1.7.1