package model import ( "gorm.io/gorm" ) // PersonalCustomerOpenID 个人客户 OpenID 关联模型 // 保存客户在不同微信应用(公众号/小程序)下的 OpenID 记录 // 同一客户可在多个 AppID 下拥有不同的 OpenID // 唯一约束:UNIQUE(app_id, open_id) WHERE deleted_at IS NULL type PersonalCustomerOpenID struct { gorm.Model CustomerID uint `gorm:"column:customer_id;type:bigint;not null;index:idx_pco_customer_id;comment:关联个人客户ID" json:"customer_id"` AppID string `gorm:"column:app_id;type:varchar(100);not null;comment:微信应用标识(公众号或小程序AppID)" json:"app_id"` OpenID string `gorm:"column:open_id;type:varchar(100);not null;comment:当前应用下的OpenID" json:"open_id"` UnionID string `gorm:"column:union_id;type:varchar(100);not null;default:'';comment:微信开放平台统一标识(可选)" json:"union_id"` AppType string `gorm:"column:app_type;type:varchar(20);not null;default:'';comment:应用类型(official_account/miniapp)" json:"app_type"` } // TableName 指定表名 func (PersonalCustomerOpenID) TableName() string { return "tb_personal_customer_openid" }