From 2493985a5bdfc6496381b39de0f9713b79c2e51d Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 25 十一月 2023 11:14:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 150 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 127 insertions(+), 23 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 85654ee..10c5e7a 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 @@ -38,6 +38,7 @@ import net.bytebuddy.asm.Advice; import org.aspectj.weaver.ast.Var; import io.swagger.models.auth.In; +import org.checkerframework.checker.units.qual.C; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -131,6 +132,25 @@ private CoursePackageStudentService coursePackageStudentService; private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); + + /** + * 查询学员入学时间 根据第一次购买课包的时间 + * @return + */ + @RequestMapping("/base/coursePackagePayment/getTime") + public String getTime(@RequestBody Integer studentId){ + List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() + .eq("studentId", studentId) + .orderByDesc("insertTime") + .last("LIMIT 1")); + if (list.size()>0){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Date insertTime = list.get(0).getInsertTime(); + String format1 = format.format(list.get(0).getInsertTime()); + return format1; + } + return ""; + } /** * 添加购课记录-后台 * @return @@ -438,9 +458,17 @@ .eq("appUserId",student.getAppUserId()) .eq("studentId",stuId).eq("payStatus",2)); + Date date = new Date(); + if (byUserId.size() > 0 ){ for (TCoursePackagePayment tCoursePackagePayment : byUserId) { TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId()); + + if (tCoursePackagePayment.getUseTime()!=null) { + if (tCoursePackagePayment.getUseTime().after(date)) { + date = tCoursePackagePayment.getUseTime(); + } + } if (tCoursePackage.getType()==3){ continue; } @@ -457,13 +485,32 @@ }else { resp.setIsAble(1); } - if (tCoursePackage.getValidDays()!=null){ - String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + ""); - resp.setPeriodOfValidity(afterDayDate); + + if (tCoursePackagePayment.getUseTime()!=null){ +// String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + ""); +// resp.setPeriodOfValidity(afterDayDate); + + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String str = sdf.format(tCoursePackagePayment.getUseTime()); + resp.setPeriodOfValidity(str); } + + + resps.add(resp); } } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String str = sdf.format(date); + + for (StuCourseResp resp : resps) { + + + resp.setPeriodOfValidity(str); + } + + return resps; } @@ -549,14 +596,45 @@ List<Integer> collect = byUserId.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); List<TCoursePackage> list = tcpService.list(new QueryWrapper<TCoursePackage>() .in("id", collect)); - list.forEach(vo -> { + + byUserId.forEach(vo -> { + StuSessionDetailsVo detVo = new StuSessionDetailsVo(); - detVo.setSessionid(vo.getId()); - detVo.setSessionName(vo.getName()); - String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(),vo.getValidDays() + ""); - detVo.setPeriodOfValidity(afterDayDate); - detailsVos.add(detVo); + detVo.setSessionid(vo.getCoursePackageId()); + TCoursePackage byId = coursePackageService.getById(vo.getCoursePackageId()); + detVo.setSessionName(byId.getName()); +// String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + ""); + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String format1 = simpleDateFormat.format(vo.getUseTime()); + detVo.setPeriodOfValidity(format1); + + detVo.setTotalNums(vo.getTotalClassHours()); + detVo.setDeductedNums(vo.getTotalClassHours()-vo.getLaveClassHours()); + detVo.setRemainingNums(vo.getLaveClassHours()); + + detailsVos.add(detVo); + + + + }); + +// list.forEach(vo -> { +// StuSessionDetailsVo detVo = new StuSessionDetailsVo(); +// if (vo.getType()!=2) { +// detVo.setSessionid(vo.getId()); +// detVo.setSessionName(vo.getName()); +// String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + ""); +// detVo.setPeriodOfValidity(afterDayDate); +// +// detVo.setTotalNums(ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums()); +// detVo.setDeductedNums(ToolUtil.isEmpty(tCoursePackagePayment.getDeductionNums()) ? 0 : tCoursePackagePayment.getDeductionNums()); +// detVo.setRemainingNums(ToolUtil.isEmpty(tCoursePackagePayment.getResidueNums())? 0 : tCoursePackagePayment.getResidueNums()); +// +// detailsVos.add(detVo); +// } +// }); } return detailsVos; } @@ -927,7 +1005,7 @@ Collections.sort(payCourseInfoReq.getDay(), Comparator.comparing(String::toString)); - return ResultUtil.success(packagePaymentService.payCourseInfo(courseId)); + return ResultUtil.success(payCourseInfoReq); }catch (Exception e){ return ResultUtil.runErr(); } @@ -1035,6 +1113,9 @@ } } +@Autowired +private TOrderService orderService; + /** * 已报名课程详情 @@ -1044,17 +1125,30 @@ @ApiOperation(value = "已报名课程详情", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "经度", name = "lon", dataType = "string", required = false), + @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = false), @ApiImplicitParam(name = "coursePayId" ,value = "课包记录id",dataType = "long"), + @ApiImplicitParam(name = "orderId" ,value = "订单id",dataType = "int") + }) - public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId){ + public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat,Integer orderId){ try { Integer appUserId = tokenUtil.getUserIdFormRedis(); if(null == appUserId){ return ResultUtil.tokenErr(); } - return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePayId,appUserId)); + CourseDetailsResponse courseDetailsResponse = packagePaymentService.queryRegisteredCourseDetails(coursePayId, appUserId,lon,lat); + + + if (orderId!=null){ + TOrder byId = orderService.getById(orderId); + courseDetailsResponse.setAmount(byId.getPrice()); + } + return ResultUtil.success(courseDetailsResponse); }catch (Exception e){ - return ResultUtil.runErr(); + e.printStackTrace(); + throw new RuntimeException(e.getMessage()); +// return ResultUtil.runErr(); } } @@ -1243,6 +1337,10 @@ TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId())); Date today = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, -1); + today = calendar.getTime(); + Integer laveClassHours = pay.getLaveClassHours(); Integer codeTime = tCoursePackage.getCodeTime(); @@ -1382,6 +1480,7 @@ for (CancelledClasses cancelledClasses : voucher) { TCoursePackagePayment coursePackagePayment = packagePaymentService.getById(cancelledClasses.getCoursePackagePaymentId()); coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() + cancelledClasses.getCancelledClassesNumber()); + coursePackagePayment.setAppUserId(null); packagePaymentService.updateById(coursePackagePayment); cancelledClassesService.removeById(cancelledClasses.getId()); @@ -2074,10 +2173,15 @@ HashMap<String, Object> weeksOfCourseDetailsList(@RequestBody CourseDetailReq courseDetailReq){ HashMap<String, Object> map = new HashMap<>(); ArrayList<DetailsListVo> objects = new ArrayList<>(); - try { +// try { String time = courseDetailReq.getTime(); - Date parse = new SimpleDateFormat("yyyy-MM-dd").parse(time); - int i = cn.hutool.core.date.DateUtil.dayOfWeek(parse)-1; + Date parse = null; + try { + parse = new SimpleDateFormat("yyyy-MM-dd").parse(time); + } catch (ParseException e) { + throw new RuntimeException(e); + } + int i = cn.hutool.core.date.DateUtil.dayOfWeek(parse)-1; String week = week(i); Store store = sreClient.queryStoreById(courseDetailReq.getStoreId()); String lat = store.getLat(); @@ -2148,14 +2252,14 @@ .eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId()) .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime()) ); - if(list3.size()==0){ + if(list3.isEmpty()){ detailsListVo.setType(2); objects.add(detailsListVo); continue; } //排课的ids List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList()); - if(collect2.size()==0){ + if(collect2.isEmpty()){ collect2.add(-1l); } @@ -2169,7 +2273,7 @@ List<CoursePackageStudent> list5 = cspsService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", courseDetailReq.getStuId()).eq("coursePackageId",tCoursePackage.getId())); - if(list5.size()>0){ + if(list5.size()>0&&list4.size()>0){ Integer signInOrNot = list4.get(0).getSignInOrNot(); detailsListVo.setType(1); @@ -2224,10 +2328,10 @@ map.put("data",objects); return map; - } catch (ParseException e) { - e.printStackTrace(); - } - return map; +// } catch (ParseException e) { +// e.printStackTrace(); +// } +// return map; } private String week(int i){ -- Gitblit v1.7.1