From ee9362a2f256c0e0f4d9001ccd210e80904abcd6 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 19 May 2026 22:06:38 +0800 Subject: [PATCH] ✨ feat(im): 继续优化频道的各种代码(v3) --- yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/channel/ImChannelMaterialManagerController.java | 8 ++++++++ yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/channel/ImChannelMaterialMapper.java | 8 ++++++++ yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/channel/ImChannelMaterialService.java | 8 ++++++++ yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/channel/ImChannelMaterialServiceImpl.java | 5 +++++ 4 files changed, 29 insertions(+), 0 deletions(-) diff --git a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/channel/ImChannelMaterialManagerController.java b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/channel/ImChannelMaterialManagerController.java index 0b95265..e6e0271 100644 --- a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/channel/ImChannelMaterialManagerController.java +++ b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/channel/ImChannelMaterialManagerController.java @@ -88,4 +88,12 @@ public class ImChannelMaterialManagerController { return success(BeanUtils.toBean(material, ImChannelMaterialRespVO.class)); } + @GetMapping("/simple-list") + @Operation(summary = "获得指定频道下的素材精简列表;用于推送弹窗的素材下拉") + @Parameter(name = "channelId", description = "频道编号", required = true, example = "1") + public CommonResult> getSimpleMaterialList(@RequestParam("channelId") Long channelId) { + List list = channelMaterialService.getMaterialListByChannelId(channelId); + return success(BeanUtils.toBean(list, ImChannelMaterialRespVO.class)); + } + } diff --git a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/channel/ImChannelMaterialMapper.java b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/channel/ImChannelMaterialMapper.java index e7c2922..421bae8 100644 --- a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/channel/ImChannelMaterialMapper.java +++ b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/channel/ImChannelMaterialMapper.java @@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.im.controller.admin.manager.channel.vo.material.I import cn.iocoder.yudao.module.im.dal.dataobject.channel.ImChannelMaterialDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * IM 频道素材 Mapper * @@ -19,6 +21,12 @@ public interface ImChannelMaterialMapper extends BaseMapperX selectListByChannelId(Long channelId) { + return selectList(new LambdaQueryWrapperX() + .eq(ImChannelMaterialDO::getChannelId, channelId) + .orderByDesc(ImChannelMaterialDO::getId)); + } + default PageResult selectPage(ImChannelMaterialPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(ImChannelMaterialDO::getChannelId, reqVO.getChannelId()) diff --git a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/channel/ImChannelMaterialService.java b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/channel/ImChannelMaterialService.java index 51ade59..44fc204 100644 --- a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/channel/ImChannelMaterialService.java +++ b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/channel/ImChannelMaterialService.java @@ -58,6 +58,14 @@ public interface ImChannelMaterialService { // ==================== 管理后台 ==================== /** + * 按频道查询素材精简列表 + * + * @param channelId 频道编号 + * @return 素材列表 + */ + List getMaterialListByChannelId(Long channelId); + + /** * 分页查询素材 * * @param reqVO 分页查询条件 diff --git a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/channel/ImChannelMaterialServiceImpl.java b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/channel/ImChannelMaterialServiceImpl.java index 17a1c47..ec1d8c3 100644 --- a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/channel/ImChannelMaterialServiceImpl.java +++ b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/channel/ImChannelMaterialServiceImpl.java @@ -63,6 +63,11 @@ public class ImChannelMaterialServiceImpl implements ImChannelMaterialService { // ==================== 管理后台 ==================== @Override + public List getMaterialListByChannelId(Long channelId) { + return channelMaterialMapper.selectListByChannelId(channelId); + } + + @Override public PageResult getMaterialPage(ImChannelMaterialPageReqVO reqVO) { return channelMaterialMapper.selectPage(reqVO); } -- libgit2 0.21.4