From 1882d607549762a84b1a5326f7262eba01363b85 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 14 八月 2023 10:00:16 +0800 Subject: [PATCH] 更新课包功能 --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 161 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 108 insertions(+), 53 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 2d21968..0934313 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 @@ -2,11 +2,18 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.entity.*; import com.dsh.course.feignclient.account.AppUserClient; +import com.dsh.course.feignclient.account.StudentClient; import com.dsh.course.feignclient.account.model.AppUser; +import com.dsh.course.feignclient.account.model.Student; 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.dto.DiscountJsonDto; import com.dsh.course.model.vo.CourseDetailRequest; import com.dsh.course.model.vo.RegisterCourseVo; @@ -35,7 +42,10 @@ import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Api @@ -66,7 +76,8 @@ @Autowired private TCourseService tcService; - + @Resource + private StudentClient studentClient; @Autowired private TCoursePackageTypeService coursePackageTypeService; @@ -82,6 +93,9 @@ @Resource private AppUserClient auClitn; + @Resource + private StoreClient sreClient; + private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); /** @@ -89,11 +103,13 @@ * @param stuId 学员id * @return 课包列表 */ + @ResponseBody @PostMapping("/base/coursePack/queryPayment") - public List<StuCourseResp> getStuCoursePackagePayment(@RequestParam("stuId") Integer stuId,@RequestParam("appUserId") Integer appUserId){ + public List<StuCourseResp> getStuCoursePackagePayment(@RequestBody Integer stuId){ List<StuCourseResp> resps = new ArrayList<>(); + Student student = studentClient.queryStudentById(stuId); List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("appUserId",appUserId) + .eq("appUserId",student.getAppUserId()) .eq("studentId",stuId)); if (byUserId.size() > 0 ){ @@ -105,6 +121,8 @@ resp.setTotalCourseNums(tCoursePackagePayment.getTotalClassHours()); resp.setResidueNums(tCoursePackagePayment.getLaveClassHours()); resp.setDeductionNums(tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours()); + String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + ""); + resp.setPeriodOfValidity(afterDayDate); resps.add(resp); } } @@ -115,6 +133,7 @@ * * 获取发布的 课包列表 */ + @ResponseBody @PostMapping("/base/coursePack/storeOfCourse") public List<CourseOfStoreVo> getStuCourseWithStores(@RequestBody WeeksOfCourseRest courseRest){ List<CourseOfStoreVo> course = new ArrayList<>(); @@ -131,24 +150,31 @@ if (list.size() > 0){ for (TCoursePackagePayment tCoursePackagePayment : list) { TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId()); + CoursePackagePaymentConfig paymentConfig = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>() + .eq("coursePackageId",tCoursePackage.getId() ) + .eq("classHours",tCoursePackagePayment.getClassHours())); // 获取课程有效结束时间,判断 查询的日期parse 是否在有效期范围内 Date expirationDate = DateTimeHelper.getExpirationDate(tCoursePackagePayment.getInsertTime(),tCoursePackage.getValidDays()); + System.out.println(expirationDate.after(parse)); String classWeeks = tCoursePackage.getClassWeeks(); + System.out.println(StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse))); if (expirationDate.after(parse) && StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse))){ CourseOfStoreVo storeVo = new CourseOfStoreVo(); storeVo.setCourseId(tCoursePackage.getId()); - // TODO: 2023/7/20 查询课包对应门店信息 -// storeVo.setCourseName(); -// storeVo.setClassStartTime(); -// storeVo.setClassEndTime(); -// storeVo.setStoreId(); -// storeVo.setStoreName(); -// storeVo.setLat(); -// storeVo.setLon(); + storeVo.setCourseName(tCoursePackage.getName()); + storeVo.setClassStartTime(tCoursePackage.getClassStartTime()); + storeVo.setClassEndTime(tCoursePackage.getClassEndTime()); + storeVo.setStoreId(tCoursePackage.getStoreId()); + Store store = sreClient.queryStoreById(tCoursePackage.getStoreId()); + storeVo.setStoreAddress(store.getAddress()); + storeVo.setLat(store.getLat()); + storeVo.setLon(store.getLon()); + storeVo.setCoursePrice(ToolUtil.isEmpty(paymentConfig.getCashPayment()) ? (double) paymentConfig.getPlayPaiCoin():paymentConfig.getCashPayment()); course.add(storeVo); } } } + System.out.println(course); return course; } catch (ParseException e) { return null; @@ -184,13 +210,13 @@ } @PostMapping("/base/coursePack/paymentCourse") - public List<PurchaseRecordVo> queryCourseDetails(@RequestParam("startTime") Date startTime, @RequestParam("endTime") Date endTime,@RequestParam("stuId") Integer stuId, @RequestParam("appUserId") Integer appUserId) { + public List<PurchaseRecordVo> queryCourseDetails(@RequestBody GetStuSessionList sessionList) { List<PurchaseRecordVo> purchaseRecordVos = new ArrayList<>(); List<TCoursePackagePayment> coursePackage = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .between("insertTime", startTime,endTime) - .eq("appUserId",appUserId) - .eq("studentId",stuId)); + .between("insertTime", sessionList.getStartTime(),sessionList.getEndTime()) + .eq("appUserId",sessionList.getAppUserId()) + .eq("studentId",sessionList.getStuId())); if (coursePackage.size() > 0 ){ coursePackage.forEach( cspackage -> { PurchaseRecordVo recordVo = new PurchaseRecordVo(); @@ -258,33 +284,9 @@ if (integers.size() > 0){ StringBuilder courWeeks = new StringBuilder("每"); for (Integer integer : integers) { - switch (integer){ - case 1: - courWeeks.append("周一、"); - break; - case 2: - courWeeks.append("周二、"); - break; - case 3: - courWeeks.append("周三、"); - break; - case 4: - courWeeks.append("周四、"); - break; - case 5: - courWeeks.append("周五、"); - break; - case 6: - courWeeks.append("周六、"); - break; - case 7: - courWeeks.append("周末、"); - break; - default: - break; - } + courWeeks.append(integer).append("、"); } - if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == ','){ + if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == '、'){ courWeeks.deleteCharAt(courWeeks.length() - 1); } courseVo.setCourseWeek(courWeeks.toString()); @@ -359,12 +361,13 @@ } @PostMapping("/base/coursePack/allAmountPayRecordOfUser") - public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody Integer appUserId){ + public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody BillingDataRequestVo billingDataRequestVo){ return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("appUserId",appUserId) + .eq("appUserId",billingDataRequestVo.getAppUserId()) .notIn("payType",3) .eq("payStatus",2) - .eq("state",1)); + .eq("state",1) + .between("insertTime",billingDataRequestVo.getMonthStart(),billingDataRequestVo.getMonthEnd())); } @@ -389,7 +392,7 @@ baseVo.setName(coursePackage.getName()); list.add(baseVo); }); - return ResultUtil.success(); + return ResultUtil.success(list); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); @@ -414,9 +417,12 @@ return ResultUtil.tokenErr(); } List<Integer> courseIds = new ArrayList<>(); - List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("coursePackageId",search.getCourseTypeId()) - .eq("appUserId",appUserId)); + QueryWrapper<TCoursePackagePayment> queryWrapper = new QueryWrapper<TCoursePackagePayment>().eq("appUserId", appUserId) + .groupBy("coursePackageId"); + if (ToolUtil.isNotEmpty(search.getCourseTypeId())){ + queryWrapper.eq("coursePackageId",search.getCourseTypeId()); + } + List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(queryWrapper); if (tCoursePackagePayments.size() > 0 ){ courseIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); } @@ -526,7 +532,7 @@ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "coursePayId" ,value = "课包记录id",dataType = "long"), }) - public ResultUtil<CourseDetailsResponse> getRegisteredData( Integer coursePayId){ + public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId){ try { Integer appUserId = tokenUtil.getUserIdFormRedis(); if(null == appUserId){ @@ -763,10 +769,9 @@ @PostMapping("/base/coursePack/obtainStudentClassDetails") - public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody Integer stuId){ + public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId){ try { - Integer appUserId = tokenUtil.getUserIdFormRedis(); - return packagePaymentService.obtainStuClassDetails(stuId,appUserId); + return packagePaymentService.obtainStuClassDetails(stuId.getStuId(),stuId.getAppUserId()); }catch (Exception e){ e.printStackTrace(); throw new RuntimeException(); @@ -788,4 +793,54 @@ .eq("code",code)); } + + /** + * 获取课包报名信息列表 + * @param queryRegistrationRecord + * @return + */ + @ResponseBody + @PostMapping("/coursePackagePayment/queryRegistrationRecord") + public Page<Map<String, Object>> queryRegistrationRecord(@RequestBody QueryRegistrationRecord queryRegistrationRecord){ + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(queryRegistrationRecord.getLimit(), queryRegistrationRecord.getOffset(), queryRegistrationRecord.getSort(), queryRegistrationRecord.getOrder()); + Page<Map<String, Object>> mapPage = page.setRecords(packagePaymentService.queryRegistrationRecord(page, queryRegistrationRecord)); + return mapPage; + } + + + /** + * 获取未预约排课学员列表 + * @param queryWalkInStudentList + * @return + */ + @ResponseBody + @PostMapping("/coursePackagePayment/queryWalkInStudentList") + public Page<Map<String, Object>> queryWalkInStudentList(@RequestBody QueryWalkInStudentList queryWalkInStudentList){ + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(queryWalkInStudentList.getLimit(), queryWalkInStudentList.getOffset(), queryWalkInStudentList.getSort(), queryWalkInStudentList.getOrder()); + Page<Map<String, Object>> mapPage = page.setRecords(packagePaymentService.queryWalkInStudentList(page, queryWalkInStudentList)); + return mapPage; + } + + + /** + * 根据id获取数据 + * @param id + * @return + */ + @ResponseBody + @PostMapping("/coursePackagePayment/queryCoursePackagePaymentById") + public TCoursePackagePayment queryCoursePackagePaymentById(@RequestBody Long id){ + return packagePaymentService.getById(id); + } + + + /** + * 修改数据 + * @param coursePackagePayment + */ + @ResponseBody + @PostMapping("/coursePackagePayment/editCoursePackagePayment") + public void editCoursePackagePayment(TCoursePackagePayment coursePackagePayment){ + packagePaymentService.updateById(coursePackagePayment); + } } -- Gitblit v1.7.1