From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 08 五月 2025 09:21:57 +0800
Subject: [PATCH] bug修改

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java |  185 +++++----------------------------------------
 1 files changed, 22 insertions(+), 163 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java
index 9b70316..1e60180 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java
@@ -13,9 +13,11 @@
 import com.dsh.course.feignClient.other.SiteClient;
 import com.dsh.course.feignClient.other.StoreClient;
 import com.dsh.course.feignClient.other.model.Banner;
+import com.dsh.course.util.UUIDUtil;
 import com.dsh.guns.config.UserExt;
 import com.dsh.guns.core.base.controller.BaseController;
 import com.dsh.guns.modular.system.model.*;
+import com.dsh.course.entity.CoursePackageOrderStudent;
 import com.dsh.guns.modular.system.model.TCoursePackagePayment;
 import com.dsh.guns.modular.system.model.dto.CoursePackage;
 import com.dsh.guns.modular.system.service.ICityService;
@@ -105,8 +107,8 @@
      *  添加购课记录
      */
     @ResponseBody
-    @PostMapping(value = "/addCoursePackagePayment/{id}")
-    public Object addCoach(@RequestBody TCoursePackagePayment tCoursePackagePayment, @PathVariable("id")Integer id) {
+    @PostMapping(value = "/addCoursePackagePayment")
+    public Object addCoach(@RequestBody TCoursePackagePayment tCoursePackagePayment) {
         Integer objectId = UserExt.getUser().getObjectId();
         Integer objectType = UserExt.getUser().getObjectType();
         String name = UserExt.getUser().getName();
@@ -120,174 +122,23 @@
         calendar.add(Calendar.DAY_OF_MONTH, 20);
         Date updatedDate = calendar.getTime();
         tCoursePackagePayment.setOriginalPrice(tCoursePackagePayment.getCashPayment().doubleValue());
-        tCoursePackagePayment.setUseTime(updatedDate);
-        // 查询当前课包有没有课包折扣
-        List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient.queryByCoursePackageId(coursePackageId);
-        // 判断当前用户是不是会员
-        Integer appUserId = tCoursePackagePayment.getAppUserId();
-        Date vipEndTime = appUserClient.queryAppUser1(appUserId).getVipEndTime();
-        // 会员折扣
-        double c1 = 0.00;
-        // 续课优惠
-        double c2 = 0.00;
-        // 显示折扣
-        double c3 = 0.00;
-        for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
-            char c = tCoursePackageDiscount.getContent().charAt(0);
-            String value1 = String.valueOf(c);
-
-            JSONObject jsonObject ;
-            if (value1.equals("[")){
-                jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent()
-                        .substring(1,tCoursePackageDiscount.getContent().length() - 1));
-            }else{
-                jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent());
-            }
-            // 获取所选课时的课包价格配置
+        // 获取所选课时的课包价格配置
+        if (tCoursePackagePayment.getCoursePackageConfigId()!=null) {
             List<CoursePackagePaymentConfig> coursePackagePaymentConfigs =
                     coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList1
                             (tCoursePackagePayment.getCoursePackageConfigId());
-            if (coursePackagePaymentConfigs.size()!=0){
+            if (coursePackagePaymentConfigs.size() != 0) {
                 CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigs.get(0);
                 tCoursePackagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
-                tCoursePackagePayment.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin());
             }
-            // 原价
-            Double originalPrice = tCoursePackagePayment.getOriginalPrice();
-
-            BigDecimal d1 = new BigDecimal(Double.toString(originalPrice));
-
-            // 计算课包折扣
-            switch (tCoursePackageDiscount.getType()){
-                case 1:
-                    // 是会员
-                    if (!vipEndTime.before(new Date())){
-                        // 会员折扣金额
-                        double discountMember = jsonObject.getDouble("discountMember");
-                        Double aDouble = new Double(discountMember);
-                        if (aDouble!=null){
-                            String value = String.valueOf(discountMember);
-                            // 折扣比例
-                            Double aDouble1 = Double.valueOf(value);
-                            c1 = aDouble1;
-                        }
-                    }
-                    break;
-                case 2:
-                    // 判断当前用户是否已经购买过当前课包
-                    List<CoursePackageOrderStudent> result=
-                            coursePackagePaymentClient.getByUserIdAndCoursePackageId(tCoursePackagePayment.getAppUserId(),
-                                    tCoursePackagePayment.getCoursePackageId());
-                    // 已经购买了
-                    if (result.size()!=0){
-                        // 会员续课折扣
-                        double continuingMember = jsonObject.getDouble("continuingMember");
-                        // 用户续课折扣
-                        double continuingUser = jsonObject.getDouble("continuingUser");
-                        // 是会员享受会员续课折扣
-                        if (!vipEndTime.before(new Date())){
-                            String value = String.valueOf(continuingMember);
-                            c2 = Double.valueOf(value);
-                        }else{ // 否则享受用户续课折扣
-                            String value = String.valueOf(continuingUser);
-                            c2 = Double.valueOf(value);
-                        }
-                    }
-                    break;
-                case 3:
-                    // 限时折扣判断是否在有效期
-                    String timeFrameStart = jsonObject.getString("startDate");
-                    String timeFrameEnd   = jsonObject.getString("endDate");
-                    try {
-                        // 判断当日时间是否能享受到折扣
-                        String startTime = jsonObject.getString("startTime");
-                        String endTime = jsonObject.getString("endTime");
-                        // 获取当前时间
-                        Date currentTime = new Date();
-                        // 定义时间格式
-                        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
-                        // 解析开始时间和结束时间为Date对象
-                        Date startTime1 = sdf.parse(startTime);
-                        Date endTime1 = sdf.parse(endTime);
-                        Date date1 = new Date();
-                        date1.setHours(startTime1.getHours());
-                        date1.setMinutes(startTime1.getMinutes());
-                        date1.setSeconds(startTime1.getSeconds());
-                        Date date2 = new Date();
-                        date2.setHours(endTime1.getHours());
-                        date2.setMinutes(endTime1.getMinutes());
-                        date2.setSeconds(endTime1.getSeconds());
-                        // 检查当前时间是否在开始时间和结束时间之间
-                        if (currentTime.after(date1) && currentTime.before(date2)) {
-                            System.out.println("当前时间在开始时间和结束时间之间。");
-                            String cashPayment = jsonObject.getString("cashPayment");
-                            c3 = Double.valueOf(cashPayment);
-                        } else {
-                            System.out.println("当前时间不在开始时间和结束时间之间。");
-                        }
-                    } catch (ParseException e) {
-                        e.printStackTrace();
-                    }
-                    break;
-                case 4:
-                    // 赠送课时 判断当前课包有没有赠送课时
-                    String weeks = jsonObject.getString("weeks");
-                    // 判断当前周几 是否满足折扣规则
-                    Calendar calendar9 = Calendar.getInstance();
-                    int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
-                    if (weeks.contains(String.valueOf(dayOfWeek))){
-                        // 限时折扣判断是否在有效期
-                        String timeFrameStart1 = jsonObject.getString("startDate");
-                        String timeFrameEnd1   = jsonObject.getString("endDate");
-                        try {
-                            // 判断当日时间是否能享受到折扣
-                            String startTime = jsonObject.getString("startTime");
-                            String endTime = jsonObject.getString("endTime");
-                            // 获取当前时间
-                            Date currentTime = new Date();
-                            // 定义时间格式
-                            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
-                            // 解析开始时间和结束时间为Date对象
-                            Date startTime1 = sdf.parse(startTime);
-                            Date endTime1 = sdf.parse(endTime);
-                            Date date1 = new Date();
-                            date1.setHours(startTime1.getHours());
-                            date1.setMinutes(startTime1.getMinutes());
-                            date1.setSeconds(startTime1.getSeconds());
-                            Date date2 = new Date();
-                            date2.setHours(endTime1.getHours());
-                            date2.setMinutes(endTime1.getMinutes());
-                            date2.setSeconds(endTime1.getSeconds());
-                            // 检查当前时间是否在开始时间和结束时间之间
-                            if (currentTime.after(date1) && currentTime.before(date2)) {
-                                System.out.println("当前时间在开始时间和结束时间之间。");
-                                String hour = jsonObject.getString("hour");
-                                tCoursePackagePayment.setGiftClassHours(Integer.valueOf(hour));
-                            } else {
-                                System.out.println("当前时间不在开始时间和结束时间之间。");
-                            }
-                        } catch (ParseException e) {
-                            e.printStackTrace();
-                        }
-                    }
-                    break;
-            }
-
+        }else {
+            List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(coursePackageId);
+            CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigs.get(0);
+            tCoursePackagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
         }
-        // 判断三个折扣 谁所需支付金额最少
-        double minValue = 0.00;
-        if (c1 != 0.00 && (c2 == 0.00 || c1 < c2) && (c3 == 0.00 || c1 < c3)) {
-            minValue = c1;
-        } else if (c2 != 0.00 && (c3 == 0.00 || c2 < c3)) {
-            minValue = c2;
-        } else if (c3 != 0.00) {
-            minValue = c3;
-        }
-        if (minValue!=0.00){
-            BigDecimal bigDecimal = new BigDecimal(minValue);
-            tCoursePackagePayment.setCashPayment(bigDecimal);
-        }
-
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+        String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
+        tCoursePackagePayment.setCode(code);
         return coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment);
     }
 
@@ -365,6 +216,14 @@
         return coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id);
     }
 
+
+    @RequestMapping(value = "/getCoursePackageType")
+    @ResponseBody
+    public Integer getCoursePackageType(Integer id) {
+        TCoursePackage coursePackage = coursePackageClient.queryById(id);
+        return coursePackage.getType();
+    }
+
 }
 
 

--
Gitblit v1.7.1