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