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/service/impl/CoursePackageStudentServiceImpl.java |    5 ++
 cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java            |    4 ++
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java    |   45 ++++++++++++++++++----
 cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java          |    4 ++
 cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml                       |    4 +
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java       |   55 +++++++++++++++------------
 6 files changed, 84 insertions(+), 33 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);
                 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java
index a8668aa..af725af 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java
@@ -38,4 +38,8 @@
     List<ClassListDto> getClassList(@Param("tStudentId")Integer tStudentId);
 
     Date getMaxDate(@Param("tStudentId")Integer tStudentId);
+
+    void updateSignInOrNotById(@Param("id") Long id);
+
+
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java b/cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java
index af73f12..da9421a 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java
@@ -36,4 +36,8 @@
     Date getMaxDate(Integer tStudentId);
 
     Date getMinDate(Integer tStudentId);
+
+    void updateSignInOrNotById(Long id);
+
+
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java
index 0178d52..ad47688 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java
@@ -101,4 +101,9 @@
     public Date getMinDate(Integer tStudentId) {
         return null;
     }
+
+    @Override
+    public void updateSignInOrNotById(Long id) {
+        this.baseMapper.updateSignInOrNotById(id);
+    }
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
index 854a8af..27a1c55 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1061,33 +1061,40 @@
             }else if(integer>i) {
                 Calendar instance = Calendar.getInstance();
                 instance.add(Calendar.DATE,integer-i);
-                Date time = instance.getTime();
+                Date time1 = instance.getTime();
+                List<Date> list = new ArrayList<>();
+                list.add(time1);
+                instance.add(Calendar.DATE,7);
+                Date time2 = instance.getTime();
+                list.add(time2);
+                for (Date time : list) {
+                    for (int i1 = 0; i1 < split.length; i1++) {
+                        CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+                        coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+                        try {
+                            Date parse = format1.parse(format.format(time) + " " + split[i1]);
+                            Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
+                            coursePackageScheduling.setClassDate(parse);
+                            coursePackageScheduling.setEndDate(parse1);
+                            coursePackageScheduling.setStatus(1);
+                            coursePackageSchedulingService.save(coursePackageScheduling);
 
-                for (int i1 = 0; i1 < split.length; i1++) {
-                    CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-                    coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
-                    try {
-                        Date parse = format1.parse(format.format(time) + " " + split[i1]);
-                        Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
-                        coursePackageScheduling.setClassDate(parse);
-                        coursePackageScheduling.setEndDate(parse1);
-                        coursePackageScheduling.setStatus(1);
-                        coursePackageSchedulingService.save(coursePackageScheduling);
-
-                        CoursePackageStudent student1 = new CoursePackageStudent();
-                        student1.setAppUserId(userId);
-                        student1.setStudentId(sId);
-                        student1.setCoursePackageId(tCoursePackage.getId());
-                        student1.setCoursePackagePaymentId(paymentId);
-                        student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
-                        student1.setSignInOrNot(0);
-                        student1.setReservationStatus(1);
-                        student1.setInsertTime(new Date());
-                        cpsMapper.insert(student1);
-                    } catch (ParseException e) {
-                        e.printStackTrace();
+                            CoursePackageStudent student1 = new CoursePackageStudent();
+                            student1.setAppUserId(userId);
+                            student1.setStudentId(sId);
+                            student1.setCoursePackageId(tCoursePackage.getId());
+                            student1.setCoursePackagePaymentId(paymentId);
+                            student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+                            student1.setSignInOrNot(0);
+                            student1.setReservationStatus(1);
+                            student1.setInsertTime(new Date());
+                            cpsMapper.insert(student1);
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
                     }
                 }
+
             }else {
                 Calendar instance = Calendar.getInstance();
                 instance.add(Calendar.DATE,7);
diff --git a/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml b/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
index 2c7eee1..3e08177 100644
--- a/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.dsh.course.mapper.CoursePackageStudentMapper">
-
+    <update id="updateSignInOrNotById">
+        update t_course_package_student set signInOrNot = 2 where id =#{id}
+    </update>
 
 
     <select id="queryCoursePackageStudentList" resultType="map">

--
Gitblit v1.7.1