609f7d06cf
- pets-fe: 微信原生小程序(首页/计划/记录/报告/社区/引导), 服务端驱动、无假数据;弹层改用 scroll-view,打开时隐藏自定义 tabBar - pets-be: Gin + GORM(MySQL, sundynix_ 前缀) + MinIO,统一响应/分页, 微信 code2session 登录,provider-neutral AI(DeepSeek),go:embed React 后台 - 修复:分段选择类型不匹配(字符串 vs 数字)导致选不中 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 lines
1.2 KiB
Go
38 lines
1.2 KiB
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gorm.io/datatypes"
|
|
)
|
|
|
|
// 健康记录类型
|
|
const (
|
|
RecordWeight = "weight"
|
|
RecordPoop = "poop"
|
|
RecordFood = "food"
|
|
RecordSymptom = "symptom"
|
|
RecordMedicine = "medicine"
|
|
RecordVaccine = "vaccine"
|
|
RecordDeworm = "deworm"
|
|
RecordCost = "cost"
|
|
RecordPhoto = "photo"
|
|
)
|
|
|
|
// HealthRecord 统一健康/时间轴记录表,type 区分 9 类。
|
|
// NumValue 存体重/金额,Category 存消费类别/便便状态等,Extra 存各类型专有字段。
|
|
type HealthRecord struct {
|
|
Base
|
|
PetID uint `gorm:"index" json:"pet_id"`
|
|
UserID uint `gorm:"index" json:"user_id"`
|
|
Type string `gorm:"size:16;index" json:"type"`
|
|
Icon string `gorm:"size:16" json:"icon"`
|
|
Title string `gorm:"size:128" json:"title"`
|
|
Description string `gorm:"size:512" json:"description"`
|
|
NumValue float64 `gorm:"type:decimal(10,2)" json:"num_value"`
|
|
Category string `gorm:"size:32" json:"category"`
|
|
ImageURL string `gorm:"size:512" json:"image_url"`
|
|
Extra datatypes.JSON `json:"extra"`
|
|
OccurredAt time.Time `gorm:"index" json:"occurred_at"`
|
|
}
|