From 7a5a9b8fe23efdccbfb54fe375627d96f2bbb527 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期一, 27 十一月 2023 11:48:16 +0800 Subject: [PATCH] 11.27.1 --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 33 +++++++---- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 30 ++++++--- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 63 ++++++++++---------- 3 files changed, 73 insertions(+), 53 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 c0019bf..05d74e9 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 @@ -2160,10 +2160,10 @@ if (null == appUserId) { return ResultUtil.tokenErr(); } - List<TCoursePackagePayment> packagePayment = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>() - .eq(TCoursePackagePayment::getCoursePackageId, courseID) - .eq(TCoursePackagePayment::getAppUserId, appUserId) - .eq(TCoursePackagePayment::getStudentId, stuId) + List<CoursePackageOrderStudent> packagePayment = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() + .eq("coursePackageId", courseID) + .eq("appUserId", appUserId) + .eq("studentId", stuId) ); if (ToolUtil.isEmpty(packagePayment) || packagePayment.size() == 0) { @@ -2175,7 +2175,7 @@ ); List<CoursePackageStudent> coursePackageStudent = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>() - .in(CoursePackageStudent::getCoursePackagePaymentId, packagePayment.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList())) + .in(CoursePackageStudent::getCoursePackagePaymentId, packagePayment.stream().map(CoursePackageOrderStudent::getId).collect(Collectors.toList())) .in(CoursePackageStudent::getCoursePackageSchedulingId, coursePackageSchedulings.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList())) .eq(CoursePackageStudent::getCoursePackageId, courseID) .eq(CoursePackageStudent::getStudentId, stuId) @@ -2238,25 +2238,32 @@ map.put("name", store.getName()); map.put("lon", lon); map.put("lat", lat); - - // 找出门店的所有课程 排出体验 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)); List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList()); if (collect.size() == 0) { collect.add(-1); } + + List<CoursePackageScheduling> list8 = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>() + .eq(CoursePackageScheduling::getAppUserId, courseDetailReq.getAppUserId()) + .eq(CoursePackageScheduling::getStudentId, courseDetailReq.getStuId()) + .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", collect) + .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()); + + +// 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) { @@ -2297,6 +2304,9 @@ detailsListVo.setMoney(cashPayment); } detailsListVo.setNum(tCoursePackage.getNeedNum()); + + + if (collect1.contains(tCoursePackage.getId())) { // 找出排课记录 List<CoursePackageScheduling> list3 = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>() @@ -2318,8 +2328,7 @@ List<CoursePackageStudent> list4 = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>() .eq(CoursePackageStudent::getAppUserId, courseDetailReq.getAppUserId()) .eq(CoursePackageStudent::getCoursePackageId, tCoursePackage.getId()) - .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2). - in(CoursePackageStudent::getCoursePackagePaymentId, ids) + .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2) ); List<CoursePackageStudent> list5 = cspsService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", courseDetailReq.getStuId()).eq("coursePackageId", tCoursePackage.getId())); 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 3f681cd..b057995 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 @@ -1416,8 +1416,7 @@ return ResultUtil.error("当前课包课时数不足"); } TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); - coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - req.getNum()); - coursePackageOrderStudentService.updateById(coursePackageOrderStudent); + TCoursePackage coursePackage1 = coursePackageService.getById(req.getCourseId()); //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录 List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>() .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1) @@ -1425,9 +1424,19 @@ //已经排课但没有使用的课时数量 int number = list1.size() * coursePackage.getNeedNum(); Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours(); + laveClassHours1 -= number; + //需要购买使用的课时数 + Integer num = req.getNum(); //需要删除多余的排课记录 - if(number > laveClassHours1){ - int n = number - laveClassHours1; + if(num.compareTo(laveClassHours1) > 0){ + //课时数差额 + int number1 = num - laveClassHours1; + double o = number1 % coursePackage.getNeedNum(); + int l = 0; + if(0 != o){ + l = 1; + } + int n = Double.valueOf(number1 / coursePackage.getNeedNum()).intValue() + l; for (int i = 0; i < n; i++) { CoursePackageScheduling coursePackageScheduling = list1.get(i); coursePackageSchedulingService.getBaseMapper().deleteById(coursePackageScheduling.getId()); @@ -1438,9 +1447,9 @@ } - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - String classStartTime = coursePackage.getClassStartTime(); - String classEndTime = coursePackage.getClassEndTime(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String classStartTime = coursePackage1.getClassStartTime(); + String classEndTime = coursePackage1.getClassEndTime(); String[] split5 = classStartTime.split(","); String[] split6 = classEndTime.split(","); List<String> time = req.getTime(); @@ -1450,7 +1459,7 @@ coursePackageScheduling.setType(3); coursePackageScheduling.setAppUserId(userId); coursePackageScheduling.setStudentId(req.getStuId()); - coursePackageScheduling.setCoursePackageId(coursePackage.getId()); + coursePackageScheduling.setCoursePackageId(req.getCourseId()); try { Date parse = format.parse(s + " " + split5[i]); Date parse1 = format.parse(s + " " + split6[i]); @@ -1462,7 +1471,7 @@ CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(userId); student1.setStudentId(req.getStuId()); - student1.setCoursePackageId(coursePackage.getId()); + student1.setCoursePackageId(req.getCourseId()); student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); @@ -1477,7 +1486,8 @@ } } - + coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - req.getNum()); + coursePackageOrderStudentService.updateById(coursePackageOrderStudent); CourseCounsum courseCounsum = new CourseCounsum(); 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 9db33b0..5d772cf 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 @@ -1140,6 +1140,7 @@ 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()); @@ -1280,20 +1281,21 @@ for (int i = 0; i < num; i++) { Date time = calendar.getTime(); + + //判断当天是否在排课星期内 + int day = calendar.get(Calendar.DAY_OF_WEEK); + day = day - 1 == 0 ? 7 : day - 1; + if (!week.contains(day)) { + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + continue; + } + + + //大于有效期不进行排课 + if (calendar.getTimeInMillis() >= useTime.getTime()) { + break; + } for (int j = 0; j < split.length; j++) { - //判断当天是否在排课星期内 - int day = calendar.get(Calendar.DAY_OF_WEEK); - day = day - 1 == 0 ? 7 : day - 1; - if (!week.contains(day)) { - calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); - continue; - } - - - //大于有效期不进行排课 - if (calendar.getTimeInMillis() >= useTime.getTime()) { - break; - } //剩余数量不足以排课 if (laveClassHours.compareTo(codeTime) < 0) { break; @@ -1322,10 +1324,9 @@ student1.setReservationStatus(1); student1.setInsertTime(new Date()); cpsMapper.insert(student1); - - //增加日期,用于判断 - calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); } + //增加日期,用于判断 + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); } } @@ -1350,19 +1351,20 @@ int num = 8 - day_week + 7; for (int i = 0; i < num; i++) { Date time = calendar.getTime(); - for (int j = 0; j < split.length; j++) { - //判断当天是否在排课星期内 - int day = calendar.get(Calendar.DAY_OF_WEEK); - day = day - 1 == 0 ? 7 : day - 1; - if (!week.contains(day)) { - calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); - continue; - } - //大于有效期不进行排课 - if (calendar.getTimeInMillis() >= endTime.getTime()) { - break; - } + //判断当天是否在排课星期内 + int day = calendar.get(Calendar.DAY_OF_WEEK); + day = day - 1 == 0 ? 7 : day - 1; + if (!week.contains(day)) { + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + continue; + } + + //大于有效期不进行排课 + if (calendar.getTimeInMillis() >= endTime.getTime()) { + break; + } + for (int j = 0; j < split.length; j++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setType(tCoursePackage.getType()); coursePackageScheduling.setAppUserId(userId); @@ -1384,10 +1386,9 @@ student1.setReservationStatus(1); student1.setInsertTime(new Date()); cpsMapper.insert(student1); - - //增加日期,用于判断 - calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); } + //增加日期,用于判断 + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); } } } catch (Exception e) { -- Gitblit v1.7.1