- 死代码清理: 删除 AppCard/AppMenuItem/AppTabChip/AppButtons 等 4 个未使用 Widget 文件; 清理 common_widgets/enterprise_widgets/app_status_badge 中未使用 class; 移除 HealthService 等未使用方法; 后端移除 ExerciseService.CreateFromItemsAsync/HealthArchiveService.GetOrCreateAsync/MedicationAgentHandler 死分支/ChatRequest DTO - 趋势图: 直线折线 + 渐变填充 + 阴影; 去网格; X 轴日+月份; Y 轴整数刻度最多 4 个; 点击数据点/录入记录显示上方浮层; 选中点变实心 - 侧边栏: 对话记录改单选删除(灰底高亮); 操作栏浮层修复触摸问题; 常用功能/健康仪表盘间距收紧; _Panel 去外框 - 智能体: 欢迎卡片去掉 400ms 延迟; 胶囊去阴影 - 其他: api_client IP 适配; 多页面 UI 微调; 新增 chat_provider/prelaunch_guardrails 测试
50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using Health.Domain.Entities;
|
|
|
|
namespace Health.Application.HealthArchives;
|
|
|
|
public sealed record HealthArchiveSurgeryDto(
|
|
Guid Id,
|
|
string Type,
|
|
DateOnly? Date);
|
|
|
|
public sealed record HealthArchiveSurgeryInput(
|
|
string Type,
|
|
DateOnly? Date);
|
|
|
|
public sealed record HealthArchiveDto(
|
|
Guid Id,
|
|
Guid UserId,
|
|
string? Diagnosis,
|
|
string? SurgeryType,
|
|
DateOnly? SurgeryDate,
|
|
IReadOnlyList<HealthArchiveSurgeryDto> Surgeries,
|
|
IReadOnlyList<string> Allergies,
|
|
IReadOnlyList<string> DietRestrictions,
|
|
IReadOnlyList<string> ChronicDiseases,
|
|
string? FamilyHistory,
|
|
DateTime UpdatedAt);
|
|
|
|
public sealed record HealthArchiveUpdateRequest(
|
|
string? Diagnosis,
|
|
string? SurgeryType,
|
|
DateOnly? SurgeryDate,
|
|
IReadOnlyList<string>? Allergies,
|
|
IReadOnlyList<string>? DietRestrictions,
|
|
IReadOnlyList<string>? ChronicDiseases,
|
|
string? FamilyHistory,
|
|
IReadOnlyList<HealthArchiveSurgeryInput>? Surgeries = null);
|
|
|
|
public interface IHealthArchiveService
|
|
{
|
|
Task<HealthArchiveDto?> GetAsync(Guid userId, CancellationToken ct);
|
|
Task<HealthArchiveDto> UpdateAsync(Guid userId, HealthArchiveUpdateRequest request, CancellationToken ct);
|
|
Task<object> ExecuteAiActionAsync(Guid userId, string action, HealthArchiveUpdateRequest request, CancellationToken ct);
|
|
}
|
|
|
|
public interface IHealthArchiveRepository
|
|
{
|
|
Task<HealthArchive?> GetByUserIdAsync(Guid userId, CancellationToken ct);
|
|
Task AddAsync(HealthArchive archive, CancellationToken ct);
|
|
Task SaveChangesAsync(CancellationToken ct);
|
|
}
|