From e0786b57f356db59efc6a4a3dd5e23908775286a Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期二, 21 十一月 2023 19:42:11 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java |  130 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 124 insertions(+), 6 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 4d0de4b..3709539 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
@@ -726,6 +726,25 @@
                     }
                     coursePackagePaymentConfigVo.setPaymentPrice(paymentPrice);
 
+
+
+                    TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
+                            .eq("type", 2).eq("auditStatus", 2));
+
+
+                    //这里是续课优惠
+                    Double continuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingUser");
+                    Double vipcontinuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingMember");
+
+
+                    if (coursePackagePaymentConfigVo.getPaymentPrice()>continuingMember){
+                        coursePackagePaymentConfigVo.setPaymentPrice(continuingMember);
+                    }
+                    if (coursePackagePaymentConfigVo.getVipPrice()>vipcontinuingMember){
+                        coursePackagePaymentConfigVo.setVipPrice(vipcontinuingMember);
+                    }
+
+
                     if (coursePackagePaymentConfigVo.getPaymentPrice()<coursePackagePaymentConfigVo.getVipPrice()){
                         coursePackagePaymentConfigVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
                         coursePackagePaymentConfigVo.setVipPrice(null);
@@ -1035,6 +1054,21 @@
 
             TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId()));
 
+            //赠送课时
+            int weekday = DateUtil.dayOfWeek(new Date()) - 1;
+            TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("type",4).eq("coursePackageId", paymentCourseVo.getId()).last("limit 1"));
+
+            Integer hour = 0;
+            if (discount!=null) {
+                JSONArray objects = JSONObject.parseArray(discount.getContent());
+                JSONObject parse = JSONObject.parseObject(JSONObject.toJSONString(objects.get(0)));
+                hour = parse.getInteger("hour");
+                if (hour == null) {
+                    hour = 0;
+                }
+            }
+
+
             if (coursePackagePaymentServiceOne==null) {
                 TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment();
                 coursePackagePayment.setCode(code);
@@ -1042,11 +1076,11 @@
                 coursePackagePayment.setStudentId(Integer.valueOf(s));
                 coursePackagePayment.setCoursePackageId(paymentCourseVo.getId());
                 coursePackagePayment.setPayType(paymentCourseVo.getPayType());
-                coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours());
+                coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()+hour);
                 coursePackagePayment.setOriginalPrice(paymentCourseVo.getPrice());
                 coursePackagePayment.setPlayPaiCoin(paymentPrice.intValue());
-                coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
-                coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
+                coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()+hour);
+                coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()+hour);
                 coursePackagePayment.setAbsencesNumber(0);
                 coursePackagePayment.setPayUserType(1);
                 coursePackagePayment.setPayStatus(1);
@@ -1072,6 +1106,19 @@
                 courseCounsum.setInsertTime(new Date());
                 courseCounsum.setReason("购买课包");
                 courseCounsumService.save(courseCounsum);
+
+                if (hour!=0){
+                    CourseCounsum courseCounsum1 = new CourseCounsum();
+                    courseCounsum1.setPaymentId(coursePackagePayment.getId());
+                    courseCounsum1.setChangeType(1);
+                    courseCounsum1.setNum(hour);
+                    courseCounsum1.setInsertTime(new Date());
+                    courseCounsum1.setReason("赠送课时");
+                    courseCounsumService.save(courseCounsum);
+
+                }
+
+
 
             }else {
 //                coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours());
@@ -1157,11 +1204,26 @@
                                     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());
+
+                                            TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("type",4).eq("coursePackageId", paymentCourseVo.getId()).last("limit 1"));
+
+                                            Integer hour = 0;
+                                            if (discount!=null) {
+                                                JSONArray objects = JSONObject.parseArray(discount.getContent());
+                                                JSONObject parse = JSONObject.parseObject(JSONObject.toJSONString(objects.get(0)));
+                                                hour = parse.getInteger("hour");
+                                                if (hour == null) {
+                                                    hour = 0;
+                                                }
+                                            }
+
+
+
+                                            coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
                                             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.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
+                                            coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
                                             coursePackagePaymentServiceOne.setCode(code);
 
                                             coursePackagePaymentServiceOne.setAppUserId(null);
@@ -1183,6 +1245,18 @@
                                             courseCounsum.setInsertTime(new Date());
                                             courseCounsum.setReason("续课");
                                             courseCounsumService.save(courseCounsum);
+
+
+                                            if (hour!=0){
+                                                CourseCounsum courseCounsum1 = new CourseCounsum();
+                                                courseCounsum1.setPaymentId(coursePackagePaymentServiceOne.getId());
+                                                courseCounsum1.setChangeType(1);
+                                                courseCounsum1.setNum(hour);
+                                                courseCounsum1.setInsertTime(new Date());
+                                                courseCounsum1.setReason("赠送课时");
+                                                courseCounsumService.save(courseCounsum);
+
+                                            }
 
 
                                         }
@@ -1335,6 +1409,8 @@
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
         String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
 
+        TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId());
+
 
         //赠送课时
         int weekday = DateUtil.dayOfWeek(new Date()) - 1;
@@ -1374,6 +1450,16 @@
                 coursePackagePayment.setStatus(1);
                 coursePackagePayment.setState(1);
                 coursePackagePayment.setInsertTime(new Date());
+
+                if (course.getValidDays()!=null) {
+                    Date date = new Date();
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(date);
+                    calendar.add(Calendar.DATE, course.getValidDays());
+                    date = calendar.getTime();
+                    coursePackagePayment.setUseTime(date);
+                }
+
                 coursePackagePaymentService.save(coursePackagePayment);
                 Integer sId = null;
                 Student student = studentClient.queryDefaultStudent(appUser.getId());
@@ -1391,6 +1477,16 @@
                 courseCounsum.setReason("购买课包");
                 courseCounsumService.save(courseCounsum);
 
+                if (hour!=0){
+                    CourseCounsum courseCounsum1 = new CourseCounsum();
+                    courseCounsum1.setPaymentId(coursePackagePayment.getId());
+                    courseCounsum1.setChangeType(1);
+                    courseCounsum1.setNum(hour);
+                    courseCounsum1.setInsertTime(new Date());
+                    courseCounsum1.setReason("赠送课时");
+                    courseCounsumService.save(courseCounsum1);
+                }
+
             }else{
                 coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
                 if (coursePackagePaymentServiceOne.getOriginalPrice()!=null) {
@@ -1406,6 +1502,18 @@
                 coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
                 coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
                 coursePackagePaymentServiceOne.setAppUserId(null);
+
+
+                if (course.getValidDays()!=null) {
+                    Date date = coursePackagePaymentServiceOne.getUseTime();
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(date);
+                    calendar.add(Calendar.DATE, course.getValidDays());
+                    date = calendar.getTime();
+                    coursePackagePaymentServiceOne.setUseTime(date);
+                }
+
+
                 coursePackagePaymentService.updateById(coursePackagePaymentServiceOne);
 
 //                coursePackagePaymentService.save(coursePackagePayment);
@@ -1425,6 +1533,16 @@
                 courseCounsum.setReason("续课");
                 courseCounsumService.save(courseCounsum);
 
+                if (hour!=0){
+                    CourseCounsum courseCounsum1 = new CourseCounsum();
+                    courseCounsum1.setPaymentId(coursePackagePaymentServiceOne.getId());
+                    courseCounsum1.setChangeType(1);
+                    courseCounsum1.setNum(hour);
+                    courseCounsum1.setInsertTime(new Date());
+                    courseCounsum1.setReason("赠送课时");
+                    courseCounsumService.save(courseCounsum1);
+                }
+
 
             }
 

--
Gitblit v1.7.1