From c0f6294b0be6789fddd652f89f820fcf6d5526cf Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 06 七月 2023 17:32:39 +0800
Subject: [PATCH] 合并代码

---
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java |  229 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 217 insertions(+), 12 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 b240beb..3194c85 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
@@ -1,23 +1,32 @@
 package com.dsh.course.controller;
 
 
+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.feignclient.model.CourseOfStoreVo;
-import com.dsh.course.feignclient.model.StuCourseResp;
+import com.dsh.course.feignclient.model.*;
+import com.dsh.course.model.dto.DiscountJsonDto;
+import com.dsh.course.service.PostCourseVideoService;
+import com.dsh.course.service.TCoursePackageDiscountService;
+import com.dsh.course.service.TCoursePackagePaymentService;
 import com.dsh.course.service.TCoursePackageService;
-import com.dsh.course.servs.CoursePackagePaymentRepository;
+import com.dsh.course.util.DateUtil;
+import com.dsh.course.util.StrUtils;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import io.swagger.annotations.Api;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Api
 @CrossOrigin
@@ -27,21 +36,30 @@
 
     private Logger logger = LoggerFactory.getLogger("business-log");
 
+
     @Autowired
-    private CoursePackagePaymentRepository coursePackagePaymentRepository;
+    private TCoursePackagePaymentService packagePaymentService;
 
     @Autowired
     private TCoursePackageService tcpService;
+
+    @Autowired
+    private TCoursePackageDiscountService tcpdService;
+
+    @Autowired
+    private PostCourseVideoService pcvService;
+
+    private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
 
     /**
      * 获取 没有学员信息的图片配置
      * @param stuId 学员id
      * @return  课包列表
      */
-    @PostMapping("/coursePack/queryPayment")
-    public List<StuCourseResp> getStuCoursePackagePayment(Integer stuId){
+    @PostMapping("/base/coursePack/queryPayment")
+    public List<StuCourseResp> getStuCoursePackagePayment(@RequestParam("stuId") Integer stuId,@RequestParam("appUserId") Integer appUserId){
         List<StuCourseResp> resps = new ArrayList<>();
-        List<TCoursePackagePayment> byUserId = coursePackagePaymentRepository.findByUserId(stuId);
+        List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(null,null,null,stuId,appUserId);
         if (byUserId.size() > 0 ){
             for (TCoursePackagePayment tCoursePackagePayment : byUserId) {
                 TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
@@ -51,6 +69,7 @@
                 resp.setTotalCourseNums(tCoursePackagePayment.getTotalClassHours());
                 resp.setResidueNums(tCoursePackagePayment.getLaveClassHours());
                 resp.setDeductionNums(tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours());
+                resps.add(resp);
             }
         }
         return resps;
@@ -60,9 +79,195 @@
      *
      * 获取发布的 课包列表
      */
-    @PostMapping("/coursePack/storeOfCourse")
+    @PostMapping("/base/coursePack/storeOfCourse")
     public List<CourseOfStoreVo> getStuCourseWithStores(){
+        List<CourseOfStoreVo> courseOfStoreVos = tcpService.queryStoreOfCourse();
+        if (courseOfStoreVos.size() > 0){
+            for (CourseOfStoreVo courseOfStoreVo : courseOfStoreVos) {
+                String[] split = courseOfStoreVo.getClassWeeks().split(";");
+                List<Integer> integers = new ArrayList<>();
+                for (String s : split) {
+                    int num = Integer.parseInt(s);
+                    integers.add(num);
+                }
+                courseOfStoreVo.setClassWeekList(integers);
+            }
+        }
         return tcpService.queryStoreOfCourse();
     }
 
+
+    /**
+     *
+     * 课程名称列表
+     */
+    @PostMapping("/base/coursePack/sessionNames")
+    public List<StuSessionDetailsVo> getStuSessionList(@RequestParam("startTime") Date startTime, @RequestParam("endTime") Date  endTime, @RequestParam("stuId") Integer stuId, @RequestParam("appUserId") Integer appUserId){
+        List<StuSessionDetailsVo> detailsVos = new ArrayList<>();
+        List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(startTime,endTime,null,stuId,appUserId);
+        if (byUserId.size() > 0){
+            List<Integer> collect = byUserId.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
+            List<TCoursePackage> list = tcpService.list(new QueryWrapper<TCoursePackage>()
+                    .in("id", collect));
+            list.forEach(vo -> {
+                StuSessionDetailsVo detVo = new StuSessionDetailsVo();
+                detVo.setSessionid(vo.getId());
+                detVo.setSessionName(vo.getName());
+                String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(),vo.getValidDays() + "");
+                detVo.setPeriodOfValidity(afterDayDate);
+                detailsVos.add(detVo);
+            });
+        }
+        return detailsVos;
+    }
+
+    @PostMapping("/base/coursePack/paymentCourse")
+    public List<PurchaseRecordVo> queryCourseDetails(@RequestParam("startTime") Date startTime, @RequestParam("endTime") Date  endTime,@RequestParam("stuId") Integer stuId, @RequestParam("appUserId") Integer appUserId) {
+        List<PurchaseRecordVo> purchaseRecordVos = new ArrayList<>();
+        List<TCoursePackagePayment> coursePackage = packagePaymentService.queryAllCoursePackage(startTime,endTime,null,stuId, appUserId);
+        if (coursePackage.size() > 0 ){
+            coursePackage.forEach( cspackage -> {
+                PurchaseRecordVo recordVo = new PurchaseRecordVo();
+                recordVo.setPurchaseAmount("+"+cspackage.getClassHours());
+                recordVo.setPurchaseTime(format.format(cspackage.getInsertTime()));
+                recordVo.setPurchaseType("购买课包");
+                purchaseRecordVos.add(recordVo);
+            });
+        }
+        return purchaseRecordVos;
+    }
+
+
+
+    @PostMapping("/base/coursePack/stuOfCourses")
+    public StuWithCoursesListVo getStuOfCoursesDetails(@RequestParam("stuId") Integer stuId, @RequestParam("appUserId") Integer appUserId){
+        StuWithCoursesListVo lisco = new StuWithCoursesListVo();
+        Integer totalNu = 0;
+        Integer dedutNu = 0;
+        Integer remainNu = 0;
+        List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(null,null,null,stuId,appUserId);
+        if (byUserId.size() > 0 ){
+            for (TCoursePackagePayment tCoursePackagePayment : byUserId) {
+                totalNu = totalNu + tCoursePackagePayment.getTotalClassHours();
+                dedutNu = dedutNu + tCoursePackagePayment.getLaveClassHours();
+                remainNu = remainNu + (tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours());
+            }
+            lisco.setTotalNums(totalNu);
+            lisco.setDeductedNums(remainNu);
+            lisco.setRemainingNums(dedutNu);
+        }
+        return lisco;
+    }
+
+
+
+    @PostMapping("/base/coursePack/continuingCourse")
+    public StudentOfCourseVo getStudentCourse(@RequestParam("courseId") Integer courseId,@RequestParam("stuId") Integer stuId,@RequestParam("appUserId") Integer appUserId){
+        StudentOfCourseVo courseVo = new StudentOfCourseVo();
+        List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.queryAllCoursePackage(null,null,courseId,stuId,appUserId);
+        if (tCoursePackagePayments.size() > 0 ){
+
+            List<CourseHoursType> typeList = new ArrayList<>();
+            tCoursePackagePayments.forEach(cou -> {
+                CourseHoursType hoursType = new CourseHoursType();
+                hoursType.setCourseConfigId(cou.getId());
+                hoursType.setCourseHourNums(cou.getClassHours());
+                typeList.add(hoursType);
+            });
+            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());
+            courseVo.setCoachId(coursePackage.getCoachId());
+            String classWeeks = coursePackage.getClassWeeks();
+            List<Integer> integers = StrUtils.dealStrToList(classWeeks);
+            if (integers.size() > 0){
+                StringBuilder courWeeks = new StringBuilder("每");
+                for (Integer integer : integers) {
+                    switch (integer){
+                        case 1:
+                            courWeeks.append("周一、");
+                            break;
+                        case 2:
+                            courWeeks.append("周二、");
+                            break;
+                        case 3:
+                            courWeeks.append("周三、");
+                            break;
+                        case 4:
+                            courWeeks.append("周四、");
+                            break;
+                        case 5:
+                            courWeeks.append("周五、");
+                            break;
+                        case 6:
+                            courWeeks.append("周六、");
+                            break;
+                        case 7:
+                            courWeeks.append("周末、");
+                            break;
+                        default:
+                            break;
+                    }
+                }
+                if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == ','){
+                    courWeeks.deleteCharAt(courWeeks.length() - 1);
+                }
+                courseVo.setCourseWeek(courWeeks.toString());
+            }
+
+            courseVo.setCourseTime(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime());
+            String payType = tCoursePackagePayment.getPayType();
+            BigDecimal cashPayment = tCoursePackagePayment.getCashPayment();
+            double cashPaymentValue = cashPayment.doubleValue();
+            Integer playPaiCoin = tCoursePackagePayment.getPlayPaiCoin();
+            TCoursePackageDiscount coursePackageDiscount = tcpdService.getOne(new QueryWrapper<TCoursePackageDiscount>()
+                    .eq("coursePackageId",coursePackage.getId() )
+                    .eq("type",1)
+                    .eq("auditStatus",2));
+            ObjectMapper objectMapper = new ObjectMapper();
+            String content = coursePackageDiscount.getContent();
+            double discountMember = 0.0;
+            DiscountJsonDto discountJsonDto = null;
+            try {
+                discountJsonDto = objectMapper.readValue(content, DiscountJsonDto.class);
+                discountMember = discountJsonDto.getDiscountMember();
+            } catch (JsonProcessingException e) {
+                throw new RuntimeException(e);
+            }
+            switch (payType) {
+                case "1;2":
+                    courseVo.setAmount(cashPaymentValue);
+                    courseVo.setVipAmount(discountMember);
+                    courseVo.setWpGold(playPaiCoin);
+                    break;
+                case "1":
+                    courseVo.setAmount(cashPaymentValue);
+                    courseVo.setVipAmount(discountMember);
+                    break;
+                case "2":
+                    courseVo.setWpGold(playPaiCoin);
+                    break;
+            }
+            courseVo.setStoreId(coursePackage.getStoreId());
+        }
+
+        return courseVo;
+    }
+
+
+    @PostMapping("/base/coursePack/afterCourseTwos")
+    public List<AfterVideoVo> getAfterCourseTwos(@RequestParam("appUserId") Integer appUserId){
+        List<AfterVideoVo> videoVos = new ArrayList<>();
+        List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.queryAllCoursePackage(null,null,null,null,appUserId);
+        List<Integer> coursePackageIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
+//        List<PostCourseVideo> videoList = pcvService.queryAllVideoNoneShow(coursePackageIds);
+        return videoVos;
+    }
+
+
+
 }

--
Gitblit v1.7.1