feat: 新增饮食记录模块,含增删改查及营养汇总功能
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { Injectable, Logger } from '@nestjs/common';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { OpenAI } from 'openai';
|
||||
import { UsersService } from '../../users/users.service';
|
||||
import { DietRecordsService } from '../../diet-records/diet-records.service';
|
||||
import { CreateDietRecordDto } from '../../users/dto/diet-record.dto';
|
||||
import { MealType, DietRecordSource } from '../../users/models/user-diet-history.model';
|
||||
|
||||
@@ -65,7 +65,7 @@ export class DietAnalysisService {
|
||||
|
||||
constructor(
|
||||
private readonly configService: ConfigService,
|
||||
private readonly usersService: UsersService,
|
||||
private readonly dietRecordsService: DietRecordsService,
|
||||
) {
|
||||
const dashScopeApiKey = this.configService.get<string>('DASHSCOPE_API_KEY') || 'sk-e3ff4494c2f1463a8910d5b3d05d3143';
|
||||
const baseURL = this.configService.get<string>('DASHSCOPE_BASE_URL') || 'https://dashscope.aliyuncs.com/compatible-mode/v1';
|
||||
@@ -240,7 +240,7 @@ export class DietAnalysisService {
|
||||
}
|
||||
};
|
||||
|
||||
await this.usersService.addDietRecord(userId, createDto);
|
||||
await this.dietRecordsService.addDietRecord(userId, createDto);
|
||||
return createDto;
|
||||
} catch (error) {
|
||||
this.logger.error(`用户确认添加饮食记录失败: ${error instanceof Error ? error.message : String(error)}`);
|
||||
@@ -278,7 +278,7 @@ export class DietAnalysisService {
|
||||
aiAnalysisResult: analysisResult,
|
||||
};
|
||||
|
||||
await this.usersService.addDietRecord(userId, createDto);
|
||||
await this.dietRecordsService.addDietRecord(userId, createDto);
|
||||
return createDto;
|
||||
} catch (error) {
|
||||
this.logger.error(`自动添加饮食记录失败: ${error instanceof Error ? error.message : String(error)}`);
|
||||
@@ -294,7 +294,7 @@ export class DietAnalysisService {
|
||||
async buildUserNutritionContext(userId: string): Promise<string> {
|
||||
try {
|
||||
// 获取最近10顿饮食记录
|
||||
const recentDietHistory = await this.usersService.getDietHistory(userId, { limit: 10 });
|
||||
const recentDietHistory = await this.dietRecordsService.getDietHistory(userId, { limit: 10 });
|
||||
|
||||
if (recentDietHistory.total === 0) {
|
||||
return '\n\n=== 用户营养信息 ===\n这是用户的第一次饮食记录,请给予鼓励并介绍饮食记录的价值。\n';
|
||||
@@ -303,7 +303,7 @@ export class DietAnalysisService {
|
||||
let context = '\n\n=== 用户最近饮食记录分析 ===\n';
|
||||
|
||||
// 获取营养汇总
|
||||
const nutritionSummary = await this.usersService.getRecentNutritionSummary(userId, 10);
|
||||
const nutritionSummary = await this.dietRecordsService.getRecentNutritionSummary(userId, 10);
|
||||
|
||||
context += this.buildNutritionSummaryText(nutritionSummary);
|
||||
context += this.buildMealDistributionText(recentDietHistory.records);
|
||||
|
||||
Reference in New Issue
Block a user