From 5e9cd1812a066ac26ab673a4a7d08b43d3d6f0fa Mon Sep 17 00:00:00 2001 From: overthestream Date: Wed, 18 Sep 2024 15:45:17 +0900 Subject: [PATCH] blurting4 --- src/domain/blurting/blurting.service.ts | 17 ++++++++++++----- src/domain/entities/blurtingQuestion.entity.ts | 4 ++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/domain/blurting/blurting.service.ts b/src/domain/blurting/blurting.service.ts index 8281d8c..13e60db 100644 --- a/src/domain/blurting/blurting.service.ts +++ b/src/domain/blurting/blurting.service.ts @@ -197,10 +197,10 @@ export class BlurtingService { if (groupQueue.includes(user.id)) { return State.Matching; } + if (user.group && (await this.checkPartOver(user.group.id))) { + return State.Arrowing; + } if (user.group && this.checkGroupOver(user.group.id)) { - if (await this.checkPartOver(user.group.id)) { - return State.Arrowing; - } return State.Blurting; } if (user.group) { @@ -349,10 +349,17 @@ export class BlurtingService { async checkPartOver(groupId: number): Promise { const question = await this.questionRepository.findLatestByGroup(groupId); + if (question.no % 3 === 0) { - return await this.checkAllAnswered(question.id); + return ( + (await this.checkAllAnswered(question.id)) || + question.createdAt.getTime() - new Date().getTime() > 60 * 60 * 1000 + ); } - return false; + return ( + false || + question.createdAt.getTime() - new Date().getTime() > 60 * 60 * 1000 + ); } async checkGroupOver(groupId: number): Promise { diff --git a/src/domain/entities/blurtingQuestion.entity.ts b/src/domain/entities/blurtingQuestion.entity.ts index 79a3346..f405b56 100644 --- a/src/domain/entities/blurtingQuestion.entity.ts +++ b/src/domain/entities/blurtingQuestion.entity.ts @@ -1,5 +1,6 @@ import { Column, + CreateDateColumn, Entity, ManyToOne, OneToMany, @@ -18,6 +19,9 @@ export class BlurtingQuestionEntity { @Column() no: number; + @CreateDateColumn() + createdAt: Date; + @Column() question: string;