27 lines
2.2 KiB
Go
27 lines
2.2 KiB
Go
package models
|
|
|
|
import (
|
|
"git.apinb.com/bsm-sdk/core/database"
|
|
"time"
|
|
)
|
|
|
|
// CsTicketEvidence 保存工单不可变现场证据。
|
|
type CsTicketEvidence struct {
|
|
Entity // 公共实体字段
|
|
CsTicketID uint64 `gorm:"column:cs_ticket_id;not null;index" json:"cs_ticket_id"` // 工单内部主键
|
|
EvidenceType string `gorm:"column:evidence_type;type:varchar(32);not null;index" json:"evidence_type"` // 证据阶段或签名类型
|
|
MediaType string `gorm:"column:media_type;type:varchar(16);not null" json:"media_type"` // 图片、视频或签名
|
|
FileURI string `gorm:"column:file_uri;type:varchar(512);not null" json:"file_uri"` // 受控上传资源地址
|
|
CapturedAt time.Time `gorm:"column:captured_at;type:timestamptz;not null;index" json:"captured_at"` // 客户端原始采集时间
|
|
ReceivedAt time.Time `gorm:"column:received_at;type:timestamptz;not null;index" json:"received_at"` // 服务端接收时间
|
|
Longitude string `gorm:"column:longitude;type:varchar(32);not null;default:''" json:"longitude"` // 采集经度
|
|
Latitude string `gorm:"column:latitude;type:varchar(32);not null;default:''" json:"latitude"` // 采集纬度
|
|
Source string `gorm:"column:source;type:varchar(32);not null;default:'app'" json:"source"` // 证据来源
|
|
IntegrityStatus string `gorm:"column:integrity_status;type:varchar(32);not null;default:'unverified'" json:"integrity_status"` // 完整性校验状态
|
|
OperatorIdentity string `gorm:"column:operator_identity;type:varchar(36);not null;index" json:"operator_identity"` // 采集人员业务标识
|
|
RequestNo string `gorm:"column:request_no;type:varchar(128);not null;uniqueIndex" json:"request_no"` // 证据上报幂等号
|
|
}
|
|
|
|
func init() { database.AppendMigrate(&CsTicketEvidence{}) }
|
|
func (*CsTicketEvidence) TableName() string { return "cs_ticket_evidence" }
|