From 7ee45a513e400d71fefc256847816778361460ac Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期二, 11 七月 2023 10:37:49 +0800 Subject: [PATCH] 查询课后视频两条数据 --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 129 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 119 insertions(+), 10 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 1ca5b84..795f430 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 @@ -2,10 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.dsh.course.entity.TCoursePackage; -import com.dsh.course.entity.TCoursePackageDiscount; -import com.dsh.course.entity.TCoursePackagePayment; -import com.dsh.course.entity.TCoursePackageType; +import com.dsh.course.entity.*; import com.dsh.course.feignclient.model.*; import com.dsh.course.model.BaseVo; import com.dsh.course.model.dto.DiscountJsonDto; @@ -70,10 +67,21 @@ private CancelledClassesService cacService; @Autowired + private UserVideoDetailsService uvdsService; + + @Autowired + private TCourseService tcService; + + + + @Autowired private TCoursePackageTypeService coursePackageTypeService; @Autowired private TokenUtil tokenUtil; + + @Autowired + private CancelledClassesService cancelledClassesService; private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); @@ -299,11 +307,23 @@ @PostMapping("/base/coursePack/afterCourseTwos") public List<AfterVideoVo> getAfterCourseTwos(@RequestParam("appUserId") Integer appUserId){ List<AfterVideoVo> videoVos = new ArrayList<>(); - List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("appUserId", appUserId)); - List<Integer> coursePackageIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); -// List<PostCourseVideo> videoList = pcvService.queryAllVideoNoneShow(coursePackageIds); - // TODO: 2023/7/6 两个课后视频 + List<UserVideoDetails> list = uvdsService.list(new QueryWrapper<UserVideoDetails>() + .eq("appUserId",appUserId) + .eq("state",1)); + if (list.size() > 0 ){ + List<Integer> courseIds = list.stream().map(UserVideoDetails::getCourseId).collect(Collectors.toList()); + List<TCourse> courseList = tcService.list(new QueryWrapper<TCourse>() + .in("id",courseIds) + .eq("type",1) + .eq("state",1) + .last("ORDER BY insertTime desc LIMIT 2")); + for (TCourse tCourse : courseList) { + AfterVideoVo videoVo = new AfterVideoVo(); + videoVo.setCourseId(tCourse.getId()); + videoVo.setCourseUrl(tCourse.getCourseVideo()); + videoVos.add(videoVo); + } + } return videoVos; } @@ -496,7 +516,7 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil RegisteredPayment( ClasspaymentRequest request){ + public ResultUtil continuationOperation(ClasspaymentRequest request){ try { Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); if(null == userIdFormRedis){ @@ -510,5 +530,94 @@ } + /** + * 获取学员剩余课时 + * @param id + * @return + */ + @ResponseBody + @PostMapping("/coursePackagePayment/queryResidueClassHour") + public Integer queryResidueClassHour(@RequestBody Integer id){ + try { + List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", id).eq("payStatus", 2) + .eq("status", 1).eq("state", 1).gt("laveClassHours", 0)); + Integer total = 0; + for (TCoursePackagePayment coursePackagePayment : list) { + total += coursePackagePayment.getLaveClassHours(); + } + return total; + }catch (Exception e){ + e.printStackTrace(); + return 0; + } + } + + /** + * 课程用于支付进行扣减 + * @param paymentDeductionClassHour + */ + @ResponseBody + @PostMapping("/coursePackagePayment/paymentDeductionClassHour") + public void paymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour){ + try { + List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", paymentDeductionClassHour.getId()).eq("payStatus", 2) + .eq("status", 1).eq("state", 1).gt("laveClassHours", 0)); + Integer classHour = paymentDeductionClassHour.getClassHour(); + for (TCoursePackagePayment coursePackagePayment : list) { + if(coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0){ + coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour); + packagePaymentService.updateById(coursePackagePayment); + + 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); + break; + }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(); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + /** + * 取消赛事回退支付课时 + * @param paymentDeductionClassHour + */ + @ResponseBody + @PostMapping("/coursePackagePayment/rollbackPaymentDeductionClassHour") + public void rollbackPaymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour){ + try { + List<CancelledClasses> voucher = cancelledClassesService.list(new QueryWrapper<CancelledClasses>().eq("voucher", paymentDeductionClassHour.getCode())); + for (CancelledClasses cancelledClasses : voucher) { + TCoursePackagePayment coursePackagePayment = packagePaymentService.getById(cancelledClasses.getCoursePackagePaymentId()); + coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() + cancelledClasses.getCancelledClassesNumber()); + packagePaymentService.updateById(coursePackagePayment); + + cancelledClassesService.removeById(cancelledClasses.getId()); + } + }catch (Exception e){ + e.printStackTrace(); + } + } } -- Gitblit v1.7.1