feat: 🎸 课程列表增加当前用户是否已报名字段
This commit is contained in:
parent
e6d382c7cf
commit
b376d406d7
@ -195,8 +195,30 @@ public class AiolCourseController extends JeecgController<AiolCourse, IAiolCours
|
|||||||
@RequestParam(value = "categoryId", required = false) String categoryId,
|
@RequestParam(value = "categoryId", required = false) String categoryId,
|
||||||
@RequestParam(value = "difficulty", required = false) String difficulty,
|
@RequestParam(value = "difficulty", required = false) String difficulty,
|
||||||
@RequestParam(value = "subject", required = false) String topic,
|
@RequestParam(value = "subject", required = false) String topic,
|
||||||
@RequestParam(value = "sort", required = false) String sort) {
|
@RequestParam(value = "sort", required = false) String sort,
|
||||||
|
HttpServletRequest request) {
|
||||||
List<CourseWithTeacherInfo> list = aiolCourseService.getCourseList(categoryId, difficulty, topic);
|
List<CourseWithTeacherInfo> list = aiolCourseService.getCourseList(categoryId, difficulty, topic);
|
||||||
|
|
||||||
|
// 尝试获取token,判断用户是否登录
|
||||||
|
String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
|
||||||
|
if (token != null && !token.trim().isEmpty()) {
|
||||||
|
try {
|
||||||
|
String username = JwtUtil.getUsername(token);
|
||||||
|
LoginUser sysUser = sysBaseApi.getUserByName(username);
|
||||||
|
|
||||||
|
if (sysUser != null) {
|
||||||
|
// 用户已登录,查询已报名课程并标记
|
||||||
|
for (CourseWithTeacherInfo course : list) {
|
||||||
|
boolean isEnrolled = aiolCourseService.isEnrolled(course.getId(), sysUser.getId());
|
||||||
|
course.setIsEnrolled(isEnrolled);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
// token无效或解析失败,忽略错误,继续执行原有逻辑
|
||||||
|
log.debug("Token解析失败,按未登录用户处理: {}", e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (sort != null) {
|
if (sort != null) {
|
||||||
switch (sort) {
|
switch (sort) {
|
||||||
case "hottest":
|
case "hottest":
|
||||||
|
@ -13,4 +13,9 @@ import java.util.List;
|
|||||||
public class CourseWithTeacherInfo extends AiolCourse {
|
public class CourseWithTeacherInfo extends AiolCourse {
|
||||||
@Schema(description = "授课讲师列表")
|
@Schema(description = "授课讲师列表")
|
||||||
private List<TeacherInfo> teacherList;
|
private List<TeacherInfo> teacherList;
|
||||||
|
/**
|
||||||
|
* 是否已报名该课程
|
||||||
|
*/
|
||||||
|
@Schema(description = "是否已报名该课程")
|
||||||
|
private Boolean isEnrolled = false;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user