From 1d9f7b0cf4251f3058badb07dd7a2bc06b6bc09a Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 11 四月 2025 10:05:32 +0800
Subject: [PATCH] bug修改

---
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java |  380 ++++++++++++++++++++---------------------------------
 1 files changed, 146 insertions(+), 234 deletions(-)

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 42473f5..d2cef33 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
@@ -28,6 +28,7 @@
 import com.dsh.course.util.*;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.obs.services.internal.ServiceException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -132,10 +133,24 @@
 
     private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
 
-
-
     @Autowired
     private ICoursePackageOrderStudentService coursePackageOrderStudentService;
+
+    @Autowired
+    private ALiSendSms aLiSendSms;
+
+    @Resource
+    private AppUserClient appuClient;
+
+    @Autowired
+    private CourseCounsumService courseCounsumService;
+
+    @Autowired
+    private TCoursePackagePaymentService coursePackagePaymentService;
+
+
+
+
 
 
     /**
@@ -182,9 +197,12 @@
         coursePackageOrder.setOriginalPrice(packagePayment.getOriginalPrice());
         coursePackageOrder.setCashPayment(packagePayment.getCashPayment());
         coursePackageOrder.setPlayPaiCoin(packagePayment.getPlayPaiCoin());
+        coursePackageOrder.setCode(packagePayment.getCode());
         coursePackageOrder.setPayStatus(1);
+        coursePackageOrder.setStatus(1);
         coursePackageOrder.setState(1);
         coursePackageOrder.setInsertTime(new Date());
+        coursePackageOrder.setOrderType(1);
         coursePackageOrder.setSalesName(packagePayment.getSalesName());
         coursePackageOrderService.save(coursePackageOrder);
         // 生成排课数据
@@ -241,11 +259,11 @@
                 calendar.setTime(new Date());
                 calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                 coursePackageOrderStudent.setUseTime(calendar.getTime());
-
+                coursePackageOrderStudent.setInsertTime(new Date());
                 coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                 Integer studentId = Integer.valueOf(byId1.getStudentIds());
                 //开始排课
-                addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent);
+                addPackageStudent1(byId, byId1.getAppUserId(), studentId, byId1, coursePackageOrderStudent);
             } else {
                 Date useTime = coursePackageOrderStudent.getUseTime();
                 coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + byId1.getClassHours());
@@ -274,16 +292,17 @@
                 calendar9.add(Calendar.DAY_OF_MONTH, byId.getValidDays());
                 Date time = calendar9.getTime();
                 coursePackageOrderStudent.setUseTime(time);
+                coursePackageOrderStudent.setInsertTime(new Date());
                 coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                 Integer studentId = Integer.valueOf(byId1.getStudentIds());
                 //中间断课,没有连续续费的情况需要重新排课
                 if (useTime.compareTo(new Date()) < 0) {
-                    addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent);
+                    addPackageStudent1(byId, byId1.getAppUserId(), studentId, byId1, coursePackageOrderStudent);
                 }
             }
         }
             if(byId.getType() == 2){
-                addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), null);
+                addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), byId1, null);
             }
         return packagePaymentService.changeState(dto);
     }
@@ -333,7 +352,7 @@
             Store store = storeClient.queryStoreById(re.getStoreId());
             TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
             String studentId = re.getStudentId();
-            String[] split = studentId.split(",");
+            String[] split = studentId.split(";");
             StringBuilder stringBuilder = new StringBuilder("");
 
             for (String s : split) {
@@ -468,7 +487,8 @@
                 }
             }
             TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
-            Student student = studentClient.queryStudentById(re.getStudentId());
+            String[] split = re.getStudentIds().split(",");
+            Student student = studentClient.queryStudentById(Integer.valueOf(split[0]));
             re.setPayStudent(student.getName());
             re.setPayUser(appUser.getName());
             re.setPhone(appUser.getPhone());
@@ -583,7 +603,6 @@
                             storeVo.setLon(store.getLon());
                             storeVo.setCoursePrice(ToolUtil.isEmpty(paymentConfig.getCashPayment()) ? (double) paymentConfig.getPlayPaiCoin() : paymentConfig.getCashPayment());
                             storeVo.setStatus(1);
-                            // 2.0
                             storeVo.setAllNum(tCoursePackagePayment.getTotalClassHours());
                             storeVo.setLastNum(tCoursePackagePayment.getLaveClassHours());
                             storeVo.setUseNum(tCoursePackagePayment.getTotalClassHours() - tCoursePackagePayment.getLaveClassHours());
@@ -671,7 +690,7 @@
                 PurchaseRecordVo recordVo = new PurchaseRecordVo();
                 recordVo.setPurchaseAmount("+" + cspackage.getClassHours());
                 recordVo.setPurchaseTime(format.format(cspackage.getInsertTime()));
-                recordVo.setPurchaseType("购买课包");
+                recordVo.setPurchaseType("报名运动营");
                 purchaseRecordVos.add(recordVo);
             });
         }
@@ -679,11 +698,7 @@
     }
 
 
-    @Autowired
-    private CourseCounsumService courseCounsumService;
 
-    @Autowired
-    private TCoursePackagePaymentService coursePackagePaymentService;
 
     @PostMapping("/base/coursePack/getRecord")
     public List<PurchaseRecordVo> getRecord(@RequestBody RecordTimeRequest recordTimeRequest) {
@@ -757,7 +772,6 @@
         return lisco;
     }
 
-
     @PostMapping("/base/coursePack/continuingCourse")
     public StudentOfCourseVo getStudentCourse(@RequestBody GetStudentCourse getStudentCourse) {
         StudentOfCourseVo courseVo = new StudentOfCourseVo();
@@ -766,7 +780,6 @@
                 .eq("coursePackageId", getStudentCourse.getCourseId())
                 .eq("studentId", getStudentCourse.getStuId()));
         if (tCoursePackagePayments.size() > 0) {
-
             List<CourseHoursType> typeList = new ArrayList<>();
             tCoursePackagePayments.forEach(cou -> {
                 CourseHoursType hoursType = new CourseHoursType();
@@ -777,7 +790,6 @@
             TCoursePackagePayment tCoursePackagePayment = tCoursePackagePayments.get(0);
             courseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
             courseVo.setTypeList(typeList);
-
             TCoursePackage coursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
             courseVo.setPackageImg(coursePackage.getCoverDrawing());
             courseVo.setCourseName(coursePackage.getName());
@@ -1029,7 +1041,7 @@
         }
     }
 
-    // 2.0
+
     @ResponseBody
     @PostMapping("/api/startCource/payCourse")
     @ApiOperation(value = "课后练习-确认购课", tags = {"APP-开始上课"})
@@ -1160,15 +1172,16 @@
     })
     public ResultUtil continuationOperation(ClasspaymentRequest request) {
         try {
-            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
-            if (null == userIdFormRedis) {
+            Integer userId = tokenUtil.getUserIdFormRedis();
+            System.err.println("续课参数"+request);
+            if (null == userId) {
                 return ResultUtil.tokenErr();
             }
-            Integer couponId = request.getConponId();
+            Long couponId = request.getConponId();
             if (couponId == null || couponId == 0) {
                 request.setConponId(null);
             }
-            return packagePaymentService.ContinuationOrpaymentCourse(userIdFormRedis, request);
+            return packagePaymentService.ContinuationOrpaymentCourse(userId, request);
         } catch (Exception e) {
             return ResultUtil.runErr();
         }
@@ -1181,7 +1194,6 @@
      */
     @PostMapping("/base/coursePackage/alipayRegisteredCoursesCallback")
     public void alipayCallback(HttpServletRequest request, HttpServletResponse response) {
-        System.err.println("========支付宝支付回调========");
         try {
             Map<String, String> map = payMoneyUtil.alipayCallback(request);
             if (null != map) {
@@ -1296,21 +1308,16 @@
     @PostMapping("/coursePackagePayment/paymentDeductionClassHour")
     public void paymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour) {
         try {
-            // 2.0 用id进行查询
-//            TCoursePackagePayment coursePackagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", paymentDeductionClassHour.getCourseId()).eq("payStatus", 2)
-//                    .eq("status", 1).eq("state", 1).gt("laveClassHours", 0));
-//            Integer classHour = paymentDeductionClassHour.getClassHour();
-//            for (TCoursePackagePayment coursePackagePayment : list) {
-
-
-
             CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(paymentDeductionClassHour.getCourseId());
-//            if (paymentDeductionClassHour.getClassHour() > coursePackageOrderStudent.getLaveClassHours()) {
-//                return ResultUtil.error("当前课包课时数不足");
-//            }
             TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
             coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - paymentDeductionClassHour.getClassHour());
             coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
+            Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+            if(3 >= laveClassHours){
+                AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId());
+                //发送短信提醒
+                aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", "");
+            }
             //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录
             List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
                     .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1)
@@ -1330,131 +1337,14 @@
                 }
             }
 
-
-
-
-
-
-//            if (coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0) {
-//                coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour);
-//                coursePackagePayment.setAppUserId(null);
-//                packagePaymentService.updateById(coursePackagePayment);
-//
-//                CourseCounsum courseCounsum = new CourseCounsum();
-//                courseCounsum.setPaymentId(coursePackagePayment.getId());
-//                courseCounsum.setChangeType(0);
-//                courseCounsum.setNum(classHour);
-//                courseCounsum.setInsertTime(new Date());
-//                courseCounsum.setReason("报名赛事");
-//                courseCounsumService.save(courseCounsum);
-//
-//
-//                List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
-//                List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
-//                coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
-//                coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
-//
-//
-//                TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId());
-//                String classWeeks = tCoursePackage.getClassWeeks();
-//                List<Integer> week = week(classWeeks);
-//
-//                TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId()));
-//
-//                Date today = new Date();
-//                Calendar calendar = Calendar.getInstance();
-//                calendar.add(Calendar.DATE, -1);
-//                today = calendar.getTime();
-//
-//
-//                Integer laveClassHours = pay.getLaveClassHours();
-//                Integer codeTime = tCoursePackage.getCodeTime();
-//                Integer can = laveClassHours / codeTime;
-//
-//                int count = 0;
-//                String[] split = tCoursePackage.getClassStartTime().split(",");
-//                String[] split1 = tCoursePackage.getClassEndTime().split(",");
-//                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-//                SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-//
-//                Date[] dates = generateDateArray(14, today);
-//                for (Date date : dates) {
-//                    if (count == can) {
-//                        break;
-//                    }
-//                    int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date);
-//                    if (week.contains(wei)) {
-//                        for (int i1 = 0; i1 < split.length; i1++) {
-//                            if (count == can) {
-//                                break;
-//                            }
-//                            CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-//                            coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
-//                            Date parse = format1.parse(format.format(date) + " " + split[i1]);
-//                            Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
-//                            coursePackageScheduling.setClassDate(parse);
-//                            coursePackageScheduling.setEndDate(parse1);
-//                            coursePackageScheduling.setStatus(1);
-//                            coursePackageSchedulingService.save(coursePackageScheduling);
-//                            CoursePackageStudent student1 = new CoursePackageStudent();
-//                            student1.setAppUserId(pay.getAppUserId());
-//                            student1.setStudentId(pay.getStudentId());
-//                            student1.setCoursePackageId(pay.getCoursePackageId());
-//                            student1.setCoursePackagePaymentId(pay.getId());
-//                            student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
-//                            student1.setSignInOrNot(1);
-//                            student1.setReservationStatus(1);
-//                            student1.setInsertTime(new Date());
-//                            studentService.save(student1);
-//                            count++;
-//                        }
-//                    }
-//                }
-//
-//
-//                // 2.0 少于3课时 推送
-//                if (coursePackagePayment.getLaveClassHours() <= 3) {
-//                    Integer appUserId = coursePackagePayment.getAppUserId();
-//
-//                    //调用推送
-//                    HttpHeaders headers = new HttpHeaders();
-//                    // 以表单的方式提交
-//                    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-//                    String s1 = appUserId + "_" + "Three";
-//                    //定时修改排课状态
-//                    String s = internalRestTemplate.getForObject("http://mb-cloud-gateway/netty/sendMsgToClient?id=" + s1, String.class);
-//                    JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-//                    if (jsonObject1.getIntValue("code") != 200) {
-//                        System.err.println(jsonObject1.getString("msg"));
-//                    }
-//                }
-//
-//                CancelledClasses cancelledClasses = new CancelledClasses();
-//                cancelledClasses.setType(2);
-//                cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
-//                cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
-//                cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
-//                cancelledClasses.setCancelledClassesNumber(classHour);
-//                cancelledClasses.setInsertTime(new Date());
-//                cancelledClassesService.save(cancelledClasses);
-//
-//            } else {
-//                CancelledClasses cancelledClasses = new CancelledClasses();
-//                cancelledClasses.setType(2);
-//                cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
-//                cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
-//                cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
-//                cancelledClasses.setCancelledClassesNumber(coursePackagePayment.getLaveClassHours());
-//                cancelledClasses.setInsertTime(new Date());
-//                cancelledClassesService.save(cancelledClasses);
-//
-//                coursePackagePayment.setLaveClassHours(0);
-//                packagePaymentService.updateById(coursePackagePayment);
-//
-//                classHour -= cancelledClasses.getCancelledClassesNumber();
-//            }
-//                }
-
+            CourseCounsum courseCounsum = new CourseCounsum();
+            courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
+            courseCounsum.setChangeType(0);
+            courseCounsum.setNum(paymentDeductionClassHour.getClassHour());
+            courseCounsum.setInsertTime(new Date());
+            courseCounsum.setReason("赛事报名");
+            courseCounsum.setAppUserId(coursePackageOrderStudent.getAppUserId());
+            courseCounsumService.save(courseCounsum);
 
         } catch (Exception e) {
             e.printStackTrace();
@@ -1617,7 +1507,6 @@
             appUser.setPlayPaiCoins(appUser.getPlayPaiCoins() - paymentConfig.getPlayPaiCoin());
             auClitn.updateAppUser(appUser);
 
-            // 2.0
             TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
             tCourseInfoRecord.setUserId(userIdFormRedis);
             tCourseInfoRecord.setCourseId(coursePackage.getCoursePackageId());
@@ -1632,7 +1521,7 @@
             courseCounsum.setChangeType(1);
             courseCounsum.setNum(packagePayment.getClassHours());
             courseCounsum.setInsertTime(new Date());
-            courseCounsum.setReason("购买课包");
+            courseCounsum.setReason("报名运动营");
             courseCounsumService.save(courseCounsum);
 
         } catch (Exception e) {
@@ -1666,7 +1555,6 @@
         boolean id = packagePaymentService.update(packagePayment, new QueryWrapper<TCoursePackagePayment>()
                 .eq("id", packagePayment.getId()));
         if (id) {
-            // 2.0
             TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
             tCourseInfoRecord.setNum(packagePayment.getTotalClassHours());
             tCourseInfoRecord.setName("续课");
@@ -1690,9 +1578,9 @@
     }
 
     @PostMapping("/base/coursePack/savePaymentCoursePackage")
-    public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment) {
-
-        return packagePaymentService.save(packagePayment);
+    public Long savePaymentCoursePackage(@RequestBody CoursePackageOrder coursePackageOrder) {
+        coursePackageOrderService.save(coursePackageOrder);
+        return coursePackageOrder.getId();
     }
 
 
@@ -1728,7 +1616,7 @@
                 if (student != null) {
                     sId = student.getId();
                 }
-                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment.getId());
+                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment, coursePackagePayment.getId());
 
 
                 CourseCounsum courseCounsum = new CourseCounsum();
@@ -1751,7 +1639,7 @@
                 if (student != null) {
                     sId = student.getId();
                 }
-                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne.getId());
+                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne, coursePackagePaymentServiceOne.getId());
 
 
                 CourseCounsum courseCounsum = new CourseCounsum();
@@ -1760,6 +1648,7 @@
                 courseCounsum.setNum(orderDto.getClassHours());
                 courseCounsum.setInsertTime(new Date());
                 courseCounsum.setReason("积分兑换");
+                courseCounsum.setInsertTime(new Date());
                 courseCounsumService.save(courseCounsum);
 
 
@@ -1809,7 +1698,6 @@
                 // 其他星期减一即可得到1-6的数字表示
                 dayOfWeek -= 1;
             }
-            // todo
             if (weeks.contains(String.valueOf(dayOfWeek))){
                 // 限时折扣判断是否在有效期
                 try {
@@ -1901,7 +1789,8 @@
 
     @Autowired
     private TCoursePackageService coursePackageService;
-    private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrderStudent coursePackageOrderStudent) {
+
+    private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrder coursePackageOrder, CoursePackageOrderStudent coursePackageOrderStudent) {
         try {
             //1常规 2假期 3体验
             if (tCoursePackage.getType() == 1) {
@@ -2043,7 +1932,7 @@
             e.printStackTrace();
         }
     }
-    private void addPackageStudent(Integer courseId, Integer userId, Integer sId, Long paymentId) throws ParseException {
+    private void addPackageStudent(Integer courseId, Integer userId, Integer sId, TCoursePackagePayment coursePackagePayment, Long paymentId) throws ParseException {
         // 课包
         TCoursePackage tCoursePackage = coursePackageService.getById(courseId);
 
@@ -2178,7 +2067,6 @@
                 }
             }
         }
-        // 2.0
         TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
         tCourseInfoRecord.setUserId(userId);
         tCourseInfoRecord.setCourseId(courseId);
@@ -2192,12 +2080,7 @@
     @ResponseBody
     @PostMapping("/base/coursePack/obtainStudentClassDetails")
     public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId) {
-//        try {
         return coursePackageOrderStudentService.obtainStuClassDetails(stuId.getStuId(), stuId.getAppUserId(), stuId.getPageNum());
-//        }catch (Exception e){
-//            e.printStackTrace();
-//            throw new RuntimeException();
-//        }
     }
 
 
@@ -2215,16 +2098,16 @@
     }
 
 
-    // 2.0 送课时
     @PostMapping("/base/coursePack/sendHours")
     public Integer sendHours(@RequestBody String s) throws ParseException {
         String[] split2 = s.split("_");
-        TCoursePackagePayment byId = packagePaymentService.getById(Long.valueOf(split2[0]));
-        byId.setTotalClassHours(byId.getTotalClassHours() + Integer.valueOf(split2[2]));
-        boolean b = packagePaymentService.updateHoursById(byId, Integer.valueOf(split2[2]));
+        CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(Long.valueOf(split2[0]));
+        coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + Integer.valueOf(split2[2]));
+        coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + Integer.valueOf(split2[2]));
+        coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
 
         CourseCounsum courseCounsum = new CourseCounsum();
-        courseCounsum.setPaymentId(byId.getId());
+        courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
         courseCounsum.setChangeType(1);
         courseCounsum.setNum(Integer.valueOf(split2[2]));
         courseCounsum.setInsertTime(new Date());
@@ -2232,17 +2115,17 @@
         courseCounsumService.save(courseCounsum);
 
 
-        List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", byId.getStudentId()).eq("coursePackageId", byId.getCoursePackageId()));
+        List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackageOrderStudent.getStudentId()).eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()));
         List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
         coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
-        coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", byId.getStudentId()).eq("coursePackageId", byId.getCoursePackageId()));
+        coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackageOrderStudent.getStudentId()).eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()));
 
 
-        TCoursePackage tCoursePackage = packageService.getById(byId.getCoursePackageId());
+        TCoursePackage tCoursePackage = packageService.getById(coursePackageOrderStudent.getCoursePackageId());
         String classWeeks = tCoursePackage.getClassWeeks();
         List<Integer> week = week(classWeeks);
 
-        TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", byId.getCoursePackageId()).eq("studentId", byId.getStudentId()));
+        TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()).eq("studentId", coursePackageOrderStudent.getStudentId()));
 
         Date today = new Date();
 
@@ -2289,14 +2172,7 @@
                 }
             }
         }
-
-
-        if (b) {
-            return 1;
-        } else {
-
-            return 0;
-        }
+        return 1;
     }
 
 
@@ -2367,16 +2243,23 @@
 
     @ResponseBody
     @PostMapping("/coursePackagePayment/consumeCourse")
-    public ResultUtil consumeCourse(@RequestBody Integer coursePackagePaymentId) {
+    public Integer consumeCourse(@RequestBody Integer coursePackagePaymentId) {
         CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(coursePackagePaymentId);
 
         TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
 
         if (coursePackageOrderStudent.getLaveClassHours()<coursePackage.getNeedNum()){
-            return ResultUtil.error("当前学员课时数不足");
+           return 1;
         }
         coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-coursePackage.getNeedNum());
         orderStudentService.updateById(coursePackageOrderStudent);
+        Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+        if(3 >= laveClassHours){
+            AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId());
+            //发送短信提醒
+            aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", "");
+        }
+
         CourseCounsum courseCounsum = new CourseCounsum();
         courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
         courseCounsum.setChangeType(0);
@@ -2384,14 +2267,14 @@
         courseCounsum.setInsertTime(new Date());
         courseCounsum.setReason("补课");
         courseCounsumService.save(courseCounsum);
-        return ResultUtil.success("补课成功");
+        return 2;
     }
 
 
     @ResponseBody
     @PostMapping("/coursePackagePayment/CountqueryByClassId")
     public Integer CountqueryByClassId(@RequestBody Integer id) {
-        int coursePackageId = packagePaymentService.count(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", id));
+        int coursePackageId = coursePackageOrderStudentService.count(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", id));
 
 
         return coursePackageId;
@@ -2409,7 +2292,6 @@
         coursePackagePayment.setAppUserId(null);
         packagePaymentService.updateById(coursePackagePayment);
     }
-
 
     /**
      * 修改数据
@@ -2440,7 +2322,7 @@
      */
     @ResponseBody
     @PostMapping("/api/startCource/reverse")
-    @ApiOperation(value = "上课主页-预约操作--2.0改请假操作", tags = {"APP-开始上课"})
+    @ApiOperation(value = "上课主页-预约操作--改请假操作", tags = {"APP-开始上课"})
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
             @ApiImplicitParam(value = "课包id", name = "courseID", required = true, dataType = "String"),
@@ -2498,14 +2380,28 @@
     @PostMapping("/base/coursePack/getConsumes")
     List<CourseCounsum> getConsumes(@RequestBody BillingDataRequestVo requestVo) {
         Integer[] integers = {2, 3};
-        QueryWrapper<CourseCounsum> courseCounsumQueryWrapper = new QueryWrapper<CourseCounsum>().in("changeType", integers).eq("appUserId", requestVo.getAppUserId());
+        QueryWrapper<CourseCounsum> courseCounsumQueryWrapper = new QueryWrapper<CourseCounsum>()
+                .in("changeType", integers).eq("appUserId", requestVo.getAppUserId());
         if (requestVo.getMonthEnd() != null) {
             courseCounsumQueryWrapper.ge("insertTime", requestVo.getMonthStart());
             courseCounsumQueryWrapper.le("insertTime", requestVo.getMonthEnd());
         }
         return courseCounsumService.list(courseCounsumQueryWrapper);
-
     }
+
+
+    @ResponseBody
+    @PostMapping("/base/coursePack/getCoursePackageOrder")
+    public List<CoursePackageOrder> getCoursePackageOrder(@RequestBody BillingDataRequestVo requestVo){
+        QueryWrapper<CoursePackageOrder> wrapper = new QueryWrapper<CoursePackageOrder>().eq("appUserId", requestVo.getAppUserId())
+                .in("payType", Arrays.asList(1, 2, 5, 6)).eq("payStatus", 2).eq("state", 1).eq("orderType", 1);
+        return coursePackageOrderService.list(wrapper);
+    }
+
+
+
+
+
 
 
     @ResponseBody
@@ -2535,7 +2431,8 @@
         // 找出门店的所有课程 排出体验
         List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>()
                 .eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3)
-                .eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week));
+                .eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week)
+                .eq(TCoursePackage::getAuditStatus, 2));
         List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
         if (collect.size() == 0) {
             collect.add(-1);
@@ -2547,21 +2444,6 @@
                 .in(CoursePackageScheduling::getCoursePackageId, collect)
         );
         List<Integer> collect1 = list8.stream().map(CoursePackageScheduling::getCoursePackageId).collect(Collectors.toList());
-//        // 找出购买的课包
-//        List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
-//                .eq("appUserId", courseDetailReq.getAppUserId())
-//                .eq("studentId", courseDetailReq.getStuId())
-//                .in("coursePackageId", collect1)
-//                .eq("status", 1)
-//                .eq("state", 1)
-//        );
-
-
-
-//        List<Integer> collect1 = list1.stream().map(CoursePackageOrderStudent::getCoursePackageId).collect(Collectors.toList());
-//        List<Long> ids = list1.stream().map(CoursePackageOrderStudent::getId).collect(Collectors.toList());
-
-
         for (TCoursePackage tCoursePackage : list) {
             DetailsListVo detailsListVo = new DetailsListVo();
             detailsListVo.setId(tCoursePackage.getId());
@@ -2609,6 +2491,7 @@
                         .eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId())
                         .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime())
                 );
+
                 if (list3.isEmpty()) {
                     detailsListVo.setType(2);
                     objects.add(detailsListVo);
@@ -2640,14 +2523,25 @@
                     detailsListVo.setIsType(list4.get(0).getType());
 
                     for (CoursePackageStudent coursePackageStudent : list4) {
+                        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId());
+                        if (coursePackageScheduling.getStatus()==4){
+                            detailsListVo.setIsType(3);
+                        }
+
                         Integer signInOrNot1 = coursePackageStudent.getSignInOrNot();
                         detailsListVo.setType(1);
 
                         if (signInOrNot1 == 2) {
                             detailsListVo.setType(3);
                         }
+                        //体验购课去掉按钮
+                        if(coursePackageScheduling.getType() == 3){
+                            detailsListVo.setCourseType(3);
+                            detailsListVo.setType(2);
+                        }
+
+
                         detailsListVo.setIsType(coursePackageStudent.getType());
-                        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId());
                         Date classDate = coursePackageScheduling.getClassDate();
                         Date endDate = coursePackageScheduling.getEndDate();
                         SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
@@ -2676,6 +2570,10 @@
                 detailsListVo.setType(2);
                 objects.add(detailsListVo);
 
+            }
+            //课程暂停
+            if(tCoursePackage.getState() == 4){
+                detailsListVo.setType(4);
             }
         }
         map.put("data", objects);
@@ -2721,18 +2619,18 @@
             ids.add(-1);
         }
         List<TCoursePackagePayment> list1 = packagePaymentService.listOne(ids);
-        List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
-        if (collect.size() == 0) {
-            collect.add(-1);
-        }
-        List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect));
-        for (TCoursePackagePayment tCoursePackagePayment : list1) {
-            for (TCoursePackage tCoursePackage : list2) {
-                if (tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())) {
-                    tCoursePackagePayment.setType(tCoursePackage.getType());
-                }
-            }
-        }
+//        List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
+//        if (collect.size() == 0) {
+//            collect.add(-1);
+//        }
+//        List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect));
+//        for (TCoursePackagePayment tCoursePackagePayment : list1) {
+//            for (TCoursePackage tCoursePackage : list2) {
+//                if (tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())) {
+//                    tCoursePackagePayment.setType(tCoursePackage.getType());
+//                }
+//            }
+//        }
 
 
         List<Map<String, Object>> mapList = new ArrayList<>();
@@ -2741,7 +2639,7 @@
             map.put("name", tCoursePackageType.getName());
             int a = 0;
             for (TCoursePackagePayment tCoursePackagePayment : list1) {
-                if (tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) {
+                if (null != tCoursePackagePayment.getType() && tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) {
                     a += tCoursePackagePayment.getLaveClassHours();
                 }
             }
@@ -3026,10 +2924,7 @@
         weekData.add(count2);
         weekData.add(count1);
         weekData.add(count);
-
         map.put("weekData", weekData);
-
-
         LocalDateTime currentDateTime = LocalDateTime.now();
         List<Integer> amountByDay = new ArrayList<>(Collections.nCopies(7, 0));
         for (CoursePackageStudent coursePackageStudent : list) {
@@ -3204,4 +3099,21 @@
         return map;
 
     }
+
+
+    @ResponseBody
+    @PostMapping("/coursePackagePayment/queryPaymentCoursePackage")
+    public List<Integer> queryPaymentCoursePackage(@RequestBody List<Integer> storeIds){
+        if(storeIds.size() == 0){
+            return new ArrayList<>();
+        }
+        List<TCoursePackage> list = coursePackageService.list(new QueryWrapper<TCoursePackage>().eq("auditStatus", 2)
+                .ne("status", 4).eq("state", 1).in("storeId", storeIds));
+        List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
+        if(collect.size() == 0){
+            return new ArrayList<>();
+        }
+        List<CoursePackageOrder> list1 = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>().in("coursePackageId", collect).eq("payStatus", 2).eq("status", 1));
+        return list1.stream().map(CoursePackageOrder::getAppUserId).collect(Collectors.toList());
+    }
 }

--
Gitblit v1.7.1