From 3c12858927ce26f277ba758e520c81be599d8df1 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 28 十一月 2023 15:42:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java |   65 ++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 13 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 fbac453..1f3af00 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
@@ -16,6 +16,7 @@
 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;
@@ -106,7 +107,7 @@
      */
     @ResponseBody
     @PostMapping(value = "/addCoursePackagePayment/{id}")
-    public ResultUtil addCoach(@RequestBody TCoursePackagePayment tCoursePackagePayment, @PathVariable("id")Integer id) {
+    public Object addCoach(@RequestBody TCoursePackagePayment tCoursePackagePayment, @PathVariable("id")Integer id) {
         Integer objectId = UserExt.getUser().getObjectId();
         Integer objectType = UserExt.getUser().getObjectType();
         String name = UserExt.getUser().getName();
@@ -114,7 +115,6 @@
         // 获取课包id
         Integer coursePackageId = tCoursePackagePayment.getCoursePackageId();
         List<TCoursePackageDiscount> list = coursePackageDiscountClient.queryByCoursePackageId(coursePackageId);
-
         Date currentDate = new Date();
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(currentDate);
@@ -136,6 +136,7 @@
         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()
@@ -143,14 +144,14 @@
             }else{
                 jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent());
             }
-            // 获取当前课包价格配置
-            Integer coursePackageId1 = tCoursePackagePayment.getCoursePackageId();
-            List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(coursePackageId1);
+            // 获取所选课时的课包价格配置
+            List<CoursePackagePaymentConfig> coursePackagePaymentConfigs =
+                    coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList1
+                            (tCoursePackagePayment.getCoursePackageConfigId());
             if (coursePackagePaymentConfigs.size()!=0){
                 CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigs.get(0);
                 tCoursePackagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
                 tCoursePackagePayment.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin());
-
             }
             // 原价
             Double originalPrice = tCoursePackagePayment.getOriginalPrice();
@@ -175,7 +176,9 @@
                     break;
                 case 2:
                     // 判断当前用户是否已经购买过当前课包
-                    List<com.dsh.course.feignClient.course.model.TCoursePackagePayment> result= coursePackagePaymentClient.getByUserIdAndCoursePackageId(tCoursePackagePayment.getAppUserId(),tCoursePackagePayment.getCoursePackageId());
+                    List<CoursePackageOrderStudent> result=
+                            coursePackagePaymentClient.getByUserIdAndCoursePackageId(tCoursePackagePayment.getAppUserId(),
+                                    tCoursePackagePayment.getCoursePackageId());
                     // 已经购买了
                     if (result.size()!=0){
                         // 会员续课折扣
@@ -196,8 +199,6 @@
                     // 限时折扣判断是否在有效期
                     String timeFrameStart = jsonObject.getString("startDate");
                     String timeFrameEnd   = jsonObject.getString("endDate");
-                    SimpleDateFormat format = new SimpleDateFormat(timeFrameStart);
-                    SimpleDateFormat format1 = new SimpleDateFormat(timeFrameEnd);
                     try {
                         // 判断当日时间是否能享受到折扣
                         String startTime = jsonObject.getString("startTime");
@@ -230,8 +231,46 @@
                     }
                     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;
             }
 
@@ -249,8 +288,8 @@
             BigDecimal bigDecimal = new BigDecimal(minValue);
             tCoursePackagePayment.setCashPayment(bigDecimal);
         }
-        coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment);
-        return ResultUtil.success("添加成功");
+
+        return coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment);
     }
 
     /**

--
Gitblit v1.7.1