package old

import "github.com/fonchain/fonchain-artistinfo/cmd/model"

// User 用户模型
type Artwork struct {
	model.Model
	ID            int32  `gorm:"not null" json:"id"`
	ArtistId      uint64 `gorm:"not null"  json:"artistId"`
	Name          string `gorm:"type:varchar(256) not null" json:"name"`
	ArtworkId     string `gorm:"type:varchar(256) default ''" json:"artworkId"`
	ModelYear     string `gorm:"type:varchar(256) not null"  json:"modelYear"`
	Photo         string `gorm:"type:varchar(1024) not null"  json:"photo"`
	BatchId       int32  `gorm:"not null"  json:"batchId"`
	ArtistPhoto   string `gorm:"type:varchar(1024) not null"  json:"artistPhoto"`
	CreateAddress string `gorm:"type:varchar(256) not null" json:"createAddress"`
	Width         int32  `gorm:"not null"  json:"width"`
	Height        int32  `gorm:"not null" json:"height"`
	Ruler         int32  `gorm:"not null"  json:"ruler"`
	AgeOfCreation string `gorm:"type:varchar(56) default ''" json:"ageOfCreation"`
	CreateTime    string `gorm:"type:varchar(20) not null" json:"createTime"`
	Introduct     string `gorm:"type:varchar(2048) not null"  json:"introduct"`
	NetworkTrace  bool   `gorm:"not null"  json:"networkTrace"`
	FlowState     int32  `gorm:"default 0"`
	Url           string `gorm:"type:varchar(512) not null"  json:"url"`
	Remark        string `gorm:"type:varchar(256) default ''" json:"remark"`
	Remark2       string `gorm:"type:varchar(256) default ''" json:"remark2"`
	State         int32  `gorm:"not null"  json:"state"` //1未上传2已上传3已通过4未通过
}

type ArtworkStateService struct {
	ID        int32  `form:"id" json:"id"`
	ArtworkId int32  `form:"artworkId" json:"artworkId"`
	State     int32  `form:"state" json:"state"`
	Pic       string `form:"pic" json:"pic"`
}

type ArtworkStateData struct {
	State     int32  `json:"state"`
	Timestamp string `json:"timestamp"`
	Pic       string `json:"pic"`
}

// 画作
type ArtworkList struct {
	Uid        string `json:"uid"` //画作唯一标志
	Seqnum     string `json:"seqnum2"`
	TFnum      string `json:"tfnum"`      // 泰丰编号
	Num        int64  `json:"seqnum"`     // 画作序号，从1开始自增，以批次为单位
	ArtistId   string `json:"artistId"`   //画家id
	ArtistName string `json:"artistName"` //画家名
	BatchId    string `json:"batchId"`    //批次id
	BatchNum   int64  `json:"batchNum"`   //批次号
	BatchType  int64  `json:"batchType"`  //批次类型
	OutBatchId string `json:"outBatchId"` // 出库批次id
	IsOutbound int64  `json:"isOutbound"` // 是否出库，1-已出库，2-未出库
	//泰丰，丰链公共字段
	Name               string        `json:"name"` //画作名称
	CopyrightName      string        `json:"copyrightName"`
	Belong             int64         `json:"belong"`         //画作隶属，1-泰丰，2-丰链
	ArtistPhoto        string        `json:"artistPhoto"`    //画家与画作合影
	SmallPic           string        `json:"smallPic"`       //画作小图
	SmallPicArtist     string        `json:"smallPicArtist"` //画作小图画家提供
	PhotoPic           string        `json:"photoPic"`       //手机拍摄图（信息登记人员内部拍摄）
	IsSign             int64         `json:"isSign"`         //是否有落款，1-有，2-无
	IsSeal             int64         `json:"isSeal"`         //是否有人名章，1-有，2-无
	Quality            int64         `json:"quality"`        //画作品相，1-完好，2-有破损，3-其他
	IncompletePic      string        `json:"incompletePic"`  // 残缺图片url
	CopyrightPic       string        `json:"copyrightPic"`   // 版权图
	Length             int64         `json:"length"`         //画作长度,厘米
	Width              int64         `json:"width"`          //画作宽度，厘米
	Ruler              int64         `json:"ruler"`          //画作平尺数
	ModelYear          string        `json:"modelYear"`      //年款
	NetworkTrace       *NetworkTrace `json:"networkTrace"`   //网络痕迹
	ArtworkState       int64         `json:"artworkState"`   //实体画作状态，1-丰链，2-托裱，3-泰丰,4-其他
	PhotoState         *PhotoState   `json:"photoState"`     //拍摄情况
	ArtworkPic         string        `json:"artworkPic"`     //图片上传
	Hash               *Hash         `json:"hash"`           //哈希值登记
	Copyright          *Copyright    `json:"copyright"`      //版权登记
	IsExcellentArtwork int64         `json:"isExcellent"`    //是否优秀画作，1-是，2-否（优秀画作将留在丰链）
	ScreenNum          int64         `json:"screenNum"`      //条屏数量
	Abstract           string        `json:"abstract"`       // 简介
	MountMode          string        `json:"mountMode"`      // 装裱方式
	Material           string        `json:"material"`       // 画作材质
	SignPic            string        `json:"signPic"`        // 落款图
	SealPic            string        `json:"sealPic"`        // 人名章图
	SignDate           string        `json:"signDate"`       // 签约日期
	CreatedDate        string        `json:"createDate"`     // 创作日期
	CreatedAddress     string        `json:"createAddress"`  // 创作地点
	//优秀画作是从泰丰批次中选一个出来的
	//丰链独有字段
	ArriveTime  string  `json:"arriveTime"`  //画作到达时间,精确到日
	ArtworkType int64   `json:"artworkType"` //画作类型，1-优秀画作，2-赠画，3-卷轴，4-普通画作
	GiftInfo    string  `json:"giftInfo"`    //赠画信息
	Scroll      *Scroll `json:"scroll"`      //卷轴信息
	Resume      string  `json:"resume"`      //画家简介
	RecentPhoto string  `json:"recentPhoto"` // 画家近照url
	Comment     string  `json:"comment"`     // 画作备注

	// 6.7
	ArtCat               string   `json:"artCat"`               // 艺术类别
	ArtMeansOfExpression string   `json:"artMeansOfExpression"` // 表现形式
	ArtSub               string   `json:"artSub"`               // 艺术主题
	ArtStyle             string   `json:"artStyle"`             // 风格
	ArtColor             string   `json:"artColor"`             // 颜色
	Size                 string   `json:"size"`                 // 画作尺寸描述 {"1":"大","2":"中","3":"小"}
	ArtHorizontal        string   `json:"artHorizontal"`        // 幅式
	TagIds               []string `json:"tagIds"`               // 艺术品标签    逗号隔开
	Aucrecords           string   `json:"aucrecords"`
	PastCollectors       string   `json:"pastCollectors"`
	Pastpub              string   `json:"pastpub"`
	PastTradFroms        string   `json:"pastTradFroms"`

	// 画家提供名称
	CustomName        string `json:"customName"`
	BatchState        string `json:"batchState"`        //画作已入库图片
	DigitizationState string `json:"digitizationState"` //画作已数字化图片
	AuthenticateState string `json:"authenticateState"` //已鉴证
}

type NetworkTrace struct {
	IsExist     int64  `json:"isExist"`     //1-有，2-无，3-有痕已无
	FirstPublic string `json:"firstPublic"` //首次发表url
	FirstName   string `json:"firstName"`   //首次命名url
	Comment     string `json:"comment"`
}

type PhotoState struct {
	IsPhoto   int    `json:"isPhoto"`   //是否已拍摄，1-是，2-否
	PhotoTime string `json:"photoTime"` //拍摄日期
	Comment   string `json:"comment"`   //备注
}

type Hash struct {
	PropertyHash         string `json:"property"`  //物权哈希值
	CopyrightHash        string `json:"copyright"` //版权哈希值
	PropertyHashLocation string `json:"pLocation"` //物权哈希值位置
	PropertyHashContext  string `json:"pComment"`  //物权哈希值备注
}

type Copyright struct {
	Proxy         string `json:"proxy"` //画作授权委托书（扫描件）（jpg，pdf）
	CopyrightCert string `json:"cert"`  //版权证书（pdf）
	Type          int64  `json:"type"`  //版权类型，1-国家版权，2-江苏省版权
}

type Scroll struct {
	IsNew       int64  `json:"isNew"`       //新卷轴还是老卷轴，1-新，2-旧
	SendTime    string `json:"sendTime"`    //寄出卷轴日期
	SendNum     string `json:"sendNum"`     //寄出卷轴单号
	ReceiveTime string `json:"receiveTime"` //收到卷轴日期
	ReceiveNum  string `json:"receiveNum"`  //收到卷轴单号
}
