From 9e5d3f634b52333c076eb443a64de873c5ddceed Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 09 十一月 2024 14:39:46 +0800
Subject: [PATCH] 代码提交
---
xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserCourseController.java | 92 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 90 insertions(+), 2 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 18a5730..396189e 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,9 +1,26 @@
package com.xinquan.user.controller.client;
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xinquan.common.core.domain.R;
+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.vo.AppUserVO;
+import com.xinquan.user.service.AppUserCourseService;
+import com.xinquan.user.service.AppUserService;
+import io.swagger.models.auth.In;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
-import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* <p>
@@ -16,6 +33,77 @@
@RestController
@RequestMapping("/client/app-user-course")
public class ClientAppUserCourseController {
+ @Resource
+ 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 AppUserVO
+ */
+ @GetMapping("/getUserByCourseId/{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<AppUser> collect1 = appUserService.lambdaQuery().in(!collect.isEmpty(), AppUser::getId, collect).list();
+ return R.ok(collect1);
+ }
+ @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::getCourseId, 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