From add48c8930d02d58046e89e78b0530c2d5fce32d Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期五, 30 六月 2023 18:34:15 +0800
Subject: [PATCH] 课程信息:课时详情中续课数据处理

---
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java |  186 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 176 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 b240beb..ab7af9d 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,26 @@
 package com.dsh.course.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.dsh.course.entity.TCoursePackage;
 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.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 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,11 +30,14 @@
 
     private Logger logger = LoggerFactory.getLogger("business-log");
 
+
     @Autowired
-    private CoursePackagePaymentRepository coursePackagePaymentRepository;
+    private TCoursePackagePaymentService packagePaymentService;
 
     @Autowired
     private TCoursePackageService tcpService;
+
+    private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
 
     /**
      * 获取 没有学员信息的图片配置
@@ -39,9 +45,9 @@
      * @return  课包列表
      */
     @PostMapping("/coursePack/queryPayment")
-    public List<StuCourseResp> getStuCoursePackagePayment(Integer stuId){
+    public List<StuCourseResp> getStuCoursePackagePayment(@RequestBody Integer stuId,@RequestBody 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 +57,7 @@
                 resp.setTotalCourseNums(tCoursePackagePayment.getTotalClassHours());
                 resp.setResidueNums(tCoursePackagePayment.getLaveClassHours());
                 resp.setDeductionNums(tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours());
+                resps.add(resp);
             }
         }
         return resps;
@@ -62,7 +69,166 @@
      */
     @PostMapping("/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("/coursePack/sessionNames")
+    public List<StuSessionDetailsVo> getStuSessionList(@RequestBody Date startTime, @RequestBody Date  endTime, @RequestBody Integer stuId, @RequestBody 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("/coursePack/paymentCourse")
+    public List<PurchaseRecordVo> queryCourseDetails(@RequestBody Date startTime, @RequestBody Date  endTime,@RequestBody Integer stuId, @RequestBody 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("/coursePack/stuOfCourses")
+    public StuWithCoursesListVo getStuOfCoursesDetails(@RequestBody Integer stuId, @RequestBody 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("/coursePack/continuingCourse")
+    public StudentOfCourseVo getStudentCourse(@RequestBody Integer courseId,@RequestBody Integer stuId,@RequestBody 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.setCourseConfigId(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());
+            // TODO: 2023/6/30 查询会员折扣数据
+            String payType = tCoursePackagePayment.getPayType();
+            BigDecimal cashPayment = tCoursePackagePayment.getCashPayment();
+            double cashPaymentValue = cashPayment.doubleValue();
+            Integer playPaiCoin = tCoursePackagePayment.getPlayPaiCoin();
+            switch (payType) {
+                case "1;2":
+                    courseVo.setAmount(cashPaymentValue);
+                    courseVo.setWpGold(playPaiCoin);
+                    break;
+                case "1":
+                    courseVo.setAmount(cashPaymentValue);
+                    break;
+                case "2":
+                    courseVo.setWpGold(playPaiCoin);
+                    break;
+            }
+
+            courseVo.setStoreId(coursePackage.getStoreId());
+        }
+
+        return courseVo;
+    }
 }

--
Gitblit v1.7.1