From 371b7fb2c8ead5af37db967d225bce703e028e86 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期六, 23 九月 2023 17:09:04 +0800
Subject: [PATCH] 接口修改

---
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java |   45 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 37 insertions(+), 8 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 2e80f90..5c556a6 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
@@ -15,6 +15,7 @@
 import com.dsh.course.feignclient.model.*;
 import com.dsh.course.feignclient.other.StoreClient;
 import com.dsh.course.feignclient.other.model.Store;
+import com.dsh.course.mapper.CoursePackageSchedulingMapper;
 import com.dsh.course.model.*;
 import com.dsh.course.model.dto.DiscountJsonDto;
 import com.dsh.course.model.vo.CourseDetailRequest;
@@ -105,6 +106,9 @@
 
     @Autowired
     private RestTemplate internalRestTemplate;
+
+    @Resource
+    private CoursePackageSchedulingMapper coursePackageSchedulingMapper;
 
 
     private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
@@ -1081,28 +1085,27 @@
             if(null == appUserId){
                 return ResultUtil.tokenErr();
             }
-            TCoursePackagePayment packagePayment = packagePaymentService.getOne(new LambdaQueryWrapper<TCoursePackagePayment>()
+            List<TCoursePackagePayment> packagePayment = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>()
                     .eq(TCoursePackagePayment::getCoursePackageId,courseID )
                     .eq(TCoursePackagePayment::getAppUserId,appUserId)
                     .eq(TCoursePackagePayment::getStudentId,stuId)
             );
 
-            if (ToolUtil.isEmpty(packagePayment)){
+            if (ToolUtil.isEmpty(packagePayment) || packagePayment.size()==0){
                 return ResultUtil.error("该用户未购买该课包");
             }
             List<CoursePackageStudent> coursePackageStudent = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
-                    .eq(CoursePackageStudent::getCoursePackageId,packagePayment.getCoursePackageId())
-                    .eq(CoursePackageStudent::getCoursePackagePaymentId,courseID)
+                    .in(CoursePackageStudent::getCoursePackagePaymentId,packagePayment.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList()))
+                    .eq(CoursePackageStudent::getCoursePackageId,courseID)
                     .eq(CoursePackageStudent::getStudentId,stuId)
                     .eq(CoursePackageStudent::getAppUserId,appUserId)
             );
 
             if (ToolUtil.isNotEmpty(coursePackageStudent)){
                 for (CoursePackageStudent packageStudent : coursePackageStudent) {
-                    if(packageStudent.getReservationStatus()==0){
+                    if(packageStudent.getReservationStatus()==1){
                         packageStudent.setSignInOrNot(2);
-                        packageStudent.setInsertTime(simpleDateFormat.parse(time));
-                        cspsService.updateById(packageStudent);
+                        cspsService.updateSignInOrNotById(packageStudent.getId());
                     }
                 }
 
@@ -1135,6 +1138,8 @@
             map.put("lon",lon);
             map.put("lat",lat);
 
+            String time1 = courseDetailReq.getTime();
+
             // 找出门店的所有课程 排出体验
             List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3).like(TCoursePackage::getClassWeeks,week));
             List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
@@ -1144,6 +1149,7 @@
             // 找出购买的课包
             List<TCoursePackagePayment> list1 = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, courseDetailReq.getAppUserId()).eq(TCoursePackagePayment::getStudentId, courseDetailReq.getStuId()).in(TCoursePackagePayment::getCoursePackageId, collect));
             List<Integer> collect1 = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
+            List<Long> ids = list1.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList());
             for (TCoursePackage tCoursePackage : list) {
                 DetailsListVo detailsListVo = new DetailsListVo();
                 detailsListVo.setId(tCoursePackage.getId());
@@ -1165,7 +1171,30 @@
                 }
                 detailsListVo.setNum(tCoursePackage.getNeedNum());
                 if (collect1.contains(tCoursePackage.getId())) {
-                    detailsListVo.setType(1);
+                    // 找出排课记录
+                    List<CoursePackageScheduling> list3 = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>()
+                            .eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId())
+                            .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime())
+                    );
+                    List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
+                    if(collect2.size()==0){
+                        collect2.add(-1l);
+                    }
+                    List<CoursePackageStudent> list4 = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
+                            .eq(CoursePackageStudent::getAppUserId, courseDetailReq.getAppUserId())
+                            .eq(CoursePackageStudent::getCoursePackageId, tCoursePackage.getId())
+                            .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2).
+                                    in(CoursePackageStudent::getCoursePackagePaymentId, ids)
+                    );
+
+                        detailsListVo.setType(1);
+                    if(list4.size()>0){
+                        Integer signInOrNot = list4.get(0).getSignInOrNot();
+                        if(signInOrNot==2){
+                            detailsListVo.setType(3);
+                        }
+                    }
+
                 } else {
                     detailsListVo.setType(2);
                 }

--
Gitblit v1.7.1