2025-09-30

消息记录查询
This commit is contained in:
2025-10-09 15:15:09 +08:00
parent 86e5596aed
commit d9bbd0d922
5 changed files with 74 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
import {Injectable} from "@nestjs/common";
import {ProgramGroupMessageEntity, ReadDto} from "../entity";
import {ProgramGroupMessageEntity, ReadDto, UsersEntity} from "../entity";
import {RedisService} from "./redis.service";
import {ResultData} from "../const/result";
import {InjectRepository} from "@nestjs/typeorm";
@@ -27,16 +27,39 @@ export class MessageService {
}
async getList(message: ProgramGroupMessageEntity) {
let queryBuilder = this.messageRepository.createQueryBuilder("message")
try {
message.page = message.page || 1;
message.size = message.size || 10;
const offset = (message.page - 1) * message.size;
queryBuilder.leftJoinAndMapOne("message.userInfo", "users", "user", "message.create_id = user.id")
let queryBuilder = this.messageRepository.createQueryBuilder("message")
let [item, total] = await queryBuilder.getManyAndCount()
queryBuilder.leftJoinAndMapOne(
"message.userInfo",
UsersEntity,
"user",
"message.create_id = user.id"
).where("message.group_id = :groupId", {groupId: message.groupId})
return ResultData.success({
list: item,
total
})
queryBuilder
.orderBy('message.createTime', 'DESC')
.take(message.size || 10)
.skip(offset || 0);
let [items, total] = await queryBuilder.getManyAndCount()
let data = {
list: items,
total,
page: message.page || 1,
size: message.size || 10,
pages: Math.ceil(total / (message.size || 10))
}
return ResultData.success(data);
} catch (err) {
return ResultData.fail(500, err.message)
}
}
}