feat(mp): 公众号消息新增用户ID筛选功能

- 在 MpMessagePageReqVO 中添加 userId 字段,用于筛选公众号粉丝UserId
- 在 MpMessageMapper 中添加对 userId 的查询条件
-优化代码结构,调整导入顺序和位置
pull/200/head
wuKong 2025-07-28 11:47:34 +08:00
parent 95f1410db3
commit 79d52fc865
2 changed files with 17 additions and 8 deletions

View File

@ -1,16 +1,18 @@
package cn.iocoder.yudao.module.mp.controller.admin.message.vo.message;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import java.io.Serial;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 公众号消息分页 Request VO")
@Data
@ -18,6 +20,8 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
@ToString(callSuper = true)
public class MpMessagePageReqVO extends PageParam {
@Serial
private static final long serialVersionUID = 7612750541824743033L;
@Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
@NotNull(message = "公众号账号的编号不能为空")
private Long accountId;
@ -28,6 +32,9 @@ public class MpMessagePageReqVO extends PageParam {
@Schema(description = "公众号粉丝标识", example = "o6_bmjrPTlm6_2sgVt7hMZOPfL2M")
private String openid;
@Schema(description = "公众号粉丝UserId", example = "1")
private String userId;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@Schema(description = "创建时间")
private LocalDateTime[] createTime;

View File

@ -1,20 +1,22 @@
package cn.iocoder.yudao.module.mp.dal.mysql.message;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.mp.controller.admin.message.vo.message.MpMessagePageReqVO;
import cn.iocoder.yudao.module.mp.dal.dataobject.message.MpMessageDO;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MpMessageMapper extends BaseMapperX<MpMessageDO> {
default PageResult<MpMessageDO> selectPage(MpMessagePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<MpMessageDO>()
return this.selectPage(reqVO, new LambdaQueryWrapperX<MpMessageDO>()
.eqIfPresent(MpMessageDO::getAccountId, reqVO.getAccountId())
.eqIfPresent(MpMessageDO::getType, reqVO.getType())
.eqIfPresent(MpMessageDO::getOpenid, reqVO.getOpenid())
.eqIfPresent(MpMessageDO::getUserId, reqVO.getUserId())
.betweenIfPresent(MpMessageDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(MpMessageDO::getId));
}