2025-09-30

消息记录一半
This commit is contained in:
2025-10-09 09:18:20 +08:00
parent 541d7842ce
commit 86e5596aed
3 changed files with 27 additions and 16 deletions

View File

@@ -20,4 +20,10 @@ export class MessageController {
return await this.messageService.read(readDto)
}
// 获取消息记录
@Get("list")
async getList(@Query() message: ProgramGroupMessageEntity) {
return await this.messageService.getList(message)
}
}

View File

@@ -1,11 +1,16 @@
import {Injectable} from "@nestjs/common";
import {ReadDto} from "../entity";
import {ProgramGroupMessageEntity, ReadDto} from "../entity";
import {RedisService} from "./redis.service";
import {ResultData} from "../const/result";
import {InjectRepository} from "@nestjs/typeorm";
import {Repository} from "typeorm";
@Injectable()
export class MessageService {
constructor(private readonly redisService: RedisService) {
constructor(
private readonly redisService: RedisService,
@InjectRepository(ProgramGroupMessageEntity) private readonly messageRepository: Repository<ProgramGroupMessageEntity>,
) {
}
// 获取未读消息
@@ -20,4 +25,18 @@ export class MessageService {
this.redisService.delValue(`${readDto.groupId}_${readDto.userId}`)
return ResultData.success()
}
async getList(message: ProgramGroupMessageEntity) {
let queryBuilder = this.messageRepository.createQueryBuilder("message")
queryBuilder.leftJoinAndMapOne("message.userInfo", "users", "user", "message.create_id = user.id")
let [item, total] = await queryBuilder.getManyAndCount()
return ResultData.success({
list: item,
total
})
}
}

View File

@@ -107,20 +107,6 @@ export class ProgramGroupService {
"group.user_id = user.id"
)
// 查询最新消息
// queryBuilder.leftJoinAndMapOne(
// "group.latest_message",
// ProgramGroupMessageEntity,
// "message",
// `
// message.group_id = group.group_id and
// group.group_id = (
// select group_id from program_group_message
// where program_group_message.group_id = group.group_id
// order by create_time desc
// limit 1
// )
// `)
queryBuilder.addSelect(subQuery => {
return subQuery
.select("max(message.create_time)")