From 2ff2c58b4328480a2d6ce0b5410eae8691c96901 Mon Sep 17 00:00:00 2001 From: richarjiang Date: Wed, 3 Dec 2025 09:00:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(users):=20=E6=B7=BB=E5=8A=A0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=AF=8F=E6=97=A5=E5=81=A5=E5=BA=B7=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=AD=A5=E6=95=B0=E5=AD=97=E6=AE=B5=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=AD=A5=E6=95=B0=E8=AE=B0=E5=BD=95=E5=92=8C=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/users/dto/daily-health.dto.ts | 9 +++++++++ src/users/models/user-daily-health.model.ts | 7 +++++++ src/users/users.service.ts | 2 ++ 3 files changed, 18 insertions(+) diff --git a/src/users/dto/daily-health.dto.ts b/src/users/dto/daily-health.dto.ts index a3a01df..4a10804 100644 --- a/src/users/dto/daily-health.dto.ts +++ b/src/users/dto/daily-health.dto.ts @@ -59,6 +59,12 @@ export class UpdateDailyHealthDto { @IsNumber() @Min(0) stressLevel?: number; + + @ApiPropertyOptional({ description: '步数' }) + @IsOptional() + @IsNumber() + @Min(0) + steps?: number; } /** @@ -98,6 +104,9 @@ export class DailyHealthDataDto { @ApiPropertyOptional({ description: '压力 (ms,保留一位小数)' }) stressLevel: number | null; + @ApiPropertyOptional({ description: '步数' }) + steps: number | null; + @ApiProperty({ description: '创建时间' }) createdAt: Date; diff --git a/src/users/models/user-daily-health.model.ts b/src/users/models/user-daily-health.model.ts index 26f6c5f..2c6da06 100644 --- a/src/users/models/user-daily-health.model.ts +++ b/src/users/models/user-daily-health.model.ts @@ -101,6 +101,13 @@ export class UserDailyHealth extends Model { }) declare stressLevel: number | null; + @Column({ + type: DataType.INTEGER, + allowNull: true, + comment: '步数', + }) + declare steps: number | null; + @Column({ type: DataType.DATE, defaultValue: DataType.NOW, diff --git a/src/users/users.service.ts b/src/users/users.service.ts index 59498d4..46c7c74 100644 --- a/src/users/users.service.ts +++ b/src/users/users.service.ts @@ -3027,6 +3027,7 @@ export class UsersService { if (updateDto.sleepMinutes !== undefined) updateFields.sleepMinutes = updateDto.sleepMinutes; if (updateDto.bloodOxygen !== undefined) updateFields.bloodOxygen = updateDto.bloodOxygen; if (updateDto.stressLevel !== undefined) updateFields.stressLevel = Math.round(updateDto.stressLevel * 10) / 10; // 保留一位小数 + if (updateDto.steps !== undefined) updateFields.steps = updateDto.steps; // 使用 upsert 实现创建或更新 const [record, created] = await this.userDailyHealthModel.findOrCreate({ @@ -3060,6 +3061,7 @@ export class UsersService { sleepMinutes: record.sleepMinutes, bloodOxygen: record.bloodOxygen, stressLevel: record.stressLevel, + steps: record.steps, createdAt: record.createdAt, updatedAt: record.updatedAt, },