Files
platforms/backend/api/internal/models/cs_ticket_evidence.go

27 lines
2.2 KiB
Go
Raw Normal View History

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" }