From ef96dbc9278ebae4af204cca9de98c63f0d6328e Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期三, 20 九月 2023 19:16:21 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 130 +++++++++++++++++++++++++++++++++++------- 1 files changed, 107 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 c350bf2..3c4da2b 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,11 +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.model.BaseVo; -import com.dsh.course.model.QueryRegistrationRecord; -import com.dsh.course.model.QueryWalkInStudentList; -import com.dsh.course.model.BillingRequest; -import com.dsh.course.model.BillingRequestVo; +import com.dsh.course.model.*; import com.dsh.course.model.dto.DiscountJsonDto; import com.dsh.course.model.vo.CourseDetailRequest; import com.dsh.course.model.vo.RegisterCourseVo; @@ -49,10 +45,7 @@ import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Api @@ -540,7 +533,7 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil<?> payCourse(@RequestBody PayCourseReq req){ + public ResultUtil<?> payCourse(PayCourseReq req){ try { Integer appUserId = tokenUtil.getUserIdFormRedis(); if(null == appUserId){ @@ -1086,26 +1079,23 @@ if (ToolUtil.isEmpty(packagePayment)){ return ResultUtil.error("该用户未购买该课包"); } - CoursePackageStudent coursePackageStudent = cspsService.getOne(new LambdaQueryWrapper<CoursePackageStudent>() + List<CoursePackageStudent> coursePackageStudent = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>() .eq(CoursePackageStudent::getCoursePackageId,packagePayment.getCoursePackageId()) .eq(CoursePackageStudent::getCoursePackagePaymentId,courseID) .eq(CoursePackageStudent::getStudentId,stuId) .eq(CoursePackageStudent::getAppUserId,appUserId) ); - if (ToolUtil.isNotEmpty(coursePackageStudent) && coursePackageStudent.getReservationStatus() == 0){ - coursePackageStudent.setSignInOrNot(2); - coursePackageStudent.setInsertTime(simpleDateFormat.parse(time)); - cspsService.updateById(coursePackageStudent); + if (ToolUtil.isNotEmpty(coursePackageStudent)){ + for (CoursePackageStudent packageStudent : coursePackageStudent) { + if(packageStudent.getReservationStatus()==0){ + packageStudent.setSignInOrNot(2); + packageStudent.setInsertTime(simpleDateFormat.parse(time)); + cspsService.updateById(packageStudent); + } + } + }else { - coursePackageStudent = new CoursePackageStudent(); - coursePackageStudent.setAppUserId(appUserId); - coursePackageStudent.setStudentId(stuId); - coursePackageStudent.setCoursePackageId(packagePayment.getCoursePackageId()); - coursePackageStudent.setCoursePackagePaymentId(Long.parseLong(courseID)); - coursePackageStudent.setSignInOrNot(2); - coursePackageStudent.setInsertTime(simpleDateFormat.parse(time)); - cspsService.save(coursePackageStudent); } return ResultUtil.success(); }catch (Exception e){ @@ -1113,4 +1103,98 @@ } } + @ResponseBody + @PostMapping("/base/coursePack/weeksOfCourseDetailsList") + HashMap<String, Object> weeksOfCourseDetailsList(@RequestBody CourseDetailReq courseDetailReq){ + HashMap<String, Object> map = new HashMap<>(); + ArrayList<DetailsListVo> objects = new ArrayList<>(); + try { + String time = courseDetailReq.getTime(); + Date parse = new SimpleDateFormat("yyyy-MM-dd").parse(time); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(parse)-1; + String week = week(i); + Store store = sreClient.queryStoreById(courseDetailReq.getStoreId()); + String lat = store.getLat(); + String lon = store.getLon(); + + Map<String, Double> distance = GeodesyUtil.getDistance(courseDetailReq.getLon() + "," + courseDetailReq.getLat(), lon + "," + lat); + double wgs84 = distance.get("WGS84") / 1000; + map.put("distance",wgs84); + map.put("name",store.getName()); + map.put("lon",lon); + map.put("lat",lat); + + // 找出门店的所有课程 排出体验 + 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()); + if(collect.size()==0){ + collect.add(-1); + } + // 找出购买的课包 + 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()); + for (TCoursePackage tCoursePackage : list) { + DetailsListVo detailsListVo = new DetailsListVo(); + detailsListVo.setId(tCoursePackage.getId()); + detailsListVo.setName(tCoursePackage.getName()); + String classStartTime = tCoursePackage.getClassStartTime(); + String[] split = classStartTime.split(","); + String classEndTime = tCoursePackage.getClassEndTime(); + String[] split1 = classEndTime.split(","); + ArrayList<String> strings = new ArrayList<>(); + for (int i1 = 0; i1 < split.length; i1++) { + String s = split[i1] + "-" + split1[i1]; + strings.add(s); + } + detailsListVo.setTime(strings); + List<CoursePackagePaymentConfig> list2 = icppcService.list(new LambdaQueryWrapper<CoursePackagePaymentConfig>().eq(CoursePackagePaymentConfig::getCoursePackageId, tCoursePackage.getId()).orderByAsc(CoursePackagePaymentConfig::getCashPayment)); + if (list2.size() > 0) { + Double cashPayment = list2.get(0).getCashPayment(); + detailsListVo.setMoney(cashPayment); + } + detailsListVo.setNum(tCoursePackage.getNeedNum()); + if (collect1.contains(tCoursePackage.getId())) { + detailsListVo.setType(1); + } else { + detailsListVo.setType(2); + } + objects.add(detailsListVo); + } + map.put("data",objects); + + return map; + } catch (ParseException e) { + e.printStackTrace(); + } + return map; + } + + private String week(int i){ + String a = ""; + switch (i){ + case 1: + a="周一"; + break; + case 2: + a="周二"; + break; + case 3: + a="周三"; + break; + case 4: + a="周四"; + break; + case 5: + a="周五"; + break; + case 6: + a="周六"; + break; + case 7: + a="周日"; + break; + } + return a; + } + } -- Gitblit v1.7.1