package model

import "gorm.io/plugin/soft_delete"

// Contract 用户模型
type Contract struct {
	ID            int32  `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"`
	Uid           string `gorm:"column:uid;type:varchar(100);comment:合同表的唯一表示;NOT NULL" json:"uid"`
	ArtistUid     string `gorm:"column:artist_uid;type:varchar(100);comment:画家uid;NOT NULL" json:"artist_uid"`
	ArtworkUid    string `gorm:"column:artwork_uid;type:varchar(100);comment:画作uid" json:"artwork_uid"`
	ContractId    string `gorm:"column:contract_id;type:varchar(100);comment:合同id" json:"contract_id"`
	TransactionId string `gorm:"column:transaction_id;type:varchar(100);comment:交易id" json:"transaction_id"`
	Type          int32  `gorm:"column:type;type:int(1);comment:合同类型;NOT NULL" json:"type"`
	ViewUrl       string `gorm:"column:view_url;type:varchar(500);comment:在线查看合同链接" json:"view_url"`
	DownloadUrl   string `gorm:"column:download_url;type:varchar(500);comment:合同下载链接" json:"download_url"`
	State         int32  `gorm:"column:state;type:int(1);comment:合同状态;NOT NULL" json:"state"`
	Status        int64  `gorm:"column:status;default:2;comment:2=锁定 3=解锁" json:"status" ` //跟随用户的锁定和解锁状态,用于控制数据的展示
	LockTime      string `gorm:"column:lock_time;comment:锁定时间" json:"lockTime"`
	SignTime      string `gorm:"column:sign_time;comment:签署时间" json:"sign_time"`
	CreatedAt     int32  `gorm:"column:created_at;autoCreateTime"`
	UpdatedAt     int32  `gorm:"column:updated_at;autoCreateTime"`
	DeletedAt     soft_delete.DeletedAt
}
