From 64a718d4bafef43d8d98d9874f1b9d3c90c84430 Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期四, 20 七月 2023 19:10:50 +0800 Subject: [PATCH] 开始上课的课程列表查询 --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 171 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 144 insertions(+), 27 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 574528c..85230c2 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 @@ -6,6 +6,8 @@ import com.dsh.course.feignclient.account.AppUserClient; import com.dsh.course.feignclient.account.model.AppUser; 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.dto.DiscountJsonDto; import com.dsh.course.model.vo.CourseDetailRequest; @@ -28,11 +30,17 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.PrintWriter; 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.stream.Collectors; @Api @@ -53,14 +61,6 @@ @Autowired private TCoursePackageDiscountService tcpdService; - @Autowired - private PostCourseVideoService pcvService; - - @Autowired - private CoursePackageStudentService cpsService; - - @Autowired - private CancelledClassesService cacService; @Autowired private ICoursePackagePaymentConfigService icppcService; @@ -83,7 +83,12 @@ private CancelledClassesService cancelledClassesService; @Autowired - private AppUserClient appuClient; + private PayMoneyUtil payMoneyUtil; + @Resource + private AppUserClient auClitn; + + @Resource + private StoreClient sreClient; private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); @@ -93,10 +98,16 @@ * @return 课包列表 */ @PostMapping("/base/coursePack/queryPayment") - public List<StuCourseResp> getStuCoursePackagePayment(@RequestParam("stuId") Integer stuId,@RequestParam("appUserId") Integer appUserId){ + public List<StuCourseResp> getStuCoursePackagePayment(@RequestBody Integer stuId){ + Integer userIdFormRedis = null; + try { + userIdFormRedis = tokenUtil.getUserIdFormRedis(); + } catch (Exception e) { + throw new RuntimeException(e); + } List<StuCourseResp> resps = new ArrayList<>(); List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("appUserId",appUserId) + .eq("appUserId",userIdFormRedis) .eq("studentId",stuId)); if (byUserId.size() > 0 ){ @@ -119,20 +130,47 @@ * 获取发布的 课包列表 */ @PostMapping("/base/coursePack/storeOfCourse") - public List<CourseOfStoreVo> getStuCourseWithStores(){ - List<CourseOfStoreVo> courseOfStoreVos = tcpService.queryStoreOfCourse(); - if (courseOfStoreVos.size() > 0){ - for (CourseOfStoreVo courseOfStoreVo : courseOfStoreVos) { - String[] split = courseOfStoreVo.getClassWeeks().split(";"); - List<Integer> integers = new ArrayList<>(); - for (String s : split) { - int num = Integer.parseInt(s); - integers.add(num); + public List<CourseOfStoreVo> getStuCourseWithStores(@RequestBody WeeksOfCourseRest courseRest){ + List<CourseOfStoreVo> course = new ArrayList<>(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + try { + Date parse = simpleDateFormat.parse(courseRest.getTime()); + List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() + .eq("appUserId",courseRest.getAppUserId() ) + .eq("studentId",courseRest.getStuId()) + .eq("payStatus",2) + .eq("status",1) + .eq("state",1) + .groupBy("coursePackageId")); + 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()); + String classWeeks = tCoursePackage.getClassWeeks(); + if (expirationDate.after(parse) && StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse))){ + CourseOfStoreVo storeVo = new CourseOfStoreVo(); + storeVo.setCourseId(tCoursePackage.getId()); + 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); + } } - courseOfStoreVo.setClassWeekList(integers); } + return course; + } catch (ParseException e) { + return null; } - return tcpService.queryStoreOfCourse(); } @@ -350,7 +388,7 @@ @ResponseBody @PostMapping("/api/course/queryArrangeCourseList") - @ApiOperation(value = "获取布置课程列表", tags = {"APP-课程列表"}) + @ApiOperation(value = "课后练习-获取布置课程列表", tags = {"APP-开始上课"}) @ApiImplicitParams({ }) public ResultUtil<List<BaseVo>> queryArrangePackageType(){ @@ -382,7 +420,7 @@ */ @ResponseBody @PostMapping("/api/startCource/afterSourceList") - @ApiOperation(value = "课后视频课表", tags = {"APP-开始上课"}) + @ApiOperation(value = "课后练习-课后视频列表", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) @@ -411,7 +449,7 @@ */ @ResponseBody @PostMapping("/api/startCource/afterSourceDetail") - @ApiOperation(value = "课后视频详情", tags = {"APP-开始上课"}) + @ApiOperation(value = "课后练习-课后视频详情", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) @@ -542,6 +580,58 @@ } + + /** + * 课包续课支付宝支付回调接口 + */ + @PostMapping("/base/coursePackage/alipayRegisteredCoursesCallback") + public void alipayCallback(HttpServletRequest request, HttpServletResponse response){ + try { + Map<String, String> map = payMoneyUtil.alipayCallback(request); + if(null != map){ + String out_trade_no = map.get("out_trade_no"); + String transaction_id = map.get("transaction_id"); + ResultUtil resultUtil = packagePaymentService.insertVipPaymentCallback(out_trade_no, transaction_id); + if(resultUtil.getCode() == 200){ + PrintWriter out = response.getWriter(); + out.write("success"); + out.flush(); + out.close(); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + /** + * 课包续课微信支付回调接口 + */ + @PostMapping("/base/coursePackage/wechatRegisteredCoursesCallback") + public void weChatCallback(HttpServletRequest request, HttpServletResponse response){ + try { + Map<String, String> map = payMoneyUtil.weixinpayCallback(request); + if(null != map){ + String out_trade_no = map.get("out_trade_no"); + String transaction_id = map.get("transaction_id"); + String result = map.get("result"); + ResultUtil resultUtil = packagePaymentService.insertVipPaymentCallback(out_trade_no, transaction_id); + if(resultUtil.getCode() == 200){ + PrintWriter out = response.getWriter(); + out.write(result); + out.flush(); + out.close(); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + + /** * 获取学员剩余课时 * @param id @@ -646,7 +736,7 @@ return 2; } CoursePackagePaymentConfig paymentConfig = icppcService.getById(coursePackage.getCoursePayConfigId()); - AppUser appUser = appuClient.queryAppUser(userIdFormRedis); + AppUser appUser = auClitn.queryAppUser(userIdFormRedis); if (appUser.getPlayPaiCoins() < paymentConfig.getPlayPaiCoin()){ return 3; } @@ -661,7 +751,7 @@ packagePaymentService.updateById(packagePayment); appUser.setPlayPaiCoins(appUser.getPlayPaiCoins()-paymentConfig.getPlayPaiCoin()); - appuClient.updateAppUser(appUser); + auClitn.updateAppUser(appUser); } catch (Exception e) { return 4; } @@ -689,4 +779,31 @@ return packagePaymentService.save(packagePayment); } + + @PostMapping("/base/coursePack/obtainStudentClassDetails") + public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody Integer stuId){ + try { + Integer appUserId = tokenUtil.getUserIdFormRedis(); + return packagePaymentService.obtainStuClassDetails(stuId,appUserId); + }catch (Exception e){ + e.printStackTrace(); + throw new RuntimeException(); + } + } + + + @PostMapping("/base/coursePack/getCoursePackageConfig") + public List<CoursePackagePaymentConfig> getCourseConfigList(@RequestBody Integer coursePackageId){ + return icppcService.list(new QueryWrapper<CoursePackagePaymentConfig>() + .eq("coursePackageId",coursePackageId)); + } + + + + @PostMapping("/base/coursePack/getCoursePackagePaymentOfCode") + public List<TCoursePackagePayment> getCoursePackagePaymentOfCode(@RequestBody String code){ + return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() + .eq("code",code)); + } + } -- Gitblit v1.7.1