From 4ee77a0ee732b1d760b08d986ab308dc8d89f6be Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期三, 01 十一月 2023 10:43:54 +0800
Subject: [PATCH] 支付会员购买bug

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java |  141 ++++++++++++++++++++++++++--------------------
 1 files changed, 79 insertions(+), 62 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 8ddabfd..f89ee80 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
@@ -138,7 +138,7 @@
             List<Store> stores = storeClient.queryStoreListByName(coursePackageList.getSearch());
             List<Integer> collect = stores.stream().map(Store::getId).collect(Collectors.toList());
             if(collect.size() > 0){
-                wrapper.or().in("id", collect);
+                wrapper.or().in("storeId", collect);
             }
         }
         List<TCoursePackage> list = this.list(wrapper.last(" order by sort, insertTime desc"));
@@ -172,9 +172,16 @@
 
 
             coursePackageListVo.setApplicantsNumber(integer);
+            Double cashPayment1 = coursePackagePaymentConfig.getCashPayment();
+            Integer playPaiCoin = coursePackagePaymentConfig.getPlayPaiCoin();
+            if(ToolUtil.isNotEmpty(cashPayment1) && cashPayment1>0 && ToolUtil.isNotEmpty(playPaiCoin) && playPaiCoin>0){
+                coursePackageListVo.setPayType(3);
+            }else if(ToolUtil.isNotEmpty(cashPayment1) && cashPayment1>0){
+                coursePackageListVo.setPayType(1);
+            }else if(ToolUtil.isNotEmpty(playPaiCoin) && playPaiCoin>0){
+                coursePackageListVo.setPayType(2);
+            }
 
-
-            coursePackageListVo.setPayType(coursePackage.getPayType());
 
 
             if (coursePackagePaymentConfig!=null) {
@@ -516,6 +523,7 @@
             coursePackageInfo.setTime(format.format(coursePackage.getStartTime())+"-"+format.format(coursePackage.getEndTime()));
         }
             coursePackageInfo.setCoverDrawing(coursePackage.getCoverDrawing());
+
             coursePackageInfo.setName(coursePackage.getName());
             Store store = storeClient.queryStoreById(coursePackage.getStoreId());
             coursePackageInfo.setStoreName(store.getName());
@@ -556,8 +564,17 @@
                 CoursePackagePaymentConfigVo coursePackagePaymentConfigVo = new CoursePackagePaymentConfigVo();
                 coursePackagePaymentConfigVo.setId(coursePackagePaymentConfig.getId());
                 coursePackagePaymentConfigVo.setClassHours(coursePackagePaymentConfig.getClassHours());
-                coursePackagePaymentConfigVo.setPayType(coursePackage.getPayType());
                 coursePackagePaymentConfigVo.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin());
+
+                if(ToolUtil.isNotEmpty(coursePackagePaymentConfig.getCashPayment()) && coursePackagePaymentConfig.getCashPayment()>0 && ToolUtil.isNotEmpty(coursePackagePaymentConfig.getPlayPaiCoin()) && coursePackagePaymentConfig.getPlayPaiCoin()>0 ){
+                    coursePackagePaymentConfigVo.setPayType(3);
+                }else if(ToolUtil.isNotEmpty(coursePackagePaymentConfig.getCashPayment()) && coursePackagePaymentConfig.getCashPayment()>0){
+                    coursePackagePaymentConfigVo.setPayType(1);
+                }else if( ToolUtil.isNotEmpty(coursePackagePaymentConfig.getPlayPaiCoin()) && coursePackagePaymentConfig.getPlayPaiCoin()>0 ){
+                    coursePackagePaymentConfigVo.setPayType(2);
+                }
+
+//                coursePackagePaymentConfigVo.setPayType(coursePackage.getPayType());
                 //会员显示原价和支付价(会员价)。非会员显示会员价和支付价(最低)
                 if(appUser.getIsVip() == 0){//非会员
                     List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
@@ -1026,6 +1043,7 @@
 //
 
         AlipayTradeRoyaltyRelationBindRequest request1 = new AlipayTradeRoyaltyRelationBindRequest();
+        AlipayTradeRoyaltyRelationBindModel bindModel = new AlipayTradeRoyaltyRelationBindModel();
 
 
         request1.setBizContent("{" +
@@ -1155,13 +1173,11 @@
     }
 
 
-    private void addPackageStudent(Integer courseId, Integer userId, Integer sId,Long paymentId){
+    private void addPackageStudent(Integer courseId, Integer userId, Integer sId,Long paymentId) throws ParseException {
         // 课包
         TCoursePackage tCoursePackage = this.baseMapper.selectById(courseId);
-
-
-
         String classWeeks = tCoursePackage.getClassWeeks();
+
         List<Integer> week = week(classWeeks);
 
         String[] split = tCoursePackage.getClassStartTime().split(",");
@@ -1181,27 +1197,23 @@
 
                     CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                     coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
-                    try {
-                        Date parse = format1.parse(format.format(time) + " " + split[i1]);
+                                            Date parse = format1.parse(format.format(time) + " " + split[i1]);
                         Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
                         coursePackageScheduling.setClassDate(parse);
                         coursePackageScheduling.setEndDate(parse1);
                         coursePackageScheduling.setStatus(1);
                         coursePackageSchedulingService.save(coursePackageScheduling);
 
-                        CoursePackageStudent student1 = new CoursePackageStudent();
-                        student1.setAppUserId(userId);
-                        student1.setStudentId(sId);
-                        student1.setCoursePackageId(tCoursePackage.getId());
-                        student1.setCoursePackagePaymentId(paymentId);
-                        student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
-                        student1.setSignInOrNot(1);
-                        student1.setReservationStatus(1);
-                        student1.setInsertTime(new Date());
-                        cpsMapper.insert(student1);
-                    } catch (ParseException e) {
-                        e.printStackTrace();
-                    }
+                    CoursePackageStudent student1 = new CoursePackageStudent();
+                    student1.setAppUserId(userId);
+                    student1.setStudentId(sId);
+                    student1.setCoursePackageId(tCoursePackage.getId());
+                    student1.setCoursePackagePaymentId(paymentId);
+                    student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+                    student1.setSignInOrNot(1);
+                    student1.setReservationStatus(1);
+                    student1.setInsertTime(new Date());
+                    cpsMapper.insert(student1);
 
                 }
 
@@ -1218,45 +1230,12 @@
                     for (int i1 = 0; i1 < split.length; i1++) {
                         CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                         coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
-                        try {
-                            Date parse = format1.parse(format.format(time) + " " + split[i1]);
+                                                    Date parse = format1.parse(format.format(time) + " " + split[i1]);
                             Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
                             coursePackageScheduling.setClassDate(parse);
                             coursePackageScheduling.setEndDate(parse1);
                             coursePackageScheduling.setStatus(1);
                             coursePackageSchedulingService.save(coursePackageScheduling);
-
-                            CoursePackageStudent student1 = new CoursePackageStudent();
-                            student1.setAppUserId(userId);
-                            student1.setStudentId(sId);
-                            student1.setCoursePackageId(tCoursePackage.getId());
-                            student1.setCoursePackagePaymentId(paymentId);
-                            student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
-                            student1.setSignInOrNot(1);
-                            student1.setReservationStatus(1);
-                            student1.setInsertTime(new Date());
-                            cpsMapper.insert(student1);
-                        } catch (ParseException e) {
-                            e.printStackTrace();
-                        }
-                    }
-                }
-
-            }else {
-                Calendar instance = Calendar.getInstance();
-                instance.add(Calendar.DATE,7);
-                Date time = instance.getTime();
-
-                for (int i1 = 0; i1 < split.length; i1++) {
-                    CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-                    coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
-                    try {
-                        Date parse = format1.parse(format.format(time) + " " + split[i1]);
-                        Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
-                        coursePackageScheduling.setClassDate(parse);
-                        coursePackageScheduling.setEndDate(parse1);
-                        coursePackageScheduling.setStatus(1);
-                        coursePackageSchedulingService.save(coursePackageScheduling);
 
                         CoursePackageStudent student1 = new CoursePackageStudent();
                         student1.setAppUserId(userId);
@@ -1268,9 +1247,34 @@
                         student1.setReservationStatus(1);
                         student1.setInsertTime(new Date());
                         cpsMapper.insert(student1);
-                    } catch (ParseException e) {
-                        e.printStackTrace();
                     }
+                }
+
+            }else {
+                Calendar instance = Calendar.getInstance();
+                instance.add(Calendar.DATE,7);
+                Date time = instance.getTime();
+
+                for (int i1 = 0; i1 < split.length; i1++) {
+                    CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+                    coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+                                            Date parse = format1.parse(format.format(time) + " " + split[i1]);
+                        Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
+                        coursePackageScheduling.setClassDate(parse);
+                        coursePackageScheduling.setEndDate(parse1);
+                        coursePackageScheduling.setStatus(1);
+                        coursePackageSchedulingService.save(coursePackageScheduling);
+
+                    CoursePackageStudent student1 = new CoursePackageStudent();
+                    student1.setAppUserId(userId);
+                    student1.setStudentId(sId);
+                    student1.setCoursePackageId(tCoursePackage.getId());
+                    student1.setCoursePackagePaymentId(paymentId);
+                    student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+                    student1.setSignInOrNot(1);
+                    student1.setReservationStatus(1);
+                    student1.setInsertTime(new Date());
+                    cpsMapper.insert(student1);
                 }
             }
         }
@@ -1393,7 +1397,7 @@
 
                     Calendar e = Calendar.getInstance();
                     e.setTime(date);
-                    e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 13);
+                    e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14);
                     long timeInMillis = e.getTimeInMillis();
 
                     while (true) {
@@ -1420,7 +1424,7 @@
                             coursePackageSchedulingService.save(coursePackageScheduling);
                         }
                         s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1);
-                        if (s.getTimeInMillis() > timeInMillis) {
+                        if (s.getTimeInMillis() >= timeInMillis) {
                             break;
                         }
                     }
@@ -1454,6 +1458,7 @@
             coursePackageSchedulingService.remove(coursePackageSchedulingQueryWrapper);
 
             this.baseMapper.updateById(coursePackage);
+
             //生成排课数据
             Date date = null;
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -1480,7 +1485,7 @@
                 int d = Long.valueOf(14L - ((s.getTimeInMillis() - time) / 86400000L)).intValue();
                 e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + d);
             }else{
-                e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 13);
+                e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14);
             }
             long timeInMillis = e.getTimeInMillis();
 
@@ -1562,6 +1567,18 @@
             coursePackagePaymentConfig.setCouponIds("-1");
         }
         List<Coupon> coupons = couponClient.getCoupons(coursePackagePaymentConfig.getCouponIds());
+
+        for (Coupon coupon : coupons) {
+            Date date1 = coupon.getStartTime(); // 2023-10-01 00:00:00
+            Date date2 = coupon.getEndTime(); // 2023-10-12 00:00:00
+
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
+            String dateString1 = sdf.format(date1);
+            String dateString2 = sdf.format(date2);
+
+            String result = dateString1 + "-" + dateString2;
+            coupon.setTimePeriod(result);
+        }
         return ResultUtil.success(coupons);
     }
 }

--
Gitblit v1.7.1