|
|
@@ -90,6 +90,25 @@ public class CourseController extends AppBaseController{
|
|
|
{
|
|
|
PageHelper.startPage(param.getPageNum(), param.getPageSize());
|
|
|
List<FsUserCourseListUVO> list= courseService.selectFsUserCourseListUVO(param);
|
|
|
+ // 分页后批量补充分类名称,避免主表JOIN影响查询性能
|
|
|
+ if (list != null && !list.isEmpty()) {
|
|
|
+ Set<Long> cateIds = new HashSet<>();
|
|
|
+ for (FsUserCourseListUVO vo : list) {
|
|
|
+ if (vo.getCateId() != null) cateIds.add(vo.getCateId());
|
|
|
+ if (vo.getSubCateId() != null) cateIds.add(vo.getSubCateId());
|
|
|
+ }
|
|
|
+ Map<Long, String> cateNameMap = new HashMap<>();
|
|
|
+ for (Long cateId : cateIds) {
|
|
|
+ FsUserCourseCategory category = courseCategoryService.selectFsUserCourseCategoryByCateId(cateId);
|
|
|
+ if (category != null) {
|
|
|
+ cateNameMap.put(cateId, category.getCateName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (FsUserCourseListUVO vo : list) {
|
|
|
+ if (vo.getCateId() != null) vo.setCateName(cateNameMap.get(vo.getCateId()));
|
|
|
+ if (vo.getSubCateId() != null) vo.setSubCateName(cateNameMap.get(vo.getSubCateId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
PageInfo<FsUserCourseListUVO> listPageInfo=new PageInfo<>(list);
|
|
|
return R.ok().put("data",listPageInfo);
|
|
|
}
|