From 0c51a577db337520452022d9d6a22b720ef858d4 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 31 十二月 2024 14:13:01 +0800 Subject: [PATCH] 全部代码、数据库提交 --- xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserCourseController.java | 81 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 73 insertions(+), 8 deletions(-) diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserCourseController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserCourseController.java index 69d4a53..3d203ba 100644 --- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserCourseController.java +++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserCourseController.java @@ -1,16 +1,26 @@ package com.xinquan.user.controller.client; +import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xinquan.common.core.domain.R; -import com.xinquan.user.api.domain.AppUser; -import com.xinquan.user.domain.AppUserCourse; -import com.xinquan.user.domain.vo.AppUserVO; +import com.xinquan.common.core.utils.page.CollUtils; +import com.xinquan.common.core.utils.page.PageDTO; +import com.xinquan.common.security.service.TokenService; +import com.xinquan.common.security.utils.SecurityUtils; +import com.xinquan.system.api.domain.AppUser; +import com.xinquan.system.api.domain.AppUserCourse; +import com.xinquan.system.api.domain.NoticeRecord; +import com.xinquan.system.api.domain.vo.AppUserVO; import com.xinquan.user.service.AppUserCourseService; import com.xinquan.user.service.AppUserService; -import io.swagger.annotations.ApiOperation; +import io.swagger.models.auth.In; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; @@ -29,22 +39,77 @@ private AppUserService appUserService; @Resource private AppUserCourseService appUserCourseService; + /** + * 远程调用 购买课程后 增加课程与用户关系表 + * + * @return 用户信息 + * @see AppUserVO + */ + @GetMapping("/addAppUserCourse/{courseId}/{appUserId}/{orderId}/{giftFlag}") + public R addAppUserCourse(@PathVariable("courseId") Long courseId, + @PathVariable("appUserId") Long appUserId, + @PathVariable("orderId") Long orderId, + @PathVariable("giftFlag") Integer giftFlag + ) { + AppUserCourse one = appUserCourseService.lambdaQuery().eq(AppUserCourse::getCourseId, courseId) + .eq(AppUserCourse::getAppUserId, appUserId).one(); + if (one==null){ + one = new AppUserCourse(); + one.setAppUserId(appUserId); + one.setCourseId(courseId); + one.setGiftFlag(giftFlag); + one.setOrderId(orderId); + one.setCreateTime(LocalDateTime.now()); + appUserCourseService.save(one); + } + return R.ok(); + } /** * 远程调用 根据课程id 查询拥有课程的用户 * * @return 用户信息 - * @see com.xinquan.user.domain.vo.AppUserVO + * @see AppUserVO */ @GetMapping("/getUserByCourseId/{courseId}") - public R<List<String>> getUserByCourseId(@PathVariable("courseId") Long courseId) { + public R<List<AppUser>> getUserByCourseId(@PathVariable("courseId") Long courseId) { List<Long> collect = appUserCourseService.lambdaQuery().eq(AppUserCourse::getCourseId, courseId).list() .stream().map(AppUserCourse::getAppUserId).collect(Collectors.toList()); + if (collect.isEmpty())collect.add(-1L); // 批量查询用户头像 - List<String> collect1 = appUserService.lambdaQuery().in(!collect.isEmpty(), AppUser::getId, collect).list() - .stream().map(AppUser::getAvatar).collect(Collectors.toList()); + List<AppUser> collect1 = appUserService.lambdaQuery().in(!collect.isEmpty(), AppUser::getId, collect).list(); return R.ok(collect1); } + @GetMapping("/deleteAppUserCourse/{courseId}/{appUserId}") + void deleteAppUserCourse(@PathVariable("courseId") Long courseId,@PathVariable("appUserId") Long appUserId){ + appUserCourseService.remove(new LambdaQueryWrapper<AppUserCourse>() + .eq(AppUserCourse::getCourseId,courseId) + .eq(AppUserCourse::getAppUserId,appUserId)); + } + @Autowired + private TokenService tokenService; + /** + * 远程调用 查询当前登录用户已购买课程 + * + * @return 用户信息 + * @see AppUserVO + */ + @GetMapping("/getPayCourse/{pageCurr}/{pageSize}/{id}") + public R<PageDTO<AppUserCourse>> getPayCourse(@PathVariable("pageCurr")Integer pageCurr + ,@PathVariable("pageSize")Integer pageSize,@PathVariable("id")String id) { + Page<AppUserCourse> page = appUserCourseService.lambdaQuery() + .eq(AppUserCourse::getAppUserId, id) + .orderByDesc(AppUserCourse::getCreateTime) + .page(new Page<>(pageCurr, pageSize)); + if (CollUtils.isEmpty(page.getRecords())) { + PageDTO<AppUserCourse> empty = PageDTO.empty(page); + return R.ok(empty); + } + PageDTO<AppUserCourse> courseChapterPageDTO = PageDTO.of(page, AppUserCourse.class); + return R.ok(courseChapterPageDTO); + } + + } -- Gitblit v1.7.1