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