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

---
 cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java                 |    4 -
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java |   10 +-
 cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml                                     |    2 
 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java                |    9 +
 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java         |   25 +++---
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java          |    7 +
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java      |   11 --
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java             |    7 +
 cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java                 |    2 
 cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java  |   25 ++++--
 cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml                             |    2 
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java             |  122 +++++++++++++-----------------
 12 files changed, 105 insertions(+), 121 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
index 95d9604..f5619c9 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -143,9 +143,12 @@
             if (null == appUserId) {
                 return ResultUtil.tokenErr();
             }
-            TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, appUserId));
-
-            return ResultUtil.success(one == null ? 0 : one.getNum());
+            Integer num = 0;
+            List<TAppGift> list = appGiftService.list(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, appUserId));
+            for (TAppGift tAppGift : list) {
+                num += tAppGift.getNum();
+            }
+            return ResultUtil.success(num);
         } catch (Exception e) {
             e.printStackTrace();
             return ResultUtil.runErr();
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
index 1467f9c..d3347a1 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -485,13 +485,9 @@
             @ApiImplicitParam(value = "记录id", name = "detailsId", required = true, dataType = "string"),
     })
     public ResultUtil<PointDetailsVo> redemptionDetails(Long detailsId) {
-//        try {
         PointDetailsVo pointDetailsVo = uicService.queryRedemptionDetails(detailsId);
         pointDetailsVo.getPics().remove(0);
         return ResultUtil.success(pointDetailsVo);
-//        }catch (Exception e){
-//            return ResultUtil.runErr();
-//        }
     }
 
 
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 87aa09e..dfc7229 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -1185,8 +1185,11 @@
                     ArrayList<String> list1 = new ArrayList<>(list11);
                     list1.add(coursePackage.getCoverDrawing());
                     detailsVo.setPics(list1);
-                    CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId());
-                    detailsVo.setClassHours(coursePackagePaymentConfig.getClassHours());
+                    detailsVo.setClassHours(0);
+                    if(coursePackage.getType() != 3){
+                        CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId());
+                        detailsVo.setClassHours(coursePackagePaymentConfig.getClassHours());
+                    }
                     Collections.sort(detailsVo.getPics(), (s1, s2) -> {
                         if (s1.equals(coursePackage.getCoverDrawing())) {
                             return -1; // s1排在前面
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java
index a920775..cb1398b 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java
@@ -1,5 +1,6 @@
 package com.dsh.activity.feignclient.course.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
@@ -52,6 +53,8 @@
      * 最多预约人数
      */
     private Integer maxSubscribeNumber;
+
+    private Integer codeTime;
     /**
      * 上课开始时间
      */
@@ -81,25 +84,13 @@
      */
     private Integer sort;
     /**
-     * 支付方式(1=微信,2=支付宝,3=玩湃币,4=积分,5=积分+微信,6=积分+支付宝)
+     * 支付方式(1=现金,2=玩湃币)
      */
     private Integer payType;
     /**
      * 有效天数
      */
     private Integer validDays;
-    /**
-     * 课后练习课程id
-     */
-    private Integer courseId;
-    /**
-     * 课后练习视频介绍
-     */
-    private String introduce;
-    /**
-     * 完成课后练习获取积分
-     */
-    private Integer integral;
     /**
      * 课程状态(1=未开始,2=进行中,3=已结束,4=已取消)
      */
@@ -125,4 +116,12 @@
      */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date insertTime;
+    private Integer type;
+    private Integer needNum;
+
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
 }
diff --git a/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml b/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml
index 0df05cb..90b4a32 100644
--- a/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml
@@ -13,7 +13,7 @@
         DATE_FORMAT(b.endTime, '%Y-%m-%d') as endTime
         from t_user_coupon a
         left join t_coupon b on (a.couponId = b.id)
-        where a.`status` = 1 and b.type != 3 and a.userId = #{uid} and
+        where a.`status` = 1 and b.type != 3 and (now() between b.startTime and b.endTime) and a.userId = #{uid} and
               (
             b.useScope = 1 or (b.useScope = 2 and b.id IN (SELECT couponId FROM t_coupon_city  where provinceCode = #{provinceCode} and cityCode = #{cityCode}) )
                            or (b.useScope = 3 and b.id in (select couponId from t_coupon_store where storeId = #{storeId})))
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index 825445d..2097da1 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -647,11 +647,11 @@
         Integer totalNu = 0;
         Integer dedutNu = 0;
         Integer remainNu = 0;
-        List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+        List<CoursePackageOrderStudent> byUserId = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
                 .eq("appUserId", getStuOfCoursesDetails.getAppUserId())
                 .eq("studentId", getStuOfCoursesDetails.getStuId()));
         if (byUserId.size() > 0) {
-            for (TCoursePackagePayment tCoursePackagePayment : byUserId) {
+            for (CoursePackageOrderStudent tCoursePackagePayment : byUserId) {
                 totalNu = totalNu + tCoursePackagePayment.getTotalClassHours();
                 dedutNu = dedutNu + tCoursePackagePayment.getLaveClassHours();
                 remainNu = remainNu + (tCoursePackagePayment.getTotalClassHours() - tCoursePackagePayment.getLaveClassHours());
@@ -2279,13 +2279,14 @@
                 }
                 //排课的ids
                 List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
-                if (collect2.isEmpty()) {
+                if (collect2.isEmpty()){
                     collect2.add(-1l);
                 }
 
 
                 List<CoursePackageStudent> list4 = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
                         .eq(CoursePackageStudent::getAppUserId, courseDetailReq.getAppUserId())
+                        .eq(CoursePackageStudent::getStudentId, courseDetailReq.getStuId())
                         .eq(CoursePackageStudent::getCoursePackageId, tCoursePackage.getId())
                         .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2)
                 );
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
index f3ad740..3cdcbf9 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -110,7 +110,7 @@
     //获取学员课时数信息
     @RequestMapping("/getInfo")
     @ResponseBody
-    public StudentClassInfo list(@RequestParam("tStudentId") Integer tStudentId) {
+    public StudentClassInfo list(@RequestParam("tStudentId") Integer tStudentId){
 
 //        System.out.println("------------>"+tStudentId);
 
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
index c4a56a5..a6ca198 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
@@ -25,6 +25,7 @@
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author zhibing.pu
@@ -60,21 +61,28 @@
                 .eq("status", 1)
                 .orderByDesc("insertTime"));
 
-        List<Integer> ids = new ArrayList<>();
-        for (CoursePackageOrderStudent tCoursePackagePayment : tCoursePackagePayments) {
-            ids.add(tCoursePackagePayment.getCoursePackageId());
-        }
+
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        List<CoursePackageScheduling> list = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
+                        .eq("appUserId", appUserId)
+                        .eq("studentId", stuId)
+//                        .lt("classDate", sdf.format(calendar.getTime()))
+                        .orderByAsc("classDate")
+        );
+        List<Long> ids = list.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
+
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
         SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
-        if (tCoursePackagePayments.size() > 0) {
+        if (list.size() > 0) {
 
 //            int pageNum = 1; // 页码
             int pageSize = 10; // 每页记录数
             Page<CoursePackageStudent> page = new Page<>(pageNum, pageSize);
             IPage<CoursePackageStudent> coursePackageStudentPage = cpsMapper.selectPage(page, new QueryWrapper<CoursePackageStudent>()
-                    .in("coursePackageId", ids)
-                    .eq("studentId", stuId)
-                    .eq("appUserId", appUserId)
+                    .in("coursePackageSchedulingId", ids)
                     .eq("reservationStatus", 1));
             List<CoursePackageStudent> coursePackageStudent1 = coursePackageStudentPage.getRecords();
 
@@ -111,7 +119,6 @@
                     if (byId == null) {
                         continue;
                     }
-                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                     String dateString1 = sdf.format(byId.getClassDate());
                     String dateString2 = sdf.format(byId.getEndDate());
 
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index b057995..624cee3 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -515,16 +515,7 @@
     public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId, String lon, String lat) {
         AppUser appUser = appuClient.queryAppUser(appUserId);
         CourseDetailsResponse response = new CourseDetailsResponse();
-        CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(coursePayId);
-        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>()
-                .eq("appUserId", coursePackageOrderStudent.getAppUserId())
-                .eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId())
-                .eq("payStatus", 2)
-                .eq("state", 1)
-                .like("studentIds", coursePackageOrderStudent.getStudentId())
-                .orderByDesc("insertTime")
-                .last(" limit 0, 1")
-        );
+        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePayId);
 
 
         response.setChooseHours(coursePackageOrder.getClassHours());
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 f8e2778..3226306 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
@@ -1,19 +1,10 @@
 package com.dsh.course.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.alipay.api.AlipayApiException;
-import com.alipay.api.AlipayClient;
-import com.alipay.api.DefaultAlipayClient;
-import com.alipay.api.domain.*;
-import com.alipay.api.request.AlipayTradeOrderSettleRequest;
-import com.alipay.api.request.AlipayTradeRoyaltyRelationBindRequest;
-import com.alipay.api.response.AlipayTradeOrderSettleResponse;
 import com.alipay.api.response.AlipayTradeQueryResponse;
-import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -22,7 +13,6 @@
 import com.dsh.course.feignclient.account.StudentClient;
 import com.dsh.course.feignclient.account.model.AppUser;
 import com.dsh.course.feignclient.account.model.Student;
-import com.dsh.course.feignclient.account.model.TCourseInfoRecord;
 import com.dsh.course.feignclient.activity.CouponClient;
 import com.dsh.course.feignclient.activity.UserCouponClient;
 import com.dsh.course.feignclient.activity.model.Coupon;
@@ -36,7 +26,6 @@
 import com.dsh.course.model.*;
 import com.dsh.course.service.*;
 import com.dsh.course.util.*;
-import io.vertx.core.json.Json;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -105,15 +94,6 @@
 
     @Autowired
     private ICoursePackageOrderStudentService coursePackageOrderStudentService;
-
-
-    private String aliAppid = "2021004105665036";//支付宝appid
-
-    private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥
-
-    private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAouYvZ1v4RiydwNOnGcU0Hb4hQu0x6XUooaE2Bi6/atNOobtFdunnATGP6OMOW7yF9DpP8qH5mbFXAiaQD721y/7qlayI50UcV4mngRU4ZcaAVE3bp721Eg2H85RISa+Tb1CiOh+pc9p4l5UBseKsvB2ruHHForfZDPI8FL7AVUKBYCQPsa4zL6KAO2C6KULaTg/lCa+bYQKU0n9ca569VtdsqJUyxB9eSZjVd+9nKl62FLqp2NELGj7cXqiVBgDnBnVS5ZUO3mrBM5z/AxQbw3RwE3JqdkhzUA1BFjejAlT2zIGNOjUFagF8ao0wGElYfuk0bum6Hz5qWAt02QdNNwIDAQAB";//支付宝应用公钥
-
-    private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥
 
     @Autowired
     private ICoursePackageOrderService coursePackageOrderService;
@@ -831,7 +811,8 @@
         //校验是否已经报满
         Integer integer = coursePackagePaymentService.queryCountNumber(paymentCourseVo.getId());
         TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId());
-        if (course.getType() != 3) {
+        if (course.getType() == 1) {
+
             if (integer + paymentCourseVo.getStudentIds().split(";").length > course.getMaxSubscribeNumber()) {
                 return ResultUtil.error("报名失败,已达最大报名人数");
             }
@@ -1191,53 +1172,57 @@
         TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrder.getCoursePackageId());
         String[] split = coursePackageOrder.getStudentIds().split(";");
         for (String id : split) {
-            CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", id)
-                    .eq("coursePackageId", coursePackageOrder.getCoursePackageId()).eq("status", 1).eq("state", 1));
-            if (null == coursePackageOrderStudent) {
-                coursePackageOrderStudent = new CoursePackageOrderStudent();
-                coursePackageOrderStudent.setAppUserId(coursePackageOrder.getAppUserId());
-                coursePackageOrderStudent.setStudentId(Integer.valueOf(id));
-                coursePackageOrderStudent.setCoursePackageId(coursePackageOrder.getCoursePackageId());
-                coursePackageOrderStudent.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
-                coursePackageOrderStudent.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
-                coursePackageOrderStudent.setAbsencesNumber(0);
-                coursePackageOrderStudent.setStatus(1);
-                coursePackageOrderStudent.setState(1);
-                coursePackageOrderStudent.setInsertTime(new Date());
-                coursePackageOrderStudent.setGiftClassHours(0);
+            if(coursePackage.getType() == 1){
+                CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", id)
+                        .eq("coursePackageId", coursePackageOrder.getCoursePackageId()).eq("status", 1).eq("state", 1));
+                if (null == coursePackageOrderStudent) {
+                    coursePackageOrderStudent = new CoursePackageOrderStudent();
+                    coursePackageOrderStudent.setAppUserId(coursePackageOrder.getAppUserId());
+                    coursePackageOrderStudent.setStudentId(Integer.valueOf(id));
+                    coursePackageOrderStudent.setCoursePackageId(coursePackageOrder.getCoursePackageId());
+                    coursePackageOrderStudent.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
+                    coursePackageOrderStudent.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
+                    coursePackageOrderStudent.setAbsencesNumber(0);
+                    coursePackageOrderStudent.setStatus(1);
+                    coursePackageOrderStudent.setState(1);
+                    coursePackageOrderStudent.setInsertTime(new Date());
+                    coursePackageOrderStudent.setGiftClassHours(0);
 
-                Integer validDays = coursePackage.getValidDays();
-                Calendar calendar = Calendar.getInstance();
-                calendar.setTime(new Date());
-                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
-                coursePackageOrderStudent.setUseTime(calendar.getTime());
-                coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
+                    Integer validDays = coursePackage.getValidDays();
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(new Date());
+                    calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
+                    coursePackageOrderStudent.setUseTime(calendar.getTime());
+                    coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
 
-                //开始排课
-                addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent);
-            } else {
-                Date useTime = coursePackageOrderStudent.getUseTime();
-                coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + coursePackagePaymentConfig.getClassHours());
-                coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + coursePackagePaymentConfig.getClassHours());
-                Integer validDays = coursePackage.getValidDays();
-                Calendar calendar = Calendar.getInstance();
-                calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime);
-                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
-                coursePackageOrderStudent.setUseTime(calendar.getTime());
-                coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
-                //中间断课,没有连续续费的情况需要重新排课
-                if (useTime.compareTo(new Date()) < 0) {
+                    //开始排课
                     addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent);
+                } else {
+                    Date useTime = coursePackageOrderStudent.getUseTime();
+                    coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + coursePackagePaymentConfig.getClassHours());
+                    coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + coursePackagePaymentConfig.getClassHours());
+                    Integer validDays = coursePackage.getValidDays();
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime);
+                    calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
+                    coursePackageOrderStudent.setUseTime(calendar.getTime());
+                    coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
+                    //中间断课,没有连续续费的情况需要重新排课
+                    if (useTime.compareTo(new Date()) < 0) {
+                        addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent);
+                    }
                 }
+                CourseCounsum courseCounsum = new CourseCounsum();
+                courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
+                courseCounsum.setChangeType(1);
+                courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
+                courseCounsum.setInsertTime(new Date());
+                courseCounsum.setReason("购买课包");
+                courseCounsumService.save(courseCounsum);
             }
-
-            CourseCounsum courseCounsum = new CourseCounsum();
-            courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
-            courseCounsum.setChangeType(1);
-            courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
-            courseCounsum.setInsertTime(new Date());
-            courseCounsum.setReason("购买课包");
-            courseCounsumService.save(courseCounsum);
+            if(coursePackage.getType() == 2){
+                addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), null);
+            }
         }
     }
 
@@ -1261,6 +1246,7 @@
                 String[] split1 = tCoursePackage.getClassEndTime().split(",");
                 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                 SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
 
                 //剩余课时
                 Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
@@ -1345,10 +1331,8 @@
                 Calendar calendar = Calendar.getInstance();
                 //假期开始使用当前时间为起始时间进行排课
                 calendar.setTime(startTime.getTime() > System.currentTimeMillis() ? startTime : new Date());
-                int day_week = calendar.get(Calendar.DAY_OF_WEEK);
-                day_week = day_week - 1 == 0 ? 7 : day_week - 1;
-                int num = 8 - day_week + 7;
-                for (int i = 0; i < num; i++) {
+                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+                while (true) {
                     Date time = calendar.getTime();
 
                     //判断当天是否在排课星期内
@@ -1360,7 +1344,7 @@
                     }
 
                     //大于有效期不进行排课
-                    if (calendar.getTimeInMillis() >= endTime.getTime()) {
+                    if (calendar.getTimeInMillis() > endTime.getTime()) {
                         break;
                     }
                     for (int j = 0; j < split.length; j++) {
@@ -1379,7 +1363,7 @@
                         student1.setAppUserId(userId);
                         student1.setStudentId(sId);
                         student1.setCoursePackageId(tCoursePackage.getId());
-                        student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId());
+                        student1.setCoursePackagePaymentId(null);
                         student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
                         student1.setSignInOrNot(1);
                         student1.setReservationStatus(1);
diff --git a/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml b/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
index b18cee6..dba0115 100644
--- a/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
@@ -43,7 +43,7 @@
             SUM( py.laveClassHours ) AS restHours,
             SUM( py.giftClassHours ) as giftHours
         FROM
-            t_course_package_payment  py
+            t_course_package_order_student  py
 
            where  py.studentId = #{tStudentId}
 
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
index bcd5212..5d58749 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
@@ -408,9 +408,9 @@
     @Override
     public ResultUtil cancelReservation(Long id) {
         CoursePackageStudent coursePackageStudent = coursePackageStudentClient.queryCoursePackageStudentById(id);
-        if(coursePackageStudent.getSignInOrNot() == 1){
-            return ResultUtil.error("当前学员已到课不能请假");
-        }
+//        if(coursePackageStudent.getSignInOrNot() == 1){
+//            return ResultUtil.error("当前学员已到课不能请假");
+//        }
 //        TCoursePackagePayment payment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackageStudent.getCoursePackagePaymentId());
 //        payment.setAbsencesNumber(payment.getAbsencesNumber()+1);
 //        coursePackagePaymentClient.editCoursePackagePayment(payment);
@@ -418,8 +418,8 @@
 
         coursePackageStudent = new CoursePackageStudent();
         coursePackageStudent.setId(id);
-        coursePackageStudent.setReservationStatus(0);
-
+//        coursePackageStudent.setReservationStatus(0);
+        coursePackageStudent.setSignInOrNot(2);
 
 
         coursePackageStudent.getCoursePackagePaymentId();

--
Gitblit v1.7.1