feat(diet-records): 新增营养成分分析记录删除功能
添加删除营养成分分析记录的API端点,支持软删除机制 - 新增DELETE /nutrition-analysis-records/:id接口 - 添加DeleteNutritionAnalysisRecordResponseDto响应DTO - 在NutritionAnalysisService中实现deleteAnalysisRecord方法 - 包含完整的权限验证和错误处理逻辑
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user