无关风月
2024-09-10 26249d6bda4001cbba8c276a089eb6514f4cf29a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.xinquan.user.controller.client;
 
 
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.user.service.AppUserCourseService;
import com.xinquan.user.service.AppUserService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * <p>
 * 用户课程关系表 前端控制器
 * </p>
 *
 * @author mitao
 * @since 2024-08-21
 */
@RestController
@RequestMapping("/client/app-user-course")
public class ClientAppUserCourseController {
    @Resource
    private AppUserService appUserService;
    @Resource
    private AppUserCourseService appUserCourseService;
 
    /**
     * 远程调用 根据课程id 查询拥有课程的用户
     *
     * @return 用户信息
     * @see com.xinquan.user.domain.vo.AppUserVO
     */
    @GetMapping("/getUserByCourseId/{courseId}")
    public R<List<String>> 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());
        return R.ok(collect1);
    }
 
}