无关风月
2024-09-14 3f481005be717250a2ea87ff9367aa84d6a3eb13
xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserCourseController.java
@@ -1,13 +1,18 @@
package com.xinquan.user.controller.client;
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.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.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.annotations.ApiOperation;
import io.swagger.models.auth.In;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -34,17 +39,38 @@
     * 远程调用 根据课程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());
        // 批量查询用户头像
        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);
    }
    /**
     * 远程调用 查询当前登录用户已购买课程
     *
     * @return 用户信息
     * @see AppUserVO
     */
    @GetMapping("/getPayCourse/{pageCurr}/{pageSize}")
    public R<PageDTO<AppUserCourse>> getPayCourse(@PathVariable("pageCurr")Integer pageCurr
            ,@PathVariable("pageSize")Integer pageSize) {
        Page<AppUserCourse> page = appUserCourseService.lambdaQuery()
                .eq(AppUserCourse::getCourseId, SecurityUtils.getUserId())
                .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);
    }
}