From 134d13688e4b6677133ba2d362d2978d8bda2b87 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 12 七月 2023 11:46:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java |  124 ++++++++++++++++++++++++++++++++++------
 1 files changed, 104 insertions(+), 20 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 1b0d7a6..574528c 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,29 +2,20 @@
 
 
 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.account.StudentClient;
+import com.dsh.course.feignclient.account.AppUserClient;
+import com.dsh.course.feignclient.account.model.AppUser;
 import com.dsh.course.feignclient.model.*;
 import com.dsh.course.model.BaseVo;
 import com.dsh.course.model.dto.DiscountJsonDto;
 import com.dsh.course.model.vo.CourseDetailRequest;
 import com.dsh.course.model.vo.RegisterCourseVo;
-import com.dsh.course.model.vo.request.ClasspaymentRequest;
-import com.dsh.course.model.vo.request.CourseOfAfterRequest;
-import com.dsh.course.model.vo.request.CourseWithDetailsRequest;
-import com.dsh.course.model.vo.request.UpdateCourseVideoStatusRequest;
+import com.dsh.course.model.vo.request.*;
 import com.dsh.course.model.vo.response.AppUserVideoResponse;
 import com.dsh.course.model.vo.response.CourseDetailsResponse;
 import com.dsh.course.model.vo.response.CourseOfVideoResponse;
 import com.dsh.course.service.*;
-import com.dsh.course.util.DateUtil;
-import com.dsh.course.util.ResultUtil;
-import com.dsh.course.util.StrUtils;
-import com.dsh.course.util.TokenUtil;
+import com.dsh.course.util.*;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.swagger.annotations.Api;
@@ -72,6 +63,17 @@
     private CancelledClassesService cacService;
 
     @Autowired
+    private ICoursePackagePaymentConfigService icppcService;
+
+    @Autowired
+    private UserVideoDetailsService uvdsService;
+
+    @Autowired
+    private TCourseService tcService;
+
+
+
+    @Autowired
     private TCoursePackageTypeService coursePackageTypeService;
 
     @Autowired
@@ -79,6 +81,9 @@
 
     @Autowired
     private CancelledClassesService cancelledClassesService;
+
+    @Autowired
+    private AppUserClient appuClient;
 
     private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
 
@@ -304,11 +309,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;
     }
 
@@ -317,6 +334,15 @@
         return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
                 .eq("appUserId",appUserId)
                 .eq("payType",3)
+                .eq("payStatus",2)
+                .eq("state",1));
+    }
+
+    @PostMapping("/base/coursePack/allAmountPayRecordOfUser")
+    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody Integer appUserId){
+        return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+                .eq("appUserId",appUserId)
+                .notIn("payType",3)
                 .eq("payStatus",2)
                 .eq("state",1));
     }
@@ -478,14 +504,15 @@
     @ApiOperation(value = "已报名课程详情", tags = {"APP-开始上课"})
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(name = "coursePayId" ,value = "课包记录id",dataType = "long"),
     })
-    public ResultUtil<CourseDetailsResponse> getRegisteredData( Integer coursePackageId){
+    public ResultUtil<CourseDetailsResponse> getRegisteredData( Integer coursePayId){
         try {
             Integer appUserId = tokenUtil.getUserIdFormRedis();
             if(null == appUserId){
                 return ResultUtil.tokenErr();
             }
-            return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePackageId,appUserId));
+            return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePayId,appUserId));
         }catch (Exception e){
             return ResultUtil.runErr();
         }
@@ -605,4 +632,61 @@
             e.printStackTrace();
         }
     }
+
+
+    /**
+     * 课包续费玩湃币支付
+     * @param
+     */
+    @PostMapping("/coursePackagePayment/courseRenewPlayPaiPay")
+    public int paymentWanpaiRenewCourse(@RequestBody PlayPaiGoldCoursePackage coursePackage){
+        try {
+            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+            if (null == userIdFormRedis){
+                return 2;
+            }
+            CoursePackagePaymentConfig paymentConfig = icppcService.getById(coursePackage.getCoursePayConfigId());
+            AppUser appUser = appuClient.queryAppUser(userIdFormRedis);
+            if (appUser.getPlayPaiCoins() < paymentConfig.getPlayPaiCoin()){
+                return 3;
+            }
+            TCoursePackagePayment packagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>()
+                    .eq("code",coursePackage.getCode() ));
+            packagePayment.setPayStatus(2);
+            packagePayment.setPayUserId(userIdFormRedis);
+            packagePayment.setClassHours(paymentConfig.getClassHours());
+            packagePayment.setPlayPaiCoin(paymentConfig.getPlayPaiCoin());
+            packagePayment.setTotalClassHours(paymentConfig.getClassHours());
+            packagePayment.setLaveClassHours(paymentConfig.getClassHours());
+            packagePaymentService.updateById(packagePayment);
+
+            appUser.setPlayPaiCoins(appUser.getPlayPaiCoins()-paymentConfig.getPlayPaiCoin());
+            appuClient.updateAppUser(appUser);
+        } catch (Exception e) {
+            return 4;
+        }
+        return 1;
+    }
+
+    @PostMapping("/base/coursePack/getPaymentCoursePackage")
+    public TCoursePackagePayment getCoursePackagePaymentByCode(@RequestBody String code){
+        return packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>()
+                .eq("code",code));
+    }
+
+    @PostMapping("/base/coursePack/delPaymentCoursePackage")
+    public boolean delPaymentCoursePackage(@RequestBody Integer payId){
+        return packagePaymentService.removeById(payId);
+    }
+    @PostMapping("/base/coursePack/updatePaymentCoursePackage")
+    public boolean updatePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){
+        return packagePaymentService.update(packagePayment,new QueryWrapper<TCoursePackagePayment>()
+                .eq("id",packagePayment.getId()));
+    }
+
+    @PostMapping("/base/coursePack/savePaymentCoursePackage")
+    public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){
+        return packagePaymentService.save(packagePayment);
+    }
+
 }

--
Gitblit v1.7.1