Browse Source

fix(server): 修复健康模型 ID 字段 JSON 序列化

- 显式定义 ID 字段并添加 json:"id" 标签
- 解决 GORM 嵌入 Model 导致 ID 序列化为大写问题
- 修复前端删除病史记录时 ID 为 undefined 的问题

Co-authored-by: Cursor <cursoragent@cursor.com>
master
dark 2 days ago
parent
commit
0f93039dc3
  1. 21
      server/internal/model/health.go

21
server/internal/model/health.go

@ -1,10 +1,17 @@
package model package model
import "gorm.io/gorm" import (
"time"
"gorm.io/gorm"
)
// MedicalHistory 既往病史 // MedicalHistory 既往病史
type MedicalHistory struct { type MedicalHistory struct {
gorm.Model ID uint `gorm:"primarykey" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt gorm.DeletedAt `gorm:"index" json:"deleted_at"`
HealthProfileID uint `gorm:"index" json:"health_profile_id"` HealthProfileID uint `gorm:"index" json:"health_profile_id"`
DiseaseName string `gorm:"size:100" json:"disease_name"` DiseaseName string `gorm:"size:100" json:"disease_name"`
DiseaseType string `gorm:"size:50" json:"disease_type"` // chronic, surgery, other DiseaseType string `gorm:"size:50" json:"disease_type"` // chronic, surgery, other
@ -15,7 +22,10 @@ type MedicalHistory struct {
// FamilyHistory 家族病史 // FamilyHistory 家族病史
type FamilyHistory struct { type FamilyHistory struct {
gorm.Model ID uint `gorm:"primarykey" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt gorm.DeletedAt `gorm:"index" json:"deleted_at"`
HealthProfileID uint `gorm:"index" json:"health_profile_id"` HealthProfileID uint `gorm:"index" json:"health_profile_id"`
Relation string `gorm:"size:20" json:"relation"` // father, mother, grandparent Relation string `gorm:"size:20" json:"relation"` // father, mother, grandparent
DiseaseName string `gorm:"size:100" json:"disease_name"` DiseaseName string `gorm:"size:100" json:"disease_name"`
@ -24,7 +34,10 @@ type FamilyHistory struct {
// AllergyRecord 过敏记录 // AllergyRecord 过敏记录
type AllergyRecord struct { type AllergyRecord struct {
gorm.Model ID uint `gorm:"primarykey" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt gorm.DeletedAt `gorm:"index" json:"deleted_at"`
HealthProfileID uint `gorm:"index" json:"health_profile_id"` HealthProfileID uint `gorm:"index" json:"health_profile_id"`
AllergyType string `gorm:"size:20" json:"allergy_type"` // drug, food, other AllergyType string `gorm:"size:20" json:"allergy_type"` // drug, food, other
Allergen string `gorm:"size:100" json:"allergen"` Allergen string `gorm:"size:100" json:"allergen"`

Loading…
Cancel
Save