feat(diet-records): 新增营养成分分析记录删除功能

添加删除营养成分分析记录的API端点,支持软删除机制
- 新增DELETE /nutrition-analysis-records/:id接口
- 添加DeleteNutritionAnalysisRecordResponseDto响应DTO
- 在NutritionAnalysisService中实现deleteAnalysisRecord方法
- 包含完整的权限验证和错误处理逻辑
This commit is contained in:
richarjiang
2025-10-16 16:43:42 +08:00
parent 1fe969aa97
commit 66a9e65d9b
3 changed files with 81 additions and 1 deletions

View File

@@ -428,4 +428,30 @@ export class NutritionAnalysisService {
totalPages,
};
}
/**
* 删除营养成分分析记录(软删除)
* @param userId 用户ID
* @param recordId 记录ID
* @returns 删除结果
*/
async deleteAnalysisRecord(userId: string, recordId: number): Promise<boolean> {
try {
const record = await this.nutritionAnalysisRecordModel.findOne({
where: { id: recordId, userId, deleted: false }
});
if (!record) {
this.logger.warn(`未找到要删除的营养分析记录 - 用户ID: ${userId}, 记录ID: ${recordId}`);
return false;
}
await record.update({ deleted: true });
this.logger.log(`营养分析记录已删除 - 用户ID: ${userId}, 记录ID: ${recordId}`);
return true;
} catch (error) {
this.logger.error(`删除营养分析记录失败 - 用户ID: ${userId}, 记录ID: ${recordId}, 错误: ${error instanceof Error ? error.message : String(error)}`);
return false;
}
}
}