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/service/impl/TCoursePackageServiceImpl.java |   87 +++++++++++++++++++++++--------------------
 1 files changed, 47 insertions(+), 40 deletions(-)

diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
index 199a25d..f8e2778 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -832,7 +832,6 @@
         Integer integer = coursePackagePaymentService.queryCountNumber(paymentCourseVo.getId());
         TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId());
         if (course.getType() != 3) {
-
             if (integer + paymentCourseVo.getStudentIds().split(";").length > course.getMaxSubscribeNumber()) {
                 return ResultUtil.error("报名失败,已达最大报名人数");
             }
@@ -1001,7 +1000,7 @@
                                     coursePackageOrder1.setOrderNumber(transaction_id);
                                     coursePackageOrder1.setAppUserId(null);
                                     coursePackageOrderService.updateById(coursePackageOrder1);
-                                    addCoursePackageOrderStudent(coursePackageOrder1, coursePackagePaymentConfig);
+                                    addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
                                     break;
                                 }
                                 if ("USERPAYING".equals(s)) {
@@ -1091,7 +1090,7 @@
                                     coursePackageOrder1.setOrderNumber(tradeNo);
                                     coursePackageOrder1.setAppUserId(null);
                                     coursePackageOrderService.updateById(coursePackageOrder1);
-                                    addCoursePackageOrderStudent(coursePackageOrder1, coursePackagePaymentConfig);
+                                    addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
                                     break;
                                 }
                                 if ("WAIT_BUYER_PAY".equals(s)) {
@@ -1140,6 +1139,7 @@
         coursePackageOrder.setOriginalPrice(paymentCourseVo.getPrice());
         coursePackageOrder.setUserCouponId(paymentCourseVo.getCouponId());
         coursePackageOrder.setCashPayment(new BigDecimal(paymentPrice));
+        coursePackageOrder.setPlayPaiCoin(paymentCourseVo.getPrice().intValue());
         coursePackageOrder.setPayUserType(1);
         coursePackageOrder.setPayStatus(2);
         coursePackageOrder.setPayUserId(appUser.getId());
@@ -1147,7 +1147,7 @@
         coursePackageOrder.setInsertTime(new Date());
         coursePackageOrderService.save(coursePackageOrder);
 
-        addCoursePackageOrderStudent(coursePackageOrder, coursePackagePaymentConfig);
+        addCoursePackageOrderStudent(coursePackageOrder.getId(), coursePackagePaymentConfig);
         return ResultUtil.success();
     }
 
@@ -1172,7 +1172,7 @@
         coursePackageOrderService.updateById(coursePackageOrder1);
 
         CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(attach);
-        addCoursePackageOrderStudent(coursePackageOrder1, coursePackagePaymentConfig);
+        addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
         return ResultUtil.success();
     }
 
@@ -1180,10 +1180,10 @@
     /**
      * 支付成功后添加学员课时数据
      *
-     * @param coursePackageOrder
      * @param coursePackagePaymentConfig
      */
-    public void addCoursePackageOrderStudent(CoursePackageOrder coursePackageOrder, CoursePackagePaymentConfig coursePackagePaymentConfig) {
+    public void addCoursePackageOrderStudent(Long coursePackageOrderId, CoursePackagePaymentConfig coursePackagePaymentConfig) {
+        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePackageOrderId);
         // 发放优惠券
         userCouponClient.sendUserCoupon(new SendCouponReq(coursePackageOrder.getAppUserId(), coursePackagePaymentConfig.getCouponIds()));
 
@@ -1211,6 +1211,7 @@
                 calendar.setTime(new Date());
                 calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                 coursePackageOrderStudent.setUseTime(calendar.getTime());
+                coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
 
                 //开始排课
                 addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent);
@@ -1223,15 +1224,15 @@
                 calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime);
                 calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                 coursePackageOrderStudent.setUseTime(calendar.getTime());
+                coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                 //中间断课,没有连续续费的情况需要重新排课
                 if (useTime.compareTo(new Date()) < 0) {
                     addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent);
                 }
             }
-            coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
 
             CourseCounsum courseCounsum = new CourseCounsum();
-            courseCounsum.setPaymentId(coursePackageOrder.getId());
+            courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
             courseCounsum.setChangeType(1);
             courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
             courseCounsum.setInsertTime(new Date());
@@ -1279,20 +1280,21 @@
 
                 for (int i = 0; i < num; i++) {
                     Date time = calendar.getTime();
+
+                    //判断当天是否在排课星期内
+                    int day = calendar.get(Calendar.DAY_OF_WEEK);
+                    day = day - 1 == 0 ? 7 : day - 1;
+                    if (!week.contains(day)) {
+                        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+                        continue;
+                    }
+
+
+                    //大于有效期不进行排课
+                    if (calendar.getTimeInMillis() >= useTime.getTime()) {
+                        break;
+                    }
                     for (int j = 0; j < split.length; j++) {
-                        //判断当天是否在排课星期内
-                        int day = calendar.get(Calendar.DAY_OF_WEEK);
-                        day = day - 1 == 0 ? 7 : day - 1;
-                        if (!week.contains(day)) {
-                            calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
-                            continue;
-                        }
-
-
-                        //大于有效期不进行排课
-                        if (calendar.getTimeInMillis() >= useTime.getTime()) {
-                            break;
-                        }
                         //剩余数量不足以排课
                         if (laveClassHours.compareTo(codeTime) < 0) {
                             break;
@@ -1301,6 +1303,9 @@
                         laveClassHours -= codeTime;
 
                         CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+                        coursePackageScheduling.setType(tCoursePackage.getType());
+                        coursePackageScheduling.setAppUserId(userId);
+                        coursePackageScheduling.setStudentId(sId);
                         coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                         Date parse = format1.parse(format.format(time) + " " + split[j]);
                         Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
@@ -1318,10 +1323,9 @@
                         student1.setReservationStatus(1);
                         student1.setInsertTime(new Date());
                         cpsMapper.insert(student1);
-
-                        //增加日期,用于判断
-                        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                     }
+                    //增加日期,用于判断
+                    calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                 }
             }
 
@@ -1346,20 +1350,24 @@
                 int num = 8 - day_week + 7;
                 for (int i = 0; i < num; i++) {
                     Date time = calendar.getTime();
-                    for (int j = 0; j < split.length; j++) {
-                        //判断当天是否在排课星期内
-                        int day = calendar.get(Calendar.DAY_OF_WEEK);
-                        day = day - 1 == 0 ? 7 : day - 1;
-                        if (!week.contains(day)) {
-                            calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
-                            continue;
-                        }
 
-                        //大于有效期不进行排课
-                        if (calendar.getTimeInMillis() >= endTime.getTime()) {
-                            break;
-                        }
+                    //判断当天是否在排课星期内
+                    int day = calendar.get(Calendar.DAY_OF_WEEK);
+                    day = day - 1 == 0 ? 7 : day - 1;
+                    if (!week.contains(day)) {
+                        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+                        continue;
+                    }
+
+                    //大于有效期不进行排课
+                    if (calendar.getTimeInMillis() >= endTime.getTime()) {
+                        break;
+                    }
+                    for (int j = 0; j < split.length; j++) {
                         CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+                        coursePackageScheduling.setType(tCoursePackage.getType());
+                        coursePackageScheduling.setAppUserId(userId);
+                        coursePackageScheduling.setStudentId(sId);
                         coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                         Date parse = format1.parse(format.format(time) + " " + split[j]);
                         Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
@@ -1377,10 +1385,9 @@
                         student1.setReservationStatus(1);
                         student1.setInsertTime(new Date());
                         cpsMapper.insert(student1);
-
-                        //增加日期,用于判断
-                        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                     }
+                    //增加日期,用于判断
+                    calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                 }
             }
         } catch (Exception e) {

--
Gitblit v1.7.1