|
@@ -275,16 +275,56 @@ public class CommunityArticleController extends BaseController {
|
|
|
@ApiOperation("获取文章分类列表")
|
|
|
//@Anonymous
|
|
|
public AjaxResult getClassList() {
|
|
|
+
|
|
|
List<CommunityClass> communityClasses = null;
|
|
|
+ //获取用户信息
|
|
|
+ CommunityUserInfoVo communityUserInfoVo = null;
|
|
|
try {
|
|
|
- communityClasses = communityClassMapper.selectList(new QueryWrapper<CommunityClass>().orderByAsc("sort"));
|
|
|
+ Long userId = SecurityUtils.getLoginUser().getUserId();
|
|
|
+ String classId = communityArticleService.selectCommunityUserInfoById(userId, true).getClassId();
|
|
|
+
|
|
|
+ if (classId.length() != 0 ){
|
|
|
+ List<Long> sortOrder = Arrays.stream(classId.split(","))
|
|
|
+ .map(String::trim)
|
|
|
+ .map(Long::parseLong)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 假设 allCommunityClasses 是从数据库查询出来的结果
|
|
|
+ List<CommunityClass> allCommunityClasses = communityClassMapper.selectList(new QueryWrapper<CommunityClass>().orderByAsc("sort"));
|
|
|
+
|
|
|
+ // 将 allCommunityClasses 按照 sortOrder 分组并排序
|
|
|
+
|
|
|
+ Map<Long, CommunityClass> classMap = allCommunityClasses.stream().collect(Collectors.toMap(CommunityClass::getId, c -> c));
|
|
|
+
|
|
|
+ List<CommunityClass> sortedCommunityClasses = new ArrayList<>();
|
|
|
+ // 按 sortOrder 先添加在列表中的元素
|
|
|
+ for (Long order : sortOrder) {
|
|
|
+ System.out.println(order);
|
|
|
+ if (classMap.containsKey(order)) {
|
|
|
+ sortedCommunityClasses.add(classMap.get(order));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 保持原有顺序添加不在 sortOrder 中的元素
|
|
|
+ List<CommunityClass> remainingClasses = allCommunityClasses.stream()
|
|
|
+ .filter(c -> !sortOrder.contains(c.getId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ sortedCommunityClasses.addAll(remainingClasses);
|
|
|
+ return AjaxResult.success(sortedCommunityClasses);
|
|
|
+ }else {
|
|
|
+ communityClasses = communityClassMapper.selectList(new QueryWrapper<CommunityClass>().orderByAsc("sort"));
|
|
|
+
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
+ //e.printStackTrace();
|
|
|
System.out.println(e.getMessage());
|
|
|
throw new ProjectException();
|
|
|
}
|
|
|
return AjaxResult.success(communityClasses);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
@GetMapping("/circleList")
|
|
|
@ApiOperation("获取文章圈子列表")
|
|
|
//@Anonymous
|