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