31 lines
3.1 KiB
Go
31 lines
3.1 KiB
Go
package models
|
||
|
||
import (
|
||
"git.apinb.com/bsm-sdk/core/database"
|
||
"time"
|
||
)
|
||
|
||
// CsTicket 对应 cs_ticket,保存客服工单。
|
||
type CsTicket struct {
|
||
Entity // 公共实体字段
|
||
TicketStatus int `gorm:"column:ticket_status;not null;default:32;index" json:"ticket_status"` // 工单业务状态
|
||
TicketNo string `gorm:"column:ticket_no;type:varchar(64);not null;uniqueIndex" json:"ticket_no"` // ticket_no 业务字段
|
||
RequestNo string `gorm:"column:request_no;type:varchar(128);not null;default:'';uniqueIndex:,where:request_no <> ''" json:"request_no"` // 创建幂等号
|
||
UserAccountID uint64 `gorm:"column:user_account_id;not null;index" json:"user_account_id"` // user_account_id 业务字段
|
||
StaffAccountID uint64 `gorm:"column:staff_account_id;not null;default:0;index" json:"staff_account_id"` // 分派工作人员内部主键
|
||
GasBasicID uint64 `gorm:"column:gas_basic_id;not null;default:0;index" json:"gas_basic_id"` // 服务气站内部主键
|
||
DeliveryBasicID uint64 `gorm:"column:delivery_basic_id;not null;default:0;index" json:"delivery_basic_id"` // 关联配送点内部主键
|
||
Category string `gorm:"column:category;type:varchar(64);not null" json:"category"` // category 业务字段
|
||
Priority string `gorm:"column:priority;type:varchar(16);not null;default:'normal'" json:"priority"` // priority 业务字段
|
||
Description string `gorm:"column:description;type:text;not null;default:''" json:"description"` // 用户问题描述
|
||
Address string `gorm:"column:address;type:varchar(255);not null;default:''" json:"address"` // 上门地址快照
|
||
AppointmentAt *time.Time `gorm:"column:appointment_at;type:timestamptz;index" json:"appointment_at"` // 预约服务时间
|
||
StartedAt *time.Time `gorm:"column:started_at;type:timestamptz" json:"started_at"` // 开始处理时间
|
||
CompletedAt *time.Time `gorm:"column:completed_at;type:timestamptz" json:"completed_at"` // 用户确认完成时间
|
||
Result string `gorm:"column:result;type:text;not null;default:''" json:"result"` // 工作人员处理结果
|
||
OperatorIdentity string `gorm:"column:operator_identity;type:varchar(36);not null;default:'';index" json:"operator_identity"` // 最近操作人业务标识
|
||
}
|
||
|
||
func init() { database.AppendMigrate(&CsTicket{}) }
|
||
func (table *CsTicket) TableName() string { return "cs_ticket" }
|