refactor: 拆分核心玩法模块并优化代码质量
将 WechatGame 单体模块拆分为独立的 User、Level、GameConfig 模块, 新增体力值系统、关卡闯关流程,并修复多项代码质量问题: - 体力不足错误码从 401 修正为 400 - enterLevel 改用 findById 替代全表扫描 - consumeStamina 增加原子更新防止并发竞态 - 并行化独立数据库查询 (Promise.all) - 移除 WechatGameService/Controller 死代码
This commit is contained in:
21
src/modules/level/dto/complete-level.dto.ts
Normal file
21
src/modules/level/dto/complete-level.dto.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
import { IsNotEmpty, IsNumber, IsString, Min } from 'class-validator';
|
||||
|
||||
export class CompleteLevelRequestDto {
|
||||
@ApiProperty({ description: '通关时长(秒)' })
|
||||
@IsNumber()
|
||||
@IsNotEmpty()
|
||||
@Min(0)
|
||||
timeSpent!: number;
|
||||
}
|
||||
|
||||
export class CompleteLevelResponseDto {
|
||||
@ApiProperty({ description: '是否为首次通关' })
|
||||
firstClear!: boolean;
|
||||
|
||||
@ApiProperty({ description: '关卡 ID' })
|
||||
levelId!: string;
|
||||
|
||||
@ApiProperty({ description: '通关时长(秒)' })
|
||||
timeSpent!: number;
|
||||
}
|
||||
Reference in New Issue
Block a user