diff --git a/src/controller/message.controller.ts b/src/controller/message.controller.ts index 7452702..c54d398 100644 --- a/src/controller/message.controller.ts +++ b/src/controller/message.controller.ts @@ -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) + } + } \ No newline at end of file diff --git a/src/service/message.service.ts b/src/service/message.service.ts index ba62aa8..2b17d18 100644 --- a/src/service/message.service.ts +++ b/src/service/message.service.ts @@ -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, + ) { } // 获取未读消息 @@ -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 + }) + + } } \ No newline at end of file diff --git a/src/service/programGroup.service.ts b/src/service/programGroup.service.ts index 17fc5b1..c319a04 100644 --- a/src/service/programGroup.service.ts +++ b/src/service/programGroup.service.ts @@ -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)")