소스 검색

Merge remote-tracking branch 'origin/dev' into dev

honorfire 7 달 전
부모
커밋
a6b0a4d670

+ 14 - 1
snowy-plugin/snowy-plugin-forum/snowy-plugin-forum-func/src/main/java/vip/xiaonuo/forum/modular/postinfo/controller/ForumPostInfoController.java

@@ -55,7 +55,7 @@ public class ForumPostInfoController {
     private ForumPostInfoService forumPostInfoService;
 
     /**
-     * 获取帖子信息表分页
+     * 前台获取帖子信息表分页
      *
      * @author 金吉龙
      * @date  2025/07/16 08:46
@@ -67,6 +67,19 @@ public class ForumPostInfoController {
         return CommonResult.data(forumPostInfoService.page(forumPostInfoPageParam));
     }
 
+    /**
+     * 后台获取帖子信息表分页
+     *
+     * @author 金吉龙
+     * @date  2025/07/16 08:46
+     */
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("获取帖子信息表分页")
+    @GetMapping("/forum/postinfo/adminPage")
+    public CommonResult<Page<ForumPostInfo>> adminPage(ForumPostInfoPageParam forumPostInfoPageParam) {
+        return CommonResult.data(forumPostInfoService.adminPage(forumPostInfoPageParam));
+    }
+
     /**
      * 发帖
      *

+ 2 - 0
snowy-plugin/snowy-plugin-forum/snowy-plugin-forum-func/src/main/java/vip/xiaonuo/forum/modular/postinfo/service/ForumPostInfoService.java

@@ -102,4 +102,6 @@ public interface ForumPostInfoService extends IService<ForumPostInfo> {
      * @date  2025/07/16 08:46
      */
     Page<ForumPostInfo> moreList(ForumPostInfoPageParam forumPostInfoPageParam);
+
+    Page<ForumPostInfo> adminPage(ForumPostInfoPageParam forumPostInfoPageParam);
 }

+ 67 - 0
snowy-plugin/snowy-plugin-forum/snowy-plugin-forum-func/src/main/java/vip/xiaonuo/forum/modular/postinfo/service/impl/ForumPostInfoServiceImpl.java

@@ -457,4 +457,71 @@ public class ForumPostInfoServiceImpl extends ServiceImpl<ForumPostInfoMapper, F
         return page;
     }
 
+    @Override
+    public Page<ForumPostInfo> adminPage(ForumPostInfoPageParam forumPostInfoPageParam) {
+        QueryWrapper<ForumPostInfo> queryWrapper = new QueryWrapper<>();
+        // 帖子标题
+        if (StringUtils.isNotBlank(forumPostInfoPageParam.getPostTitle())) {
+            queryWrapper.lambda().like(ForumPostInfo::getPostTitle, forumPostInfoPageParam.getPostTitle());
+        }
+        // 帖子分类
+        if (StringUtils.isNotBlank(forumPostInfoPageParam.getTypeId())) {
+            queryWrapper.lambda().eq(ForumPostInfo::getTypeId, forumPostInfoPageParam.getTypeId());
+        }
+        // 帖子类型 0普通帖子 1技术支持 2内容纠错
+        if (forumPostInfoPageParam.getPostType() != null) {
+            queryWrapper.lambda().eq(ForumPostInfo::getPostType, forumPostInfoPageParam.getPostType());
+        }
+        // 根据标识排序
+        // 排序字段 0回复 1浏览 2活动
+        if (forumPostInfoPageParam.getSortField() != null) {
+            if (forumPostInfoPageParam.getSortField() == 0) {
+                queryWrapper.lambda().orderByDesc(ForumPostInfo::getReplyCount);
+            } else if (forumPostInfoPageParam.getSortField() == 1) {
+                queryWrapper.lambda().orderByDesc(ForumPostInfo::getViewCount);
+            } else {
+                queryWrapper.lambda().orderByDesc(ForumPostInfo::getLastReplyTime);
+            }
+        }
+        // 排序方式 0最新 1热门
+        if (forumPostInfoPageParam.getSortOrder() != null) {
+            if (forumPostInfoPageParam.getSortOrder() == 0) {
+                queryWrapper.lambda().orderByDesc(ForumPostInfo::getCreateTime);
+            } else if (forumPostInfoPageParam.getSortOrder() == 1) {
+                queryWrapper.lambda().orderByDesc(ForumPostInfo::getViewCount);
+            }
+        }
+        // 置顶的优先
+        queryWrapper.lambda().orderByDesc(ForumPostInfo::getIsTop);
+        Page<ForumPostInfo> page = this.page(CommonPageRequest.defaultPage(), queryWrapper);
+        if (page.getRecords().size() > 0) {
+            for (ForumPostInfo forumPostInfo : page.getRecords()) {
+                // 关联帖子分类名称
+                ForumPostType forumPostType = forumPostTypeMapper.selectById(forumPostInfo.getTypeId());
+                if (ObjectUtil.isNotNull(forumPostType)) {
+                    forumPostInfo.setTypeName(forumPostType.getTypeName());
+                }
+                // 关联发帖用户的信息
+                JSONObject user = sysUserApi.getUserByIdWithoutException(forumPostInfo.getUserId());
+                if (user != null) {
+                    forumPostInfo.setUserNickName(user.getStr("name"));
+                    forumPostInfo.setUserAvatar(user.getStr("avatar"));
+                }
+                // 关联最后发帖用户的信息
+                JSONObject lastReplyUser = sysUserApi.getUserByIdWithoutException(forumPostInfo.getLastReplyUserId());
+                if (lastReplyUser != null) {
+                    forumPostInfo.setLastReplyUserNickName(lastReplyUser.getStr("name"));
+                    forumPostInfo.setLastReplyUserAvatar(lastReplyUser.getStr("avatar"));
+                }
+                // 校验帖子是否为自己的
+                if (forumPostInfo.getUserId().equals(StpLoginUserUtil.getLoginUser().getId())) {
+                    forumPostInfo.setIsSelf(1);
+                } else {
+                    forumPostInfo.setIsSelf(0);
+                }
+            }
+        }
+        return page;
+    }
+
 }

+ 12 - 0
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/org/controller/SysOrgController.java

@@ -60,6 +60,14 @@ public class SysOrgController {
     @Resource
     private SysUserService sysUserService;
 
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("获取组织分页")
+    @GetMapping("/sys/org/queryList")
+    public CommonResult<List<SysOrg>> queryList() {
+        return CommonResult.data(sysOrgService.queyrList());
+    }
+
+
     /**
      * 获取组织分页
      *
@@ -173,6 +181,10 @@ public class SysOrgController {
         return CommonResult.data(sysOrgService.treeAll());
     }
 
+
+
+
+
     /**
      * 获取用户选择器
      *

+ 3 - 1
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/org/enums/SysOrgCategoryEnum.java

@@ -28,7 +28,9 @@ public enum SysOrgCategoryEnum {
     COMPANY("COMPANY"),
 
     /** 部门 */
-    DEPT("DEPT");
+    DEPT("DEPT"),
+
+    COLLEGE("COLLEGE");
 
     private final String value;
 

+ 2 - 0
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/org/service/SysOrgService.java

@@ -195,5 +195,7 @@ public interface SysOrgService extends IService<SysOrg> {
      * 获取组织人员树-人员部分
      * */
     List<Map<String, Object>> getOrgUserChildList(Map param);
+
+    List<SysOrg> queyrList();
 }
 

+ 8 - 0
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java

@@ -355,6 +355,14 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
         return sysOrgMapper.getOrgUserChildList(param);
     }
 
+    @Override
+    public List<SysOrg> queyrList() {
+        LambdaQueryWrapper<SysOrg> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(SysOrg::getCategory, "COLLEGE");
+        lambdaQueryWrapper.orderByAsc(SysOrg::getSortCode);
+        return sysOrgMapper.selectList(lambdaQueryWrapper);
+    }
+
 
     /**
      * 获取组织人员树-分级请求