From 33e0ab816e902bf240ee3041e90eceefa7388909 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Wed, 28 Jan 2026 14:14:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E7=9B=B8=E5=85=B3=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=88=86=E9=A1=B5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/dynamic/DynamicRestController.java | 16 +++------- .../dynamic/query/DynamicFollowQryExe.java | 32 ++++++++----------- .../dynamic/query/DynamicLatestQryExe.java | 29 +++++++++-------- .../dynamic/query/DynamicMessageQryExe.java | 26 ++++++++------- .../dynamic/query/DynamicPopularQryExe.java | 14 +++++--- .../service/dynamic/DynamicServiceImpl.java | 6 ++-- .../app/dto/cmd/dynamic/DynamicLimitCmd.java | 9 ++---- .../app/service/dynamic/DynamicService.java | 6 ++-- .../dynamic/DynamicContentService.java | 4 +-- .../dynamic/DynamicMessageService.java | 4 ++- .../dynamic/DynamicTimelineService.java | 15 +++++++-- .../impl/DynamicContentServiceImpl.java | 12 ++----- .../impl/DynamicMessageServiceImpl.java | 11 +++---- .../impl/DynamicTimelineServiceImpl.java | 29 ++++++++--------- 14 files changed, 102 insertions(+), 111 deletions(-) diff --git a/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/dynamic/DynamicRestController.java b/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/dynamic/DynamicRestController.java index f6598fbd..65fb915c 100644 --- a/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/dynamic/DynamicRestController.java +++ b/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/dynamic/DynamicRestController.java @@ -34,15 +34,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** - *

- * 动态 前端控制器. - *

- * - * @author pengshigang - * @eo.api-type http - * @eo.groupName 动态服务 - * @eo.path /dynamic - * @since 2022-04-14 + * 动态相关接口 */ @Slf4j @RestController @@ -114,7 +106,7 @@ public class DynamicRestController extends BaseController { * @eo.request-type formdata */ @GetMapping("/list/follow") - public List listDynamicFollow(@Validated DynamicLimitCmd cmd) { + public PageResult listDynamicFollow(@Validated DynamicLimitCmd cmd) { return dynamicService.listDynamicFollow(cmd); } @@ -140,7 +132,7 @@ public class DynamicRestController extends BaseController { * @eo.request-type formdata */ @GetMapping("/list/latest") - public List listDynamicLatest(@Validated DynamicLimitCmd cmd) { + public PageResult listDynamicLatest(@Validated DynamicLimitCmd cmd) { return dynamicService.listDynamicLatest(cmd); } @@ -248,7 +240,7 @@ public class DynamicRestController extends BaseController { * @eo.request-type formdata */ @GetMapping("/list/message") - public List listDynamicMessage(@Validated DynamicLimitCmd cmd) { + public PageResult listDynamicMessage(@Validated DynamicLimitCmd cmd) { return dynamicService.listDynamicMessage(cmd); } diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicFollowQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicFollowQryExe.java index 5ff60683..86ce77dd 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicFollowQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicFollowQryExe.java @@ -3,6 +3,7 @@ package com.red.circle.other.app.command.dynamic.query; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import com.red.circle.framework.dto.PageResult; import com.red.circle.other.app.convertor.user.UserProfileAppConvertor; import com.red.circle.other.app.dto.clientobject.dynamic.DynamicListCO; import com.red.circle.other.app.dto.cmd.dynamic.DynamicLimitCmd; @@ -58,33 +59,32 @@ public class DynamicFollowQryExe { private final UserProfileAppConvertor userProfileAppConvertor; private final UserSubscriptionService userSubscriptionService; - public List execute(DynamicLimitCmd cmd) { + public PageResult execute(DynamicLimitCmd cmd) { // 获取关注人列表 List userSubscriptions = userSubscriptionService .listByUserId(cmd.requiredReqUserId(), null, null); if (CollectionUtils.isEmpty(userSubscriptions)) { - return Lists.newArrayList(); + return PageResult.newPageResult(0); } List list = userSubscriptions.stream().map(UserSubscription::getSubscribeUserId).toList(); - List timelines = dynamicTimelineService + PageResult timelines = dynamicTimelineService .pageByTimeDesc(list, userRegionGateway.getRegionId(cmd.getReqUserId()), - cmd.getPageNumber(), Boolean.TRUE); + cmd.getPageReq(), Boolean.TRUE); -// List timelines = getPageByTimeDesc(cmd); - if (CollectionUtils.isEmpty(timelines)) { - return Lists.newArrayList(); + if (CollectionUtils.isEmpty(timelines.getRecords())) { + return PageResult.newPageResult(0); } Set contentIds = getContentIds(timelines); if (CollectionUtils.isEmpty(contentIds)) { - return Lists.newArrayList(); + return PageResult.newPageResult(0); } List contentList = dynamicContentService.listByIds(contentIds); Set userIds = getUserIds(contentList); if (CollectionUtils.isEmpty(userIds)) { - return Lists.newArrayList(); + return PageResult.newPageResult(0); } //自己是否已点赞 @@ -97,7 +97,7 @@ public class DynamicFollowQryExe { Map commentQuantityMap = dynamicCommentService.mapCommentQuantity(contentIds); Map> pictureMap = dynamicPictureService.mapPreviewGroup(contentIds); - return timelines.stream().map(timeline -> { + return timelines.convert(timeline -> { DynamicContent dynamic = contentMap.get(timeline.getDynamicContentId()); if (Objects.isNull(dynamic) || dynamic.getDel()) { @@ -124,16 +124,10 @@ public class DynamicFollowQryExe { result.setCommentStrQuantity(NumUtils.formatInt(commentQuantityMap.get(dynamic.getId()))); return result; - }).filter(Objects::nonNull).toList(); + }); } - private List getPageByTimeDesc(DynamicLimitCmd cmd) { - return dynamicTimelineService - .pageByTimeDesc(userRegionGateway.getRegionId(cmd.getReqUserId()), - cmd.getPageNumber(), cmd.getReqUserId(), Boolean.FALSE); - } - private Map getLikeMap(DynamicLimitCmd cmd, Set contentIds) { return dynamicLikeService .mapByContentIdsByUserId(contentIds, cmd.getReqUserId()); @@ -175,8 +169,8 @@ public class DynamicFollowQryExe { .collect(Collectors.toSet()); } - private Set getContentIds(List dynamics) { - return dynamics.stream().map(DynamicTimeline::getDynamicContentId).collect(Collectors.toSet()); + private Set getContentIds(PageResult dynamics) { + return dynamics.getRecords().stream().map(DynamicTimeline::getDynamicContentId).collect(Collectors.toSet()); } private Map mapDynamicContent(List contents) { diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicLatestQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicLatestQryExe.java index 6cd6d66c..657ccade 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicLatestQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicLatestQryExe.java @@ -1,6 +1,7 @@ package com.red.circle.other.app.command.dynamic.query; import com.google.common.collect.Lists; +import com.red.circle.framework.dto.PageResult; import com.red.circle.other.app.convertor.user.UserProfileAppConvertor; import com.red.circle.other.app.dto.clientobject.dynamic.DynamicListCO; import com.red.circle.other.app.dto.cmd.dynamic.DynamicLimitCmd; @@ -51,20 +52,20 @@ public class DynamicLatestQryExe { private final UserSubscriptionService userSubscriptionService; private final UserProfileAppConvertor userProfileAppConvertor; - public List execute(DynamicLimitCmd cmd) { + public PageResult execute(DynamicLimitCmd cmd) { - List dynamics = dynamicContentService - .pageByTimeDesc(cmd.getPageNumber(), userRegionGateway.getRegionId(cmd.getReqUserId()), + PageResult dynamics = dynamicContentService + .pageByTimeDesc(cmd.getPageReq(), userRegionGateway.getRegionId(cmd.getReqUserId()), cmd.requireReqSysOrigin()); - if (CollectionUtils.isEmpty(dynamics)) { - return Lists.newArrayList(); + if (CollectionUtils.isEmpty(dynamics.getRecords())) { + return PageResult.newPageResult(0); } Set ids = getIds(dynamics); Set userIds = getUserIds(dynamics); if (CollectionUtils.isEmpty(ids) || CollectionUtils.isEmpty(userIds)) { - return Lists.newArrayList(); + return PageResult.newPageResult(0); } //自己是否已点赞 @@ -77,7 +78,7 @@ public class DynamicLatestQryExe { Map commentQuantityMap = dynamicCommentService.mapCommentQuantity(ids); Map> pictureMap = dynamicPictureService.mapPreviewGroup(ids); - return dynamics.stream().map(dynamic -> { + return dynamics.convert(dynamic -> { DynamicListCO result = new DynamicListCO(); UserProfileDTO userProfile = userProfileMap.get(dynamic.getCreateUser()); @@ -91,7 +92,7 @@ public class DynamicLatestQryExe { result.setCommentStrQuantity(NumUtils.formatInt(commentQuantityMap.get(dynamic.getId()))); return result; - }).collect(Collectors.toList()); + }); } @@ -134,17 +135,17 @@ public class DynamicLatestQryExe { } } - private Set getTagIds(List dynamics) { - return dynamics.stream().map(DynamicContent::getTagId).collect(Collectors.toSet()); + private Set getTagIds(PageResult dynamics) { + return dynamics.getRecords().stream().map(DynamicContent::getTagId).collect(Collectors.toSet()); } - private Set getUserIds(List dynamics) { - return dynamics.stream().map(DynamicContent::getCreateUser) + private Set getUserIds(PageResult dynamics) { + return dynamics.getRecords().stream().map(DynamicContent::getCreateUser) .collect(Collectors.toSet()); } - private Set getIds(List dynamics) { - return dynamics.stream().map(DynamicContent::getId).collect(Collectors.toSet()); + private Set getIds(PageResult dynamics) { + return dynamics.getRecords().stream().map(DynamicContent::getId).collect(Collectors.toSet()); } } diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicMessageQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicMessageQryExe.java index 173ea15e..cf8eda17 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicMessageQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicMessageQryExe.java @@ -2,6 +2,7 @@ package com.red.circle.other.app.command.dynamic.query; import com.google.common.collect.Lists; import com.red.circle.common.business.enums.DynamicMessageEnum; +import com.red.circle.framework.dto.PageResult; import com.red.circle.other.app.dto.clientobject.dynamic.DynamicMessageListCO; import com.red.circle.other.app.dto.cmd.dynamic.DynamicLimitCmd; import com.red.circle.other.domain.gateway.user.UserProfileGateway; @@ -35,16 +36,17 @@ public class DynamicMessageQryExe { private final DynamicContentService dynamicContentService; private final DynamicMessageService dynamicMessageService; - public List execute(DynamicLimitCmd cmd) { + public PageResult execute(DynamicLimitCmd cmd) { - List messages = getMessages(cmd); - if (CollectionUtils.isEmpty(messages)) { - return Lists.newArrayList(); + PageResult messages = getMessages(cmd); + if (CollectionUtils.isEmpty(messages.getRecords())) { + return PageResult.newPageResult(0); } + Map userMap = userProfileGateway.mapByUserIds(getUserIds(messages)); Map contentMap = getContentMap(messages); - return messages.stream().map(message -> { + return messages.convert(message -> { DynamicContent dynamicContent = contentMap.get(message.getDynamicContentId()); if (Objects.isNull(dynamicContent)) { @@ -72,23 +74,23 @@ public class DynamicMessageQryExe { messageCO.setUserNickname(user.getUserNickname()); return messageCO; - }).filter(Objects::nonNull).toList(); + }); } - private Map getContentMap(List messages) { + private Map getContentMap(PageResult messages) { return dynamicContentService - .mapByIds(messages.stream().map(DynamicMessage::getDynamicContentId).collect( + .mapByIds(messages.getRecords().stream().map(DynamicMessage::getDynamicContentId).collect( Collectors.toSet())); } - private List getMessages(DynamicLimitCmd cmd) { - return dynamicMessageService.pageByTimeDesc(cmd.getPageNumber(), cmd.getReqUserId()); + private PageResult getMessages(DynamicLimitCmd cmd) { + return dynamicMessageService.pageByTimeDesc(cmd.getPageReq(), cmd.getReqUserId()); } - private Set getUserIds(List messages) { + private Set getUserIds(PageResult messages) { - return messages.stream().map(DynamicMessage::getCreateUser) + return messages.getRecords().stream().map(DynamicMessage::getCreateUser) .filter(Objects::nonNull).collect(Collectors.toSet()); } diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicPopularQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicPopularQryExe.java index 492834bf..9b88c531 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicPopularQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicPopularQryExe.java @@ -4,6 +4,8 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.red.circle.common.business.core.enums.SysOriginPlatformEnum; +import com.red.circle.common.business.dto.PageReq; +import com.red.circle.framework.dto.PageResult; import com.red.circle.other.app.convertor.user.UserProfileAppConvertor; import com.red.circle.other.app.dto.clientobject.dynamic.DynamicListCO; import com.red.circle.other.app.dto.clientobject.dynamic.DynamicPictureCO; @@ -60,12 +62,13 @@ public class DynamicPopularQryExe { private final UserProfileAppConvertor userProfileAppConvertor; public List execute(DynamicLimitCmd cmd) { + PageReq pageReq = cmd.getPageReq(); //热门动态 List populars = getPopulars(cmd); //大于第一页没数据则返回 - if (CollectionUtils.isEmpty(populars) && cmd.getPageNumber() > 1) { + if (CollectionUtils.isEmpty(populars) && pageReq.getCursor() > 1) { return Lists.newArrayList(); } @@ -78,7 +81,7 @@ public class DynamicPopularQryExe { List resultList = Lists.newArrayList(); //置顶动态,如果当前页码非第一页则无视置顶动态 - if (cmd.getPageNumber() <= 1) { + if (pageReq.getCursor() <= 1) { resultList.addAll(getHotDynamic(topDynamicIds)); } //处理热门动态列表 @@ -157,9 +160,9 @@ public class DynamicPopularQryExe { } private List getTmpContentList(DynamicLimitCmd cmd) { - return dynamicContentService.pageByTimeDesc(1, + return dynamicContentService.pageByTimeDesc(cmd.getPageReq(), userRegionGateway.getRegionId(cmd.getReqUserId()), - cmd.requireReqSysOrigin()); + cmd.requireReqSysOrigin()).getRecords().stream().toList(); } private List getHotDynamic(List contentIds) { @@ -198,8 +201,9 @@ public class DynamicPopularQryExe { } private List getPopulars(DynamicLimitCmd cmd) { + PageReq pageReq = cmd.getPageReq(); return dynamicPopularService - .pageDynamic(cmd.getReqSysOrigin().getOrigin(), cmd.getPageNumber(), 20, + .pageDynamic(cmd.getReqSysOrigin().getOrigin(), pageReq.getCursor(), pageReq.getLimit(), userRegionGateway.getRegionId(cmd.getReqUserId())); } diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/dynamic/DynamicServiceImpl.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/dynamic/DynamicServiceImpl.java index 07521338..e11c0c15 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/dynamic/DynamicServiceImpl.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/dynamic/DynamicServiceImpl.java @@ -97,7 +97,7 @@ public class DynamicServiceImpl implements DynamicService { } @Override - public List listDynamicFollow(DynamicLimitCmd cmd) { + public PageResult listDynamicFollow(DynamicLimitCmd cmd) { return dynamicFollowQryExe.execute(cmd); } @@ -107,7 +107,7 @@ public class DynamicServiceImpl implements DynamicService { } @Override - public List listDynamicLatest(DynamicLimitCmd cmd) { + public PageResult listDynamicLatest(DynamicLimitCmd cmd) { return dynamicLatestQryExe.execute(cmd); } @@ -147,7 +147,7 @@ public class DynamicServiceImpl implements DynamicService { } @Override - public List listDynamicMessage(DynamicLimitCmd cmd) { + public PageResult listDynamicMessage(DynamicLimitCmd cmd) { return dynamicMessageQryExe.execute(cmd); } diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/dynamic/DynamicLimitCmd.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/dynamic/DynamicLimitCmd.java index bb79c203..ba54b3d3 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/dynamic/DynamicLimitCmd.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/dynamic/DynamicLimitCmd.java @@ -1,7 +1,7 @@ package com.red.circle.other.app.dto.cmd.dynamic; +import com.red.circle.common.business.dto.PageReq; import com.red.circle.common.business.dto.cmd.AppExtCommand; -import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,11 +16,8 @@ import lombok.EqualsAndHashCode; public class DynamicLimitCmd extends AppExtCommand { /** - * 页码. - * - * @eo.required + * 分页参数. */ - @NotNull(message = "pageNumber required.") - private Integer pageNumber; + private PageReq pageReq; } diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/dynamic/DynamicService.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/dynamic/DynamicService.java index 4fc6bd9e..c421373d 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/dynamic/DynamicService.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/dynamic/DynamicService.java @@ -54,7 +54,7 @@ public interface DynamicService { /** * 动态关注列表. */ - List listDynamicFollow(DynamicLimitCmd cmd); + PageResult listDynamicFollow(DynamicLimitCmd cmd); /** * 我的动态列表. @@ -64,7 +64,7 @@ public interface DynamicService { /** * 最新动态列表. */ - List listDynamicLatest(DynamicLimitCmd cmd); + PageResult listDynamicLatest(DynamicLimitCmd cmd); /** * 热门动态列表. @@ -110,7 +110,7 @@ public interface DynamicService { /** * 我的消息列表. */ - List listDynamicMessage(DynamicLimitCmd cmd); + PageResult listDynamicMessage(DynamicLimitCmd cmd); /** * 删除自己全部消息. diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicContentService.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicContentService.java index c8c4699c..662400a0 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicContentService.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicContentService.java @@ -33,10 +33,8 @@ public interface DynamicContentService extends BaseService { /** * 获得分页数据 - * - * @param pageNumber 第几页 */ - List pageByTimeDesc(Integer pageNumber, String region, String sysOrigin); + PageResult pageByTimeDesc(PageQuery pageQuery, String region, String sysOrigin); /** * 获得分页数据 diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicMessageService.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicMessageService.java index ec5aa0b3..f7d9db2e 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicMessageService.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicMessageService.java @@ -2,6 +2,8 @@ package com.red.circle.other.infra.database.rds.service.dynamic; import com.red.circle.common.business.enums.DynamicMessageEnum; +import com.red.circle.framework.dto.PageQuery; +import com.red.circle.framework.dto.PageResult; import com.red.circle.framework.mybatis.service.BaseService; import com.red.circle.other.infra.database.rds.entity.dynamic.DynamicMessage; import java.util.Collection; @@ -44,7 +46,7 @@ public interface DynamicMessageService extends BaseService { * @param pageNumber 第几页 * @param toUserId 被评价人或点赞ID */ - List pageByTimeDesc(Integer pageNumber, Long toUserId); + PageResult pageByTimeDesc(PageQuery pageQuery, Long toUserId); /** * 我的消息列表统计 diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicTimelineService.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicTimelineService.java index 313707f4..f2e94ed6 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicTimelineService.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicTimelineService.java @@ -1,6 +1,8 @@ package com.red.circle.other.infra.database.rds.service.dynamic; +import com.red.circle.framework.dto.PageQuery; +import com.red.circle.framework.dto.PageResult; import com.red.circle.framework.mybatis.service.BaseService; import com.red.circle.other.infra.database.rds.entity.dynamic.DynamicTimeline; import java.util.List; @@ -35,8 +37,17 @@ public interface DynamicTimelineService extends BaseService { */ List pageByTimeDesc(String region, Integer pageNumber, Long createUser, Boolean isOwn); - List pageByTimeDesc(List ids, String region, Integer pageNumber, - Boolean isOwn); + + /** + * 获得分页数据 (使用PageQuery) + * + * @param ids 用户id列表 + * @param region 地区 + * @param pageQuery 分页参数 + * @param isOwn 是否为自己发布的动态 + */ + PageResult pageByTimeDesc(List ids, String region, PageQuery pageQuery, + Boolean isOwn); /** * 获得自己发布过的动态 diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicContentServiceImpl.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicContentServiceImpl.java index b9559693..2496fa5b 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicContentServiceImpl.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicContentServiceImpl.java @@ -57,20 +57,14 @@ public class DynamicContentServiceImpl extends } @Override - public List pageByTimeDesc(Integer pageNumber, String region, String sysOrigin) { + public PageResult pageByTimeDesc(PageQuery pageQuery, String region, String sysOrigin) { - if (Objects.isNull(pageNumber) || pageNumber < 1) { - pageNumber = 1; - } - - return Optional.ofNullable(query() + return query() .eq(DynamicContent::getDel, Boolean.FALSE) .eq(DynamicContent::getSysOrigin, sysOrigin) .eq(DynamicContent::getRegion, region) .orderByDesc(DynamicContent::getCreateTime) - .last(getPageSql(pageNumber)) - .list()) - .orElse(Lists.newArrayList()); + .page(pageQuery); } @Override diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicMessageServiceImpl.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicMessageServiceImpl.java index 4d1d89b4..29103f58 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicMessageServiceImpl.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicMessageServiceImpl.java @@ -1,6 +1,8 @@ package com.red.circle.other.infra.database.rds.service.dynamic.impl; import com.red.circle.common.business.enums.DynamicMessageEnum; +import com.red.circle.framework.dto.PageQuery; +import com.red.circle.framework.dto.PageResult; import com.red.circle.framework.mybatis.constant.PageConstant; import com.red.circle.framework.mybatis.service.impl.BaseServiceImpl; import com.red.circle.other.infra.database.rds.dao.dynamic.DynamicMessageDAO; @@ -91,18 +93,13 @@ public class DynamicMessageServiceImpl extends } @Override - public List pageByTimeDesc(Integer pageNumber, Long toUserId) { - - if (Objects.isNull(pageNumber) || pageNumber < 1) { - pageNumber = 1; - } + public PageResult pageByTimeDesc(PageQuery pageQuery, Long toUserId) { return query() .eq(DynamicMessage::getToUserId, toUserId) .eq(DynamicMessage::getDel, Boolean.FALSE) .orderByDesc(DynamicMessage::getCreateTime) - .last(getPageSql(pageNumber)) - .list(); + .page(pageQuery); } @Override diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicTimelineServiceImpl.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicTimelineServiceImpl.java index 17f80ae0..e9765e19 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicTimelineServiceImpl.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicTimelineServiceImpl.java @@ -1,6 +1,8 @@ package com.red.circle.other.infra.database.rds.service.dynamic.impl; import com.google.common.collect.Lists; +import com.red.circle.framework.dto.PageQuery; +import com.red.circle.framework.dto.PageResult; import com.red.circle.framework.mybatis.constant.PageConstant; import com.red.circle.framework.mybatis.service.impl.BaseServiceImpl; import com.red.circle.other.infra.database.rds.dao.dynamic.DynamicTimelineDAO; @@ -64,29 +66,26 @@ public class DynamicTimelineServiceImpl extends .orderByDesc(DynamicTimeline::getCreateTime) .last(getPageSql(pageNumber)) .list(); - } @Override - public List pageByTimeDesc(List ids, String region, Integer pageNumber, - Boolean isOwn) { - - if (Objects.isNull(pageNumber) || pageNumber < 1) { - pageNumber = 1; - } - - return query() - .in(DynamicTimeline::getCreateUser, ids) - .eq(DynamicTimeline::getOwn, isOwn) - .in(DynamicTimeline::getRegion, region, "") - .orderByDesc(DynamicTimeline::getCreateTime) - .last(getPageSql(pageNumber)) - .list(); } + private String getPageSql(Integer pageNumber) { return String.format("LIMIT %s, %s", (pageNumber - 1) * PageConstant.DEFAULT_LIMIT_SIZE, PageConstant.DEFAULT_LIMIT_SIZE); } + @Override + public PageResult pageByTimeDesc(List ids, String region, PageQuery pageQuery, + Boolean isOwn) { + return query() + .in(DynamicTimeline::getCreateUser, ids) + .eq(DynamicTimeline::getOwn, isOwn) + .in(DynamicTimeline::getRegion, region, "") + .orderByDesc(DynamicTimeline::getCreateTime) + .page(pageQuery); + } + @Override public List ownListByUserId(Long userId) {