From c81d766cd91be3b3a24c8db94dcd93c071a66c62 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 14 七月 2023 09:30:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 83 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 79 insertions(+), 4 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 93feb54..bba42cc 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 @@ -9,6 +9,7 @@ import com.dsh.course.feignclient.activity.CouponClient; import com.dsh.course.feignclient.activity.model.BenefitsVideos; import com.dsh.course.feignclient.activity.model.Coupon; +import com.dsh.course.feignclient.model.RecordAppoint; import com.dsh.course.feignclient.other.StoreClient; import com.dsh.course.feignclient.other.model.Store; import com.dsh.course.mapper.*; @@ -22,10 +23,7 @@ import com.dsh.course.model.vo.response.CourseDetailsResponse; import com.dsh.course.model.vo.response.CourseOfVideoResponse; import com.dsh.course.service.TCoursePackagePaymentService; -import com.dsh.course.util.PayMoneyUtil; -import com.dsh.course.util.ResultUtil; -import com.dsh.course.util.StrUtils; -import com.dsh.course.util.UUIDUtil; +import com.dsh.course.util.*; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; @@ -33,6 +31,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Matcher; @@ -401,4 +400,80 @@ } + + @Override + public List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId) { + List<RecordAppoint> recordVoList = new ArrayList<>(); + List<TCoursePackagePayment> tCoursePackagePayments = this.baseMapper.selectList(new QueryWrapper<TCoursePackagePayment>() + .eq("studentId",stuId ) + .eq("appUserId",appUserId ) + .eq("payStatus",2 ) + .eq("status",1 ) + .orderByDesc("insertTime")); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd"); + SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); + if (tCoursePackagePayments.size() > 0 ){ + for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) { + RecordAppoint recordVo = new RecordAppoint(); + recordVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId()); + + TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); + + recordVo.setCoursePackageName(coursePackage.getName()); + recordVo.setCourseHours(tCoursePackagePayment.getClassHours()); + Date date = DateUtil.getDate(); + + String classStartTime = coursePackage.getClassStartTime(); + String classEndTime = coursePackage.getClassEndTime(); + recordVo.setTimeFrame(simpleDateFormat.format(date)+" "+classStartTime+"-"+classEndTime); + Store store = stoClient.queryStoreById(coursePackage.getStoreId()); + recordVo.setStoreNameAddr(store.getName()+store.getAddress()); + CoursePackageStudent coursePackageStudent = cpsMapper.selectOne(new QueryWrapper<CoursePackageStudent>() + .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() ) + .eq("studentId",stuId) + .eq("appUserId",appUserId) + .eq("reservationStatus",1)); + if (ToolUtil.isNotEmpty(coursePackageStudent) && coursePackageStudent.getReservationStatus() == 1){ + + recordVo.setCourseStuRecordId(coursePackageStudent.getId()); + String classWeeks = coursePackage.getClassWeeks(); + String[] split = classWeeks.split(";"); + List<Integer> integerList = Arrays.stream(split) + .map(Integer::parseInt) + .collect(Collectors.toList()); + int dayOfWeek = DateTimeHelper.getDayOfWeek(new Date()); + + if (integerList.contains(dayOfWeek)){ + String dat = simpleDateFormat.format(date) +" "+ classStartTime; + + Date start = null; + try { + start = format.parse(dat); + } catch (ParseException e) { + throw new RuntimeException(e); + } + if (start.after(new Date())){ + recordVo.setStatus(1); + }else { + CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() + .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() )); + if (ToolUtil.isNotEmpty(cancelledClasses)){ + recordVo.setStatus(3); + }else { + recordVo.setStatus(2); + } + } + }else { + recordVo.setStatus(1); + } + }else { + recordVo.setStatus(4); + } + + recordVoList.add(recordVo); + } + } + return recordVoList; + } + } -- Gitblit v1.7.1