这是DAO层的实现类
public Page<MessageDto> getSysPage(Integer levelId, Pageable pageable) {
QSysMessage qSysMessage = QSysMessage.sysMessage;
QStoreMessage qStoreMessage = QStoreMessage.storeMessage;
BooleanBuilder boolbuild = new BooleanBuilder();
// 排除已经删除的店铺消息
boolbuild.and(qStoreMessage.status.isNull().or(qStoreMessage.status.eq(1)))
.and(qSysMessage.mesType.eq(1)
.and(qSysMessage.recTargetType.eq(3)
// 选择系统消息+店铺等级+等级ID
.and(qSysMessage.storeGroupId.eq(levelId)))
.or(qSysMessage.mesType.eq(1)
// 选择系统消息+全部
.and(qSysMessage.recTargetType.eq(1))));
JPAQuery<MessageDto> query = super.getJPAQueryFactory()
.select(
Projections.bean(
MessageDto.class,
qSysMessage.id.as("messageId"),
qStoreMessage.id.as("storeMessageId"),
qSysMessage.title.as("title"),
qSysMessage.content.as("content"),
qSysMessage.createTime.as("createTime"),
qStoreMessage.status.as("status")))
.from(qSysMessage)
.leftJoin(qStoreMessage)
.on(qSysMessage.id.eq(qStoreMessage.messageId))
.where(boolbuild)
.orderBy(qSysMessage.createTime.desc());
return QuerydslUtils.page(query, pageable, null);
}
这是自定义的对象
@Entity
public class MessageDto {
/** 消息id */
private Integer messageId ;
/** 标题 **/
private String title ;
/** 内容 */
private String content ;
/** 状态(0为未读,1为已读) */
private Integer status ;
/**店铺ID**/
private Integer storeId;
/**会员ID**/
private Integer memberId;
/**店铺消息ID**/
private Integer storeMessageId;
/**会员消息ID**/
private Integer memberMessageId;
/**创建时间**/
private Date createTime;
public MessageDto(){
};
@Id
public Integer getMessageId() {
return messageId;
}
public void setMessageId(Integer messageId) {
this.messageId = messageId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Integer getStatus() {
if (status==null) {
this.status = 0;
}
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Integer getStoreId() {
return storeId;
}
public void setStoreId(Integer storeId) {
this.storeId = storeId;
}
public Integer getStoreMessageId() {
return storeMessageId;
}
public void setStoreMessageId(Integer storeMessageId) {
this.storeMessageId = storeMessageId;
}
public Integer getMemberId() {
return memberId;
}
public void setMemberId(Integer memberId) {
this.memberId = memberId;
}
public Integer getMemberMessageId() {
return memberMessageId;
}
public void setMemberMessageId(Integer memberMessageId) {
this.memberMessageId = memberMessageId;
}
@Override
public String toString() {
return "MessageDto [messageId=" + messageId + ", title=" + title + ", content=" + content + ", status=" + status
+ ", storeId=" + storeId + ", memberId=" + memberId + ", storeMessageId=" + storeMessageId
+ ", memberMessageId=" + memberMessageId + ", createTime=" + createTime + "]";
}
}
记录一下,以防忘记