2025-09-30
消息记录一半
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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)")
|
||||
|
||||
Reference in New Issue
Block a user