From 8889371c686cb0b202370f0786968ae03c4210cf Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 24 七月 2024 18:50:45 +0800
Subject: [PATCH] 玩湃门店数据权限修改 收入管理增加世界杯记录

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java |  374 +++++++++++++++++++++++++++++------------------------
 1 files changed, 203 insertions(+), 171 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 fd2c939..c4e2001 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
@@ -143,12 +143,6 @@
     @Override
     public List<CoursePackageListVo> queryCourseList(Integer uid, CoursePackageList coursePackageList) throws Exception {
         AppUser appUser = appUserClient.queryAppUser(uid);
-//        Map<String, String> geocode = gdMapGeocodingUtil.geocode(coursePackageList.getLon(), coursePackageList.getLat());
-//        String provinceCode = geocode.get("provinceCode");
-//        String cityCode = geocode.get("cityCode");
-//        QueryWrapper<TCoursePackage> wrapper = new QueryWrapper<TCoursePackage>().in("status", Arrays.asList(1, 2))
-//                .eq("auditStatus", 2).eq("state", 1).eq("provinceCode", provinceCode).eq("cityCode", cityCode);
-
         QueryWrapper<TCoursePackage> wrapper = new QueryWrapper<TCoursePackage>().in("status", Arrays.asList(1, 2))
                 .eq("auditStatus", 2).eq("state", 1);
         if (null != coursePackageList.getCoursePackageTypeId()) {
@@ -171,7 +165,6 @@
         List<TCoursePackage> list1 = this.list(wrapper.last(" order by sort desc, insertTime desc"));
         Date currentTime = new Date();
 
-// Filter the list based on the conditions
         List<TCoursePackage> list = list1.stream()
                 .filter(coursePackage -> coursePackage.getType() != 2 || currentTime.before(coursePackage.getEndTime()))
                 .collect(Collectors.toList());
@@ -188,7 +181,6 @@
             coursePackageListVo.setStoreName(null != store ? store.getName() : "");
             coursePackageListVo.setCoverDrawing(coursePackage.getCoverDrawing());
 
-            // 2.0修改
             String classStartTime = coursePackage.getClassStartTime();
             String classEndTime = coursePackage.getClassEndTime();
             ArrayList<String> classTime = new ArrayList<>();
@@ -311,35 +303,8 @@
             }
             coursePackageListVo.setPaymentPrice(paymentPrice);
 
-            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);
-
-
-//            }
-//            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());
-//            }
-
             if (coursePackageListVo.getPaymentPrice() < coursePackageListVo.getVipPrice()) {
                 coursePackageListVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
-//                coursePackageListVo.setVipPrice(null);
             }
 
             if (appUser.getIsVip() == 1) {
@@ -445,7 +410,6 @@
                 coursePackageListVo.setPayType(2);
             }
 
-            // 2.0修改
             String classStartTime = coursePackage.getClassStartTime();
             String classEndTime = coursePackage.getClassEndTime();
             ArrayList<String> classTime = new ArrayList<>();
@@ -947,104 +911,10 @@
         CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(paymentCourseVo.getCoursePackagePaymentConfigId());
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
         String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
-        //生成支付订单
-        CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
-        coursePackageOrder.setCode(code);
-        coursePackageOrder.setAppUserId(uid);
-        coursePackageOrder.setStudentIds(paymentCourseVo.getStudentIds());
-        coursePackageOrder.setCoursePackageId(paymentCourseVo.getId());
-        coursePackageOrder.setPayType(paymentCourseVo.getPayType());
-        coursePackageOrder.setClassHours(coursePackagePaymentConfig.getClassHours());
-        coursePackageOrder.setOriginalPrice(paymentCourseVo.getPrice());
-        coursePackageOrder.setUserCouponId(paymentCourseVo.getCouponId());
-        coursePackageOrder.setCashPayment(new BigDecimal(paymentPrice));
-        coursePackageOrder.setPayUserType(1);
-        coursePackageOrder.setPayStatus(1);
-        coursePackageOrder.setPayUserId(uid);
-        coursePackageOrder.setStatus(1);
-        coursePackageOrder.setState(1);
-        coursePackageOrder.setInsertTime(new Date());
-        coursePackageOrderService.save(coursePackageOrder);
-
-        ResultUtil weixinpay = payMoneyUtil.weixinpay("购买课程", coursePackagePaymentConfig.getId().toString(), code, paymentPrice.toString(), "/base/course/weChatPaymentCourseCallback", "APP", "");
-        if (weixinpay.getCode() == 200) {
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        int num = 1;
-                        int wait = 0;
-                        while (num <= 10) {
-                            int min = 5000;
-                            wait += (min * num);
-                            Thread.sleep(wait);
-                            CoursePackageOrder coursePackageOrder1 = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>()
-                                    .eq("code", code).eq("state", 1));
-                            if (coursePackageOrder1.getPayStatus() == 2) {
-                                break;
-                            }
-                            ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryWXOrder(code, "");
-                            if (resultUtil.getCode() == 200 && coursePackageOrder1.getPayStatus() == 1) {
-                                /**
-                                 * SUCCESS—支付成功,
-                                 * REFUND—转入退款,
-                                 * NOTPAY—未支付,
-                                 * CLOSED—已关闭,
-                                 * REVOKED—已撤销(刷卡支付),
-                                 * USERPAYING--用户支付中,
-                                 * PAYERROR--支付失败(其他原因,如银行返回失败)
-                                 */
-                                Map<String, String> data1 = resultUtil.getData();
-                                String s = data1.get("trade_state");
-                                String transaction_id = data1.get("transaction_id");
-                                if ("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10) {
-                                    //有待支付的订单,这里不处理
-//                                    coursePackageOrder1.setState(3);
-//                                    coursePackageOrderService.updateById(coursePackageOrder1);
-                                    break;
-                                }
-                                if ("SUCCESS".equals(s)) {
-                                    coursePackageOrder1.setPayStatus(2);
-                                    coursePackageOrder1.setOrderNumber(transaction_id);
-                                    coursePackageOrder1.setAppUserId(null);
-                                    coursePackageOrderService.updateById(coursePackageOrder1);
-                                    //修改课时有效期
-
-
-                                    addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
-                                    break;
-                                }
-                                if ("USERPAYING".equals(s)) {
-                                    num++;
-                                }
-                            }
-                        }
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                }
-            }).start();
-        }
-        return weixinpay;
-    }
-
-
-    /**
-     * 课程支付宝支付
-     *
-     * @param uid
-     * @param paymentPrice
-     * @param paymentCourseVo
-     * @return
-     * @throws Exception
-     */
-    public ResultUtil aliPaymentCourse(Integer uid, Double paymentPrice, PaymentCourseVo paymentCourseVo) throws Exception {
-        CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(paymentCourseVo.getCoursePackagePaymentConfigId());
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
-        String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
-        //生成支付订单
-        CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
-        if (paymentCourseVo.getOrderId()==null){
+        Long orderId = paymentCourseVo.getOrderId();
+        if(null == orderId){
+            //生成支付订单
+            CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
             coursePackageOrder.setCode(code);
             coursePackageOrder.setAppUserId(uid);
             coursePackageOrder.setStudentIds(paymentCourseVo.getStudentIds());
@@ -1060,12 +930,141 @@
             coursePackageOrder.setStatus(1);
             coursePackageOrder.setState(1);
             coursePackageOrder.setInsertTime(new Date());
+            coursePackageOrder.setOrderType(1);
             coursePackageOrderService.save(coursePackageOrder);
-        }else {
-            code = coursePackageOrderService.getById(paymentCourseVo.getOrderId()).getCode();
+            orderId = coursePackageOrder.getId();
+        }else{
+            CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(orderId);
+            code = coursePackageOrder.getCode();
+            coursePackageOrder.setPayType(1);
+            coursePackageOrder.setAppUserId(null);
+            coursePackageOrder.setPayUserType(1);
+            coursePackageOrder.setPayUserId(uid);
+            coursePackageOrderService.updateById(coursePackageOrder);
         }
 
-        ResultUtil alipay = payMoneyUtil.alipay("购买课程", "购买课程", coursePackagePaymentConfig.getId().toString(), code, paymentPrice.toString(), "/base/course/aliPaymentCourseCallback");
+        ResultUtil weixinpay = payMoneyUtil.weixinpay("报名运动营", coursePackagePaymentConfig.getId().toString(), code, paymentPrice.toString(),
+                "/base/course/weChatPaymentCourseCallback", "APP", "");
+        if (weixinpay.getCode() == 200) {
+            String finalCode = code;
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 10) {
+                            int min = 5000;
+                            wait += (min * num);
+                            Thread.sleep(wait);
+                            CoursePackageOrder coursePackageOrder1 = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>()
+                                    .eq("code", finalCode).eq("state", 1));
+                            if (coursePackageOrder1.getPayStatus() == 2) {
+                                break;
+                            }
+                            ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryWXOrder(finalCode, "");
+                            if (resultUtil.getCode() == 200 && coursePackageOrder1.getPayStatus() == 1) {
+                                /**
+                                 * SUCCESS—支付成功,
+                                 * REFUND—转入退款,
+                                 * NOTPAY—未支付,
+                                 * CLOSED—已关闭,
+                                 * REVOKED—已撤销(刷卡支付),
+                                 * USERPAYING--用户支付中,
+                                 * PAYERROR--支付失败(其他原因,如银行返回失败)
+                                 */
+                                Map<String, String> data1 = resultUtil.getData();
+                                String s = data1.get("trade_state");
+                                String transaction_id = data1.get("transaction_id");
+                                if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10) {
+                                    //有待支付的订单,这里不处理
+//                                    coursePackageOrder1.setState(3);
+//                                    coursePackageOrderService.updateById(coursePackageOrder1);
+                                    break;
+                                }
+                                if ("SUCCESS".equals(s)) {
+                                    coursePackageOrder1.setPayStatus(2);
+                                    coursePackageOrder1.setOrderNumber(transaction_id);
+                                    coursePackageOrder1.setAppUserId(null);
+                                    coursePackageOrderService.updateById(coursePackageOrder1);
+                                    //修改课时有效期
+                                    addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
+                                    break;
+                                }
+                                if ("USERPAYING".equals(s) || "NOTPAY".equals(s)) {
+                                    num++;
+                                }
+                            }
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }).start();
+        }
+        return weixinpay;
+    }
+
+    private String smid = "2088330203191220";//平台支付宝商户号
+    /**
+     * 课程支付宝支付
+     *
+     * @param uid
+     * @param paymentPrice
+     * @param paymentCourseVo
+     * @return
+     * @throws Exception
+     */
+    public ResultUtil aliPaymentCourse(Integer uid, Double paymentPrice, PaymentCourseVo paymentCourseVo) throws Exception {
+        CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(paymentCourseVo.getCoursePackagePaymentConfigId());
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+        String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
+        String smid1="";
+        //生成支付订单
+        if (paymentCourseVo.getOrderId()==null){
+            CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
+            coursePackageOrder.setCode(code);
+            coursePackageOrder.setAppUserId(uid);
+            coursePackageOrder.setStudentIds(paymentCourseVo.getStudentIds());
+            coursePackageOrder.setCoursePackageId(paymentCourseVo.getId());
+            coursePackageOrder.setPayType(paymentCourseVo.getPayType());
+            coursePackageOrder.setClassHours(coursePackagePaymentConfig.getClassHours());
+            coursePackageOrder.setOriginalPrice(paymentCourseVo.getPrice());
+            coursePackageOrder.setUserCouponId(paymentCourseVo.getCouponId());
+            coursePackageOrder.setCashPayment(new BigDecimal(paymentPrice));
+            coursePackageOrder.setPayUserType(1);
+            coursePackageOrder.setPayStatus(1);
+            coursePackageOrder.setPayUserId(uid);
+            coursePackageOrder.setStatus(1);
+            coursePackageOrder.setState(1);
+            coursePackageOrder.setInsertTime(new Date());
+            coursePackageOrder.setOrderType(1);
+            coursePackageOrderService.save(coursePackageOrder);
+        }else {
+            CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(paymentCourseVo.getOrderId());
+            code = coursePackageOrder.getCode();
+            coursePackageOrder.setPayType(2);
+            coursePackageOrder.setAppUserId(null);
+            coursePackageOrder.setPayUserType(1);
+            coursePackageOrder.setPayUserId(uid);
+            coursePackageOrderService.updateById(coursePackageOrder);
+        }
+        // 判断这个课包属于哪个门店 属于哪个运营商 根据运营商 id 获取对应的商户号
+        Integer coursePackageId = paymentCourseVo.getId();
+        TCoursePackage byId = coursePackageService.getById(coursePackageId);
+        Store store = storeClient.queryStoreById(byId.getStoreId());
+        if (store.getOperatorId() == null){
+            smid1 = smid;
+        }else{
+            if (store.getOperatorId()==0){
+                smid1 = smid;
+            }else{
+                smid1 = storeClient.getSMIDByOperatorId(store.getOperatorId());
+            }
+        }
+        ResultUtil alipay = payMoneyUtil.alipay(smid1,"报名运动营", "报名运动营",
+                coursePackagePaymentConfig.getId().toString(),
+                code, paymentPrice.toString(), "/base/course/aliPaymentCourseCallback");
         if (alipay.getCode() == 200) {
             String finalCode = code;
             new Thread(new Runnable() {
@@ -1073,7 +1072,6 @@
                 public void run() {
                     try {
                         Thread.sleep(1000);
-
                         int num = 1;
                         int wait = 0;
                         while (num <= 10) {
@@ -1109,7 +1107,28 @@
                                     coursePackageOrderService.updateById(coursePackageOrder1);
                                     addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
                                     moneyOut(tradeNo,tradeNo,finalCode);
-                                    break;
+                                    // 根据课程id 查询这个课程属于哪个门店 属于哪个运营商
+                                    Integer id = paymentCourseVo.getId();
+                                    TCoursePackage byId = coursePackageService.getById(id);
+                                    Integer storeId = byId.getStoreId();
+                                    Store store = storeClient.queryStoreById(storeId);
+                                    Integer operatorId = store.getOperatorId();
+                                    if (operatorId==null){
+                                        String smid ="2088330203191220";
+                                            // 说明是平台的
+                                            payMoneyUtil.confirm(smid,finalCode,tradeNo,paymentPrice.toString());
+                                        break;
+                                    }else if (operatorId==0){
+                                        String smid ="2088330203191220";
+                                        // 说明是平台的
+                                        payMoneyUtil.confirm(smid,finalCode,tradeNo,paymentPrice.toString());
+                                        break;
+                                    }else{
+                                        // 当前课程不属于门店 查询这个课程属于哪个门店 属于哪个运营商
+                                        String smidByOperatorId = storeClient.getSMIDByOperatorId(operatorId);
+                                        payMoneyUtil.confirm(smidByOperatorId,finalCode,tradeNo,paymentPrice.toString());
+                                        break;
+                                    }
                                 }
                                 if ("WAIT_BUYER_PAY".equals(s)) {
                                     num++;
@@ -1213,27 +1232,40 @@
         CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(paymentCourseVo.getCoursePackagePaymentConfigId());
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
         String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
-        //生成支付订单
-        CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
-        coursePackageOrder.setCode(code);
-        coursePackageOrder.setAppUserId(appUser.getId());
-        coursePackageOrder.setStudentIds(paymentCourseVo.getStudentIds());
-        coursePackageOrder.setCoursePackageId(paymentCourseVo.getId());
-        coursePackageOrder.setPayType(paymentCourseVo.getPayType());
-        coursePackageOrder.setClassHours(coursePackagePaymentConfig.getClassHours());
-        coursePackageOrder.setOriginalPrice(paymentCourseVo.getPrice());
-        coursePackageOrder.setUserCouponId(paymentCourseVo.getCouponId());
-        coursePackageOrder.setCashPayment(new BigDecimal(paymentPrice));
-        coursePackageOrder.setPlayPaiCoin(paymentCourseVo.getPrice().intValue());
-        coursePackageOrder.setPayUserType(1);
-        coursePackageOrder.setPayStatus(2);
-        coursePackageOrder.setPayUserId(appUser.getId());
-        coursePackageOrder.setStatus(1);
-        coursePackageOrder.setState(1);
-        coursePackageOrder.setInsertTime(new Date());
-        coursePackageOrderService.save(coursePackageOrder);
+        Long orderId = paymentCourseVo.getOrderId();
+        if(null == orderId){
+            //生成支付订单
+            CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
+            coursePackageOrder.setCode(code);
+            coursePackageOrder.setAppUserId(appUser.getId());
+            coursePackageOrder.setStudentIds(paymentCourseVo.getStudentIds());
+            coursePackageOrder.setCoursePackageId(paymentCourseVo.getId());
+            coursePackageOrder.setPayType(paymentCourseVo.getPayType());
+            coursePackageOrder.setClassHours(coursePackagePaymentConfig.getClassHours());
+            coursePackageOrder.setOriginalPrice(paymentCourseVo.getPrice());
+            coursePackageOrder.setUserCouponId(paymentCourseVo.getCouponId());
+            coursePackageOrder.setCashPayment(new BigDecimal(paymentPrice));
+            coursePackageOrder.setPlayPaiCoin(paymentCourseVo.getPrice().intValue());
+            coursePackageOrder.setPayUserType(1);
+            coursePackageOrder.setPayStatus(2);
+            coursePackageOrder.setPayUserId(appUser.getId());
+            coursePackageOrder.setStatus(1);
+            coursePackageOrder.setState(1);
+            coursePackageOrder.setInsertTime(new Date());
+            coursePackageOrder.setOrderType(1);
+            coursePackageOrderService.save(coursePackageOrder);
+            orderId = coursePackageOrder.getId();
+        }else{
+            CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(orderId);
+            coursePackageOrder.setPayType(3);
+            coursePackageOrder.setAppUserId(null);
+            coursePackageOrder.setPayUserId(appUser.getId());
+            coursePackageOrder.setPayUserType(1);
+            coursePackageOrder.setPayStatus(2);
+            coursePackageOrderService.updateById(coursePackageOrder);
+        }
 
-        addCoursePackageOrderStudent(coursePackageOrder.getId(), coursePackagePaymentConfig);
+        addCoursePackageOrderStudent(orderId, coursePackagePaymentConfig);
         return ResultUtil.success();
     }
 
@@ -1269,6 +1301,7 @@
      *
      * @param coursePackagePaymentConfig
      */
+    @Override
     public void addCoursePackageOrderStudent(Long coursePackageOrderId, CoursePackagePaymentConfig coursePackagePaymentConfig) {
         CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePackageOrderId);
         // 发放优惠券
@@ -1304,19 +1337,22 @@
                     coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
 
                     //更新学员课时有效期
+                    boolean b = true;
                     if(null == student.getValidity()){
                         student.setValidity(calendar.getTime());
                         addOldPackageStudent(student);
+                        b = false;
                     }else if(calendar.getTimeInMillis() > student.getValidity().getTime()){
                         student.setValidity(calendar.getTime());
                         addOldPackageStudent(student);
+                        b = false;
                     }
                     studentClient.frozen(student);
 
                     //开始排课
-                    addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent, student.getValidity());
-
-
+                    if(b){
+                        addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent, student.getValidity());
+                    }
 
                     //课时记录
                     CourseCounsum courseCounsum = new CourseCounsum();
@@ -1324,7 +1360,7 @@
                     courseCounsum.setChangeType(1);
                     courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
                     courseCounsum.setInsertTime(new Date());
-                    courseCounsum.setReason("购买课包");
+                    courseCounsum.setReason("报名运动营");
                     courseCounsumService.save(courseCounsum);
                     //账单记录
                     if(coursePackageOrder.getPayType() != 3){
@@ -1336,8 +1372,6 @@
                         courseCounsum1.setAppUserId(coursePackageOrder.getAppUserId());
                         courseCounsumService.save(courseCounsum1);
                     }
-
-
                 } else {
                     Date useTime = coursePackageOrderStudent.getUseTime();
                     coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + coursePackagePaymentConfig.getClassHours());
@@ -1351,17 +1385,20 @@
                     coursePackageOrderStudent.setUseTime(calendar.getTime());
                     coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                     //更新学员课时有效期
+                    boolean b = true;
                     if(null == student.getValidity()){
                         student.setValidity(calendar.getTime());
                         addOldPackageStudent(student);
+                        b = false;
                     }else if(calendar.getTimeInMillis() > student.getValidity().getTime()){
                         student.setValidity(calendar.getTime());
                         addOldPackageStudent(student);
+                        b = false;
                     }
                     studentClient.frozen(student);
 
                     //中间断课,没有连续续费的情况需要重新排课
-                    if (useTime.compareTo(new Date()) < 0) {
+                    if (useTime.compareTo(new Date()) < 0 && b) {
                         addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent, student.getValidity());
                     }
 
@@ -1383,12 +1420,7 @@
                         courseCounsum1.setAppUserId(coursePackageOrder.getAppUserId());
                         courseCounsumService.save(courseCounsum1);
                     }
-
-
                 }
-
-
-
             }
             if(coursePackage.getType() == 2){
                 addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), null, null);

--
Gitblit v1.7.1