From 134d13688e4b6677133ba2d362d2978d8bda2b87 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 12 七月 2023 11:46:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 124 ++++++++++++++++++++++++++++++++++------ 1 files changed, 104 insertions(+), 20 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 1b0d7a6..574528c 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,29 +2,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.dsh.course.entity.TCoursePackage; -import com.dsh.course.entity.TCoursePackageDiscount; -import com.dsh.course.entity.TCoursePackagePayment; -import com.dsh.course.entity.TCoursePackageType; import com.dsh.course.entity.*; -import com.dsh.course.feignclient.account.StudentClient; +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.model.BaseVo; import com.dsh.course.model.dto.DiscountJsonDto; import com.dsh.course.model.vo.CourseDetailRequest; import com.dsh.course.model.vo.RegisterCourseVo; -import com.dsh.course.model.vo.request.ClasspaymentRequest; -import com.dsh.course.model.vo.request.CourseOfAfterRequest; -import com.dsh.course.model.vo.request.CourseWithDetailsRequest; -import com.dsh.course.model.vo.request.UpdateCourseVideoStatusRequest; +import com.dsh.course.model.vo.request.*; import com.dsh.course.model.vo.response.AppUserVideoResponse; import com.dsh.course.model.vo.response.CourseDetailsResponse; import com.dsh.course.model.vo.response.CourseOfVideoResponse; import com.dsh.course.service.*; -import com.dsh.course.util.DateUtil; -import com.dsh.course.util.ResultUtil; -import com.dsh.course.util.StrUtils; -import com.dsh.course.util.TokenUtil; +import com.dsh.course.util.*; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.Api; @@ -72,6 +63,17 @@ private CancelledClassesService cacService; @Autowired + private ICoursePackagePaymentConfigService icppcService; + + @Autowired + private UserVideoDetailsService uvdsService; + + @Autowired + private TCourseService tcService; + + + + @Autowired private TCoursePackageTypeService coursePackageTypeService; @Autowired @@ -79,6 +81,9 @@ @Autowired private CancelledClassesService cancelledClassesService; + + @Autowired + private AppUserClient appuClient; private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); @@ -304,11 +309,23 @@ @PostMapping("/base/coursePack/afterCourseTwos") public List<AfterVideoVo> getAfterCourseTwos(@RequestParam("appUserId") Integer appUserId){ List<AfterVideoVo> videoVos = new ArrayList<>(); - List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("appUserId", appUserId)); - List<Integer> coursePackageIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); -// List<PostCourseVideo> videoList = pcvService.queryAllVideoNoneShow(coursePackageIds); - // TODO: 2023/7/6 两个课后视频 + List<UserVideoDetails> list = uvdsService.list(new QueryWrapper<UserVideoDetails>() + .eq("appUserId",appUserId) + .eq("state",1)); + if (list.size() > 0 ){ + List<Integer> courseIds = list.stream().map(UserVideoDetails::getCourseId).collect(Collectors.toList()); + List<TCourse> courseList = tcService.list(new QueryWrapper<TCourse>() + .in("id",courseIds) + .eq("type",1) + .eq("state",1) + .last("ORDER BY insertTime desc LIMIT 2")); + for (TCourse tCourse : courseList) { + AfterVideoVo videoVo = new AfterVideoVo(); + videoVo.setCourseId(tCourse.getId()); + videoVo.setCourseUrl(tCourse.getCourseVideo()); + videoVos.add(videoVo); + } + } return videoVos; } @@ -317,6 +334,15 @@ return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() .eq("appUserId",appUserId) .eq("payType",3) + .eq("payStatus",2) + .eq("state",1)); + } + + @PostMapping("/base/coursePack/allAmountPayRecordOfUser") + public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody Integer appUserId){ + return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() + .eq("appUserId",appUserId) + .notIn("payType",3) .eq("payStatus",2) .eq("state",1)); } @@ -478,14 +504,15 @@ @ApiOperation(value = "已报名课程详情", tags = {"APP-开始上课"}) @ApiImplicitParams({ @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 coursePackageId){ + public ResultUtil<CourseDetailsResponse> getRegisteredData( Integer coursePayId){ try { Integer appUserId = tokenUtil.getUserIdFormRedis(); if(null == appUserId){ return ResultUtil.tokenErr(); } - return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePackageId,appUserId)); + return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePayId,appUserId)); }catch (Exception e){ return ResultUtil.runErr(); } @@ -605,4 +632,61 @@ e.printStackTrace(); } } + + + /** + * 课包续费玩湃币支付 + * @param + */ + @PostMapping("/coursePackagePayment/courseRenewPlayPaiPay") + public int paymentWanpaiRenewCourse(@RequestBody PlayPaiGoldCoursePackage coursePackage){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if (null == userIdFormRedis){ + return 2; + } + CoursePackagePaymentConfig paymentConfig = icppcService.getById(coursePackage.getCoursePayConfigId()); + AppUser appUser = appuClient.queryAppUser(userIdFormRedis); + if (appUser.getPlayPaiCoins() < paymentConfig.getPlayPaiCoin()){ + return 3; + } + TCoursePackagePayment packagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>() + .eq("code",coursePackage.getCode() )); + packagePayment.setPayStatus(2); + packagePayment.setPayUserId(userIdFormRedis); + packagePayment.setClassHours(paymentConfig.getClassHours()); + packagePayment.setPlayPaiCoin(paymentConfig.getPlayPaiCoin()); + packagePayment.setTotalClassHours(paymentConfig.getClassHours()); + packagePayment.setLaveClassHours(paymentConfig.getClassHours()); + packagePaymentService.updateById(packagePayment); + + appUser.setPlayPaiCoins(appUser.getPlayPaiCoins()-paymentConfig.getPlayPaiCoin()); + appuClient.updateAppUser(appUser); + } catch (Exception e) { + return 4; + } + return 1; + } + + @PostMapping("/base/coursePack/getPaymentCoursePackage") + public TCoursePackagePayment getCoursePackagePaymentByCode(@RequestBody String code){ + return packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>() + .eq("code",code)); + } + + @PostMapping("/base/coursePack/delPaymentCoursePackage") + public boolean delPaymentCoursePackage(@RequestBody Integer payId){ + return packagePaymentService.removeById(payId); + } + @PostMapping("/base/coursePack/updatePaymentCoursePackage") + public boolean updatePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){ + return packagePaymentService.update(packagePayment,new QueryWrapper<TCoursePackagePayment>() + .eq("id",packagePayment.getId())); + } + + @PostMapping("/base/coursePack/savePaymentCoursePackage") + public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){ + return packagePaymentService.save(packagePayment); + } + } -- Gitblit v1.7.1