From c036557db88c6297b9a626a892dce35c14ab8ee5 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期四, 09 十一月 2023 18:30:31 +0800 Subject: [PATCH] 11.6 --- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 183 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 152 insertions(+), 31 deletions(-) diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java index 96e9b12..bbf7b33 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java @@ -35,9 +35,7 @@ import com.dsh.course.model.vo.RegisterCourseVo; import com.dsh.course.model.vo.request.*; import com.dsh.course.model.vo.response.*; -import com.dsh.course.service.CoursePackageSchedulingService; -import com.dsh.course.service.ICoursePackageSchedulingService; -import com.dsh.course.service.TCoursePackagePaymentService; +import com.dsh.course.service.*; import com.dsh.course.util.*; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -56,6 +54,8 @@ import java.math.RoundingMode; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.ZoneId; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -320,28 +320,35 @@ } return responses; } - + @Autowired + private TCourseService courseService; @Override public CourseOfVideoResponse queryVideoDetails(CourseWithDetailsRequest detailsRequest,Integer appUserId) { CourseOfVideoResponse response = new CourseOfVideoResponse(); - BenefitsVideos videosWithIds = bfvoClient.getVideosWithIds(detailsRequest.getVideoId()); +// BenefitsVideos videosWithIds = bfvoClient.getVideosWithIds(detailsRequest.getVideoId()); + TCourse byId = courseService.getById(detailsRequest.getVideoId()); TCoursePackage coursePackage = tcpmapper.selectById(detailsRequest.getCoursePackageId()); - if (null != videosWithIds && null != coursePackage){ + + if (null != coursePackage){ response.setCoursePackageId(coursePackage.getId()); - response.setVideoId(videosWithIds.getId()); - response.setVideoURL(videosWithIds.getVideos()); - response.setVideoName(videosWithIds.getName()); - response.setIntegral(videosWithIds.getIntegral()); + response.setVideoId(byId.getId()); + response.setVideoURL(byId.getCourseVideo()); + response.setVideoName(coursePackage.getName()); +// response.setIntegral(byId.getIntegral()); UserVideoDetails userVideoDetails = uvdmapper.selectOne(new QueryWrapper<UserVideoDetails>() .eq("appUserId",appUserId ) .eq("coursePackageId",coursePackage.getId()) - .eq("courseId",videosWithIds.getId())); + .eq("courseId",detailsRequest.getVideoId())); - response.setStudyStatus(userVideoDetails.getState()); + if (userVideoDetails!=null) { + response.setStudyStatus(userVideoDetails.getState()); + }else { + response.setStudyStatus(1); + } response.setPackageName(coursePackage.getName()); - response.setSynopsis(videosWithIds.getIntroduction()); - response.setDetailedDiagram(coursePackage.getIntroduceDrawing()); - response.setCover(videosWithIds.getCover()); + response.setSynopsis(byId.getIntroduce()); + response.setDetailedDiagram(byId.getIntroductionDrawing()); + response.setCover(byId.getCoverDrawing()); } return response; @@ -433,23 +440,45 @@ if (null != tCoursePackagePayment){ TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); + if (coursePackage.getType()==2) { + response.setTime(new SimpleDateFormat("yyyy-MM-dd").format(coursePackage.getStartTime()) + "-" + new SimpleDateFormat("yyyy-MM-dd").format(coursePackage.getEndTime())); + } + + response.setCoursePackageId(tCoursePackagePayment.getCoursePackageId()); response.setCoverDrawing(coursePackage.getCoverDrawing()); response.setDetailDrawing(coursePackage.getDetailDrawing()); response.setCoursePackageName(coursePackage.getName()); response.setCoursePayId(tCoursePackagePayment.getId()); + response.setType(coursePackage.getType()); List<Integer> integers = StrUtils.dealStrToList(coursePackage.getClassWeeks()); + String classWeeks = coursePackage.getClassWeeks(); if (integers.size() > 0){ - StringBuilder courWeeks = new StringBuilder("每"); - for (Integer integer : integers) { - courWeeks.append(integer).append("、"); - } - if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == '、'){ - courWeeks.deleteCharAt(courWeeks.length() - 1); - } + StringBuilder courWeeks = new StringBuilder("每"+classWeeks); +// for (Integer integer : integers) { +// courWeeks.append(integer).append("、"); +// } +// if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == '、'){ +// courWeeks.deleteCharAt(courWeeks.length() - 1); +// } response.setWeeks(courWeeks.toString()); } - response.setCourseTimeFrame(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime()); + ArrayList<String> classTime = new ArrayList<>(); + String[] split4 = coursePackage.getClassStartTime().split(","); + String[] split3 = coursePackage.getClassEndTime().split(","); + if(ToolUtil.isNotEmpty(coursePackage.getClassStartTime())){ + for (int i = 0; i < split4.length; i++) { + String s = split4[i].substring(0,5) + "-" + split3[i].substring(0,5); + classTime.add(s); + } + } + + String joinedString = String.join("|", classTime); + + response.setCourseTimeFrame(joinedString); + + +// response.setCourseTimeFrame(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime()); response.setIntroduceDrawing(coursePackage.getIntroduceDrawing()); Integer payType = tCoursePackagePayment.getPayType(); @@ -740,8 +769,6 @@ @Override public List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId,Integer pageNum) { - - List<RecordAppoint> recordVoList = new ArrayList<>(); List<TCoursePackagePayment> tCoursePackagePayments = this.baseMapper.selectList(new QueryWrapper<TCoursePackagePayment>() .eq("studentId",stuId ) @@ -759,7 +786,7 @@ if (tCoursePackagePayments.size() > 0 ){ // int pageNum = 1; // 页码 - int pageSize = 5; // 每页记录数 + int pageSize = 100; // 每页记录数 Page<CoursePackageStudent> page = new Page<>(1, pageSize); // for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) { @@ -811,6 +838,10 @@ CoursePackageScheduling byId = coursePackageSchedulingService.getById(coursePackageStudent.getCoursePackageSchedulingId()); // String classStartTime = coursePackage.getClassStartTime(); // String classEndTime = coursePackage.getClassEndTime(); + //这里是过滤今天之后的数据 +// if (byId == null||byId.getClassDate().after(new Date())){ +// continue; +// } if (byId == null){ continue; @@ -831,7 +862,7 @@ List<String> integerList = Arrays.asList(split); String weekOfDate = DateTimeHelper.getWeekOfDate(new Date()); if (integerList.contains(weekOfDate)){ - String dat = simpleDateFormat.format(date) +" "+ dateString2.substring(11); + String dat = simpleDateFormat.format(byId.getClassDate()) +" "+ dateString1.substring(11); Date start = null; try { @@ -839,11 +870,18 @@ } catch (ParseException e) { throw new RuntimeException(e); } - if (start.after(new Date())){ - recordVo.setStatus(1); - }else if(coursePackageStudent.getSignInOrNot()==2){ + if (byId.getStatus()==4){ + recordVo.setStatus(4); + } else if(coursePackageStudent.getSignInOrNot()==2){ recordVo.setStatus(5); - }else { + } + else if (start.after(new Date())){ + recordVo.setStatus(1); + } +// else if(coursePackageStudent.getSignInOrNot()==2){ +// recordVo.setStatus(5); +// } + else { // CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() // .eq("coursePackageId",coursePackageStudent.getCoursePackageId())); CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() @@ -1106,6 +1144,15 @@ return integers; } + @Autowired + private TCoursePackageService packageService; + + + @Autowired + private TCoursePackagePaymentService packagePaymentService; + @Autowired + private CoursePackageStudentService coursePackageStudentService; + @Override @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) public ResultUtil payCourse(PayCourseReq req,Integer userId){ @@ -1119,6 +1166,67 @@ } tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours()-req.getNum()); this.baseMapper.updateHoursById(tCoursePackagePayment.getId(),-req.getNum()); + +// +// List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId())); +// List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); +// coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id",collect)); +// coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId())); +// +// TCoursePackage tCoursePackage = packageService.getById(tCoursePackagePayment.getCoursePackageId()); +// String classWeeks = tCoursePackage.getClassWeeks(); +// List<Integer> week = week(classWeeks); +// +// TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", tCoursePackagePayment.getCoursePackageId()).eq("studentId", tCoursePackagePayment.getStudentId())); +// +// +// Date today = new Date(); +// +// Integer laveClassHours = pay.getLaveClassHours(); +// Integer codeTime = tCoursePackage.getCodeTime(); +// Integer can = laveClassHours/codeTime; +// +// int count = 0; +// String[] split = tCoursePackage.getClassStartTime().split(","); +// String[] split1 = tCoursePackage.getClassEndTime().split(","); +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); +// SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); +// +// Date[] dates = generateDateArray(14,today); +// for (Date date : dates) { +// if (count==can){ +// break; +// } +// int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date); +// if (week.contains(wei)){ +// for (int i1 = 0; i1 < split.length; i1++) { +// if (count==can){ +// break; +// } +// CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); +// coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); +// Date parse = format1.parse(format.format(date) + " " + split[i1]); +// Date parse1 = format1.parse(format.format(date) + " " + split1[i1]); +// coursePackageScheduling.setClassDate(parse); +// coursePackageScheduling.setEndDate(parse1); +// coursePackageScheduling.setStatus(1); +// coursePackageSchedulingService.save(coursePackageScheduling); +// CoursePackageStudent student1 = new CoursePackageStudent(); +// student1.setAppUserId(pay.getAppUserId()); +// student1.setStudentId(pay.getStudentId()); +// student1.setCoursePackageId(pay.getCoursePackageId()); +// student1.setCoursePackagePaymentId(pay.getId()); +// student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); +// student1.setSignInOrNot(1); +// student1.setReservationStatus(1); +// student1.setInsertTime(new Date()); +// studentService.save(student1); +// count++; +// } +// } +// } + + TCoursePackage tCoursePackage = tcpmapper.selectById(req.getCourseId()); @@ -1232,5 +1340,18 @@ + public static Date[] generateDateArray(int numDays,Date date) { +// LocalDate tomorrow = LocalDate.now().plusDays(1); + LocalDate tomorrow = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().plusDays(1); + + Date[] dates = new Date[numDays]; + + for (int i = 0; i < numDays; i++) { + LocalDate currentDate = tomorrow.plusDays(i); + dates[i] = Date.from(currentDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); + } + + return dates; + } } -- Gitblit v1.7.1