From a9564eae9f0169ca39329b2f14a8f13d13358a0a Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期五, 17 十一月 2023 15:28:44 +0800
Subject: [PATCH] 11.7

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java |  181 ++++++++++++++++++++++++++++++++------------
 1 files changed, 131 insertions(+), 50 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 fc826e7..4d0de4b 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
@@ -203,7 +203,7 @@
                 coursePackageListVo.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin());
             }
             //会员显示原价和会员价(最低)。非会员显示会员价和支付价(最低)
-            if(appUser.getIsVip() == 0){//非会员
+//            if(appUser.getIsVip() == 0){//非会员
                 List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
                         .eq("type", 1).eq("auditStatus", 2).eq("status",1));
                 Double vipPrice = coursePackagePaymentConfig.getCashPayment();
@@ -214,9 +214,10 @@
                     }
                 }
                 coursePackageListVo.setVipPrice(vipPrice);
+                coursePackageListVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
 
                 Double paymentPrice = coursePackagePaymentConfig.getCashPayment();
-                List<TCoursePackageDiscount> list3 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
+                    List<TCoursePackageDiscount> list3 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
                         .eq("type", 3).eq("auditStatus", 2).eq("status",1));
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 for (TCoursePackageDiscount coursePackageDiscount : list3) {
@@ -292,19 +293,31 @@
                     }
                 }
                 coursePackageListVo.setPaymentPrice(paymentPrice);
-            }else{
-                List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
-                        .eq("type", 1).eq("auditStatus", 2).eq("status",1));
-                Double vipPrice = coursePackagePaymentConfig.getCashPayment();
-                for (TCoursePackageDiscount coursePackageDiscount : list2) {
-                    Double num1 = JSON.parseObject(coursePackageDiscount.getContent()).getDouble("discountMember");
-                    if(vipPrice.compareTo(num1) > 0){
-                        vipPrice = num1;
-                    }
-                }
-                coursePackageListVo.setPaymentPrice(vipPrice);
-                coursePackageListVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
-            }
+
+            double vipPrice1 = coursePackageListVo.getVipPrice();
+            double originalPrice1 = coursePackageListVo.getOriginalPrice();
+            double paymentPrice1 = coursePackageListVo.getPaymentPrice();
+
+            double minPrice = Math.min(vipPrice1, Math.min(originalPrice1, paymentPrice1));
+            double maxPrice = Math.max(vipPrice1, Math.max(originalPrice1, paymentPrice1));
+            coursePackageListVo.setPaymentPrice(minPrice);
+            coursePackageListVo.setOriginalPrice(maxPrice);
+            System.out.println("Minimum price: " + minPrice);
+            System.out.println("Maximum price: " + maxPrice);
+//            }
+//            else{
+//                List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
+//                        .eq("type", 1).eq("auditStatus", 2).eq("status",1));
+//                Double vipPrice = coursePackagePaymentConfig.getCashPayment();
+//                for (TCoursePackageDiscount coursePackageDiscount : list2) {
+//                    Double num1 = JSON.parseObject(coursePackageDiscount.getContent()).getDouble("discountMember");
+//                    if(vipPrice.compareTo(num1) > 0){
+//                        vipPrice = num1;
+//                    }
+//                }
+//                coursePackageListVo.setPaymentPrice(vipPrice);
+//                coursePackageListVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
+//            }
 
             Map<String, Double> distance = GeodesyUtil.getDistance(coursePackageList.getLon() + "," + coursePackageList.getLat(), store.getLon() + "," + store.getLat());
             coursePackageListVo.setDistance(distance.get("WGS84") / 1000);
@@ -604,6 +617,8 @@
 
             coursePackageInfo.setDetailDrawing(coursePackage.getDetailDrawing());
             coursePackageInfo.setIntroduceDrawing(coursePackage.getIntroduceDrawing());
+
+
             List<CoursePackagePaymentConfigVo> list = new ArrayList<>();
             List<CoursePackagePaymentConfig> list1 = coursePackagePaymentConfigService.list(new QueryWrapper<CoursePackagePaymentConfig>().eq("coursePackageId", id).orderByAsc("classHours"));
             list1.forEach(coursePackagePaymentConfig -> {
@@ -633,7 +648,6 @@
                         }
                     }
                     coursePackagePaymentConfigVo.setVipPrice(vipPrice);
-
                     Double paymentPrice = coursePackagePaymentConfig.getCashPayment();
                     List<TCoursePackageDiscount> list3 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
                             .eq("type", 3).eq("auditStatus", 2));
@@ -711,7 +725,14 @@
                         }
                     }
                     coursePackagePaymentConfigVo.setPaymentPrice(paymentPrice);
-                }else{
+
+                    if (coursePackagePaymentConfigVo.getPaymentPrice()<coursePackagePaymentConfigVo.getVipPrice()){
+                        coursePackagePaymentConfigVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
+                        coursePackagePaymentConfigVo.setVipPrice(null);
+                    }
+
+                }
+                else{
                     List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
                             .eq("type", 1).eq("auditStatus", 2));
                     Double vipPrice = coursePackagePaymentConfig.getCashPayment();
@@ -756,8 +777,11 @@
         //校验是否已经报满
         Integer integer = coursePackagePaymentService.queryCountNumber(paymentCourseVo.getId());
         TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId());
-        if (integer+paymentCourseVo.getStudentIds().split(";").length>course.getMaxSubscribeNumber()){
-            return ResultUtil.error("报名失败,已达最大报名人数");
+        if (course.getType()!=3) {
+
+            if (integer + paymentCourseVo.getStudentIds().split(";").length > course.getMaxSubscribeNumber()) {
+                return ResultUtil.error("报名失败,已达最大报名人数");
+            }
         }
         List<CoursePackagePaymentConfigVo> list = coursePackageInfo.getList();
         String[] students = paymentCourseVo.getStudentIds().split(";");
@@ -1050,35 +1074,32 @@
                 courseCounsumService.save(courseCounsum);
 
             }else {
-                coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours());
-                coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice());
-                coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
-                coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours());
-                coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours());
-                coursePackagePaymentServiceOne.setCode(code);
-
-                coursePackagePaymentServiceOne.setAppUserId(null);
-                coursePackagePaymentServiceOne.setPayStatus(1);
-                coursePackagePaymentService.updateById(coursePackagePaymentServiceOne);
-
-//                coursePackagePaymentService.save(coursePackagePayment);
-                Integer sId = null;
-                Student student = studentClient.queryDefaultStudent(uid);
-                if (student != null) {
-                    sId = student.getId();
-                }
-                coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
-
-
-//                addPackageStudent(paymentCourseVo.getId(), uid, Integer.valueOf(s), coursePackagePaymentServiceOne.getId());
-
-                CourseCounsum courseCounsum = new CourseCounsum();
-                courseCounsum.setPaymentId(coursePackagePaymentServiceOne.getId());
-                courseCounsum.setChangeType(1);
-                courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
-                courseCounsum.setInsertTime(new Date());
-                courseCounsum.setReason("续课");
-                courseCounsumService.save(courseCounsum);
+//                coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours());
+//                coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice());
+//                coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
+//                coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours());
+//                coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours());
+//                coursePackagePaymentServiceOne.setCode(code);
+//
+//                coursePackagePaymentServiceOne.setAppUserId(null);
+//                coursePackagePaymentServiceOne.setPayStatus(2);
+//                coursePackagePaymentService.updateById(coursePackagePaymentServiceOne);
+//
+//                Integer sId = null;
+//                Student student = studentClient.queryDefaultStudent(uid);
+//                if (student != null) {
+//                    sId = student.getId();
+//                }
+//                coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
+//
+//
+//                CourseCounsum courseCounsum = new CourseCounsum();
+//                courseCounsum.setPaymentId(coursePackagePaymentServiceOne.getId());
+//                courseCounsum.setChangeType(1);
+//                courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
+//                courseCounsum.setInsertTime(new Date());
+//                courseCounsum.setReason("续课");
+//                courseCounsumService.save(courseCounsum);
 
 
             }
@@ -1132,6 +1153,41 @@
                                         coursePackagePayment.setOrderNumber(tradeNo);
                                         coursePackagePayment.setAppUserId(null);
                                     }
+
+                                    for (String s1 : split) {
+                                        TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId()));
+                                        if (coursePackagePaymentServiceOne!=null) {
+                                            coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours());
+                                            coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice());
+                                            coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
+                                            coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours());
+                                            coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours());
+                                            coursePackagePaymentServiceOne.setCode(code);
+
+                                            coursePackagePaymentServiceOne.setAppUserId(null);
+                                            coursePackagePaymentServiceOne.setPayStatus(2);
+                                            coursePackagePaymentService.updateById(coursePackagePaymentServiceOne);
+
+                                            Integer sId = null;
+                                            Student student = studentClient.queryDefaultStudent(uid);
+                                            if (student != null) {
+                                                sId = student.getId();
+                                            }
+                                            coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
+
+
+                                            CourseCounsum courseCounsum = new CourseCounsum();
+                                            courseCounsum.setPaymentId(coursePackagePaymentServiceOne.getId());
+                                            courseCounsum.setChangeType(1);
+                                            courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
+                                            courseCounsum.setInsertTime(new Date());
+                                            courseCounsum.setReason("续课");
+                                            courseCounsumService.save(courseCounsum);
+
+
+                                        }
+                                    }
+
                                     coursePackagePaymentService.updateBatchById(list);
                                 System.out.println("===========到达支付");
                                     // 2.0
@@ -1335,9 +1391,13 @@
                 courseCounsum.setReason("购买课包");
                 courseCounsumService.save(courseCounsum);
 
-            }else {
+            }else{
                 coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
-                coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice());
+                if (coursePackagePaymentServiceOne.getOriginalPrice()!=null) {
+                    coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice() + paymentCourseVo.getPrice());
+                }else {
+                    coursePackagePaymentServiceOne.setOriginalPrice(paymentCourseVo.getPrice());
+                }
                 if (coursePackagePaymentServiceOne.getPlayPaiCoin()==null){
                     coursePackagePaymentServiceOne.setPlayPaiCoin(paymentPrice.intValue());
 
@@ -1545,6 +1605,27 @@
                     }
                 }
             }
+        }else if (tCoursePackage.getType()==3){
+
+            if (price!=null) {
+                CourseCounsum courseCounsum = new CourseCounsum();
+                courseCounsum.setPaymentId(paymentId);
+                courseCounsum.setChangeType(3);
+                courseCounsum.setInsertTime(new Date());
+                courseCounsum.setReason("购买体验课;" + price);
+                courseCounsum.setAppUserId(userId);
+                courseCounsumService.save(courseCounsum);
+            }
+
+
+            //生成当天的排课记录
+
+            //生成学员的上课表
+
+
+
+
+
         }
 
 

--
Gitblit v1.7.1