feat(users): 添加用户每日健康数据记录功能,支持多维度健康指标更新

This commit is contained in:
richarjiang
2025-12-02 19:11:17 +08:00
parent 6cdd2bc137
commit c3b59752ee
6 changed files with 349 additions and 0 deletions

View File

@@ -38,6 +38,7 @@ import { GetUserActivityHistoryResponseDto } from './dto/user-activity.dto';
import { UpdateWeightRecordDto, WeightRecordResponseDto, DeleteWeightRecordResponseDto } from './dto/weight-record.dto';
import { UpdateBodyMeasurementDto, UpdateBodyMeasurementResponseDto, GetBodyMeasurementHistoryResponseDto, GetBodyMeasurementAnalysisResponseDto } from './dto/body-measurement.dto';
import { GetUserBadgesResponseDto, GetAvailableBadgesResponseDto, MarkBadgeShownDto, MarkBadgeShownResponseDto } from './dto/badge.dto';
import { UpdateDailyHealthDto, UpdateDailyHealthResponseDto } from './dto/daily-health.dto';
import { Public } from '../common/decorators/public.decorator';
import { CurrentUser } from '../common/decorators/current-user.decorator';
@@ -611,4 +612,23 @@ export class UsersController {
}
}
// ==================== 每日健康数据相关接口 ====================
/**
* 更新用户每日健康数据
*/
@UseGuards(JwtAuthGuard)
@Put('daily-health')
@HttpCode(HttpStatus.OK)
@ApiOperation({ summary: '更新用户每日健康数据(每日每用户一条记录,存在则更新)' })
@ApiBody({ type: UpdateDailyHealthDto })
@ApiResponse({ status: 200, description: '成功更新每日健康数据', type: UpdateDailyHealthResponseDto })
async updateDailyHealth(
@Body() updateDto: UpdateDailyHealthDto,
@CurrentUser() user: AccessTokenPayload,
): Promise<UpdateDailyHealthResponseDto> {
this.logger.log(`更新每日健康数据 - 用户ID: ${user.sub}, 数据: ${JSON.stringify(updateDto)}`);
return this.usersService.updateDailyHealth(user.sub, updateDto);
}
}