package gorm_model

import (
	"time"
)

// 本地生活子任务
type YoungeeLocalTaskInfo struct {
	TaskId                 string    `gorm:"column:task_id;type:char(15);primary_key;comment:任务id" json:"task_id"`
	LocalId                string    `gorm:"column:local_id;type:char(10);comment:项目id;NOT NULL" json:"local_id"`
	TalentId               string    `gorm:"column:talent_id;type:char(25);comment:达人id;NOT NULL" json:"talent_id"`
	AccountId              int       `gorm:"column:account_id;type:int(11);comment:账号id;NOT NULL" json:"account_id"`
	StrategyId             int       `gorm:"column:strategy_id;type:int(11);comment:报名选择的招募策略id" json:"strategy_id"`
	TalentPlatformInfoSnap string    `gorm:"column:talent_platform_info_snap;type:json;comment:达人平台信息快照;NOT NULL" json:"talent_platform_info_snap"`
	TalentPersonalInfoSnap string    `gorm:"column:talent_personal_info_snap;type:json;comment:达人个人信息快照;NOT NULL" json:"talent_personal_info_snap"`
	TalentPostAddrSnap     string    `gorm:"column:talent_post_addr_snap;type:json;comment:收货地址快照;NOT NULL" json:"talent_post_addr_snap"`
	TaskReward             float64   `gorm:"column:task_reward;type:decimal(10,2);comment:达人报酬(3.0未用);NOT NULL" json:"task_reward"`
	SettleAmount           float64   `gorm:"column:settle_amount;type:decimal(10,2);comment:达人实际所得（自动填充）（扣除违约扣款）;NOT NULL" json:"settle_amount"`
	AllPayment             float64   `gorm:"column:all_payment;type:decimal(10,2);comment:企业支付(3.0未用);NOT NULL" json:"all_payment"`
	RealPayment            float64   `gorm:"column:real_payment;type:decimal(10,2);comment:企业实际支付(加上服务商的服务费)（扣除违约扣款）;NOT NULL" json:"real_payment"`
	ServiceRate            int       `gorm:"column:service_rate;type:int(11);comment:服务费率，千分之" json:"service_rate"`
	ServiceCharge          float64   `gorm:"column:service_charge;type:decimal(10,2);comment:服务费" json:"service_charge"`
	RealServiceCharge      float64   `gorm:"column:real_service_charge;type:decimal(10,2);comment:服务商实际所得服务费（扣除违约）" json:"real_service_charge"`
	FeeForm                int       `gorm:"column:fee_form;type:tinyint(4);comment:稿费形式，1,2,3分别代表产品置换、一口价、自报价" json:"fee_form"`
	ErrBreakRate           int       `gorm:"column:err_break_rate;type:int(11);default:0;comment:未上传类型违约扣款比例，百分之;NOT NULL" json:"err_break_rate"`
	ScriptBreakRate        int       `gorm:"column:script_break_rate;type:int(11);default:0;comment:脚本上传超时违约扣款比例，百分之;NOT NULL" json:"script_break_rate"`
	SketchBreakRate        int       `gorm:"column:sketch_break_rate;type:int(11);default:0;comment:初稿上传超时违约扣款比例，百分之;NOT NULL" json:"sketch_break_rate"`
	LinkBreakRate          int       `gorm:"column:link_break_rate;type:int(11);default:0;comment:链接上传超时违约扣款比例，百分之;NOT NULL" json:"link_break_rate"`
	DataBreakRate          int       `gorm:"column:data_break_rate;type:int(11);default:0;comment:数据上传超时违约扣款比例，百分之;NOT NULL" json:"data_break_rate"`
	TaskStage              int       `gorm:"column:task_stage;type:tinyint(1);comment:任务阶段，1:已报名, 2:申请成功, 3:申请失败, 4:待预约探店, 5:预约确认中 6:  , 7:待传脚本, 8:脚本待审, 9:待传初稿, 10:初稿待审, 11:待传链接, 12:链接待审, 13:待传数据, 14:数据待审, 15:已结案, 16:解约, 17：终止合作（过渡态）;NOT NULL" json:"task_stage"`
	TaskStatus             int       `gorm:"column:task_status;type:tinyint(4);default:1;comment:商家任务状态 1待选 2已选 3落选;NOT NULL" json:"task_status"`
	LogisticsStatus        int       `gorm:"column:logistics_status;type:tinyint(1);default:1;comment:发货状态 1 待发货 2已发货 3 已签收" json:"logistics_status"`
	BookStatus             uint      `gorm:"column:book_status;type:tinyint(4) unsigned;default:1;comment:预约探店状态 1-5分别代表待预约、已预约、待修改、已修改、已通过" json:"book_status"`
	SketchStatus           uint      `gorm:"column:sketch_status;type:tinyint(4) unsigned;default:1;comment:初稿上传状态 1-5分别代表待添加、已添加、待修改、已修改、已通过" json:"sketch_status"`
	LinkStatus             uint      `gorm:"column:link_status;type:tinyint(4) unsigned;default:1;comment:链接上传状态 1-5分别代表待添加、已添加、待修改、已修改、已通过" json:"link_status"`
	DataStatus             uint      `gorm:"column:data_status;type:tinyint(4) unsigned;default:1;comment:数据上传状态 1-5分别代表待添加、已添加、待修改、已修改、已通过" json:"data_status"`
	CompleteStatus         int       `gorm:"column:complete_status;type:tinyint(1);default:1;comment:结束方式 1未结束 2正常结束 3反选失败 4被解约" json:"complete_status"`
	UpdateAt               time.Time `gorm:"column:update_at;type:datetime;comment:更新时间" json:"update_at"`
	CreateDate             time.Time `gorm:"column:create_date;type:datetime;comment:创建时间，即报名时间;NOT NULL" json:"create_date"`
	SelectDate             time.Time `gorm:"column:select_date;type:datetime;comment:反选时间，即任务开始执行时间" json:"select_date"`
	DeliveryDate           time.Time `gorm:"column:delivery_date;type:datetime;comment:发货时间" json:"delivery_date"`
	CompleteDate           time.Time `gorm:"column:complete_date;type:datetime;comment:结束时间" json:"complete_date"`
	WithdrawDate           time.Time `gorm:"column:withdraw_date;type:datetime;comment:提现时间" json:"withdraw_date"`
	CurDefaultType         int       `gorm:"column:cur_default_type;type:tinyint(4);comment:当前违约类型 0未违约 1脚本超时违约 2脚本未上传违约 3初稿超时违约 4初稿未上传违约 5链接超时违约 6链接未上传违约 7数据超时违约 8数据未上传违约 9解约待处理 10解约" json:"cur_default_type"`
	WithdrawStatus         int       `gorm:"column:withdraw_status;type:tinyint(4);default:1;comment:提现状态，1-4分别代表不可提现、可提现、提现中、已提现" json:"withdraw_status"`
	LeadTeamId             string    `gorm:"column:lead_team_id;type:char(10);comment:作为团长的young之团id，对应younggee_talent_team中的team_id字段" json:"lead_team_id"`
	TeamId                 string    `gorm:"column:team_id;type:char(10);comment:作为团员的young之团id，对应younggee_talent_team中的team_id字段" json:"team_id"`
	SettleStatus           int       `gorm:"column:settle_status;type:tinyint(4);default:1;comment:结算状态，1、2分别表示待结算、已结算" json:"settle_status"`
	TeamIncome             float64   `gorm:"column:team_income;type:decimal(10,2);comment:young之团团长现金收益" json:"team_income"`
	TeamPoint              int       `gorm:"column:team_point;type:int(11);comment:young之团团长积分收益" json:"team_point"`
	CurBreakAt             time.Time `gorm:"column:cur_break_at;type:datetime;comment:当前阶段截止时间" json:"cur_break_at"`
	SupplierId             int       `gorm:"column:supplier_id;type:int(11);default:0;comment:服务商ID" json:"supplier_id"`
	SupplierStatus         int       `gorm:"column:supplier_status;type:int(11);default:0;comment:服务商任务状态 0表示达人来源非服务商 1待选 2已选 3落选" json:"supplier_status"`
	DraftFee               float64   `gorm:"column:draft_fee;type:decimal(10,2);default:0.00;comment:达人稿费，达人所见的稿费金额" json:"draft_fee"`
	SignedTime             time.Time `gorm:"column:signed_time;type:datetime;comment:签收时间" json:"signed_time"`
	FansNum                int       `gorm:"column:fans_num;type:int(11);comment:粉丝数" json:"fans_num"`
	VoteAvg                int       `gorm:"column:vote_avg;type:int(11);comment:平均点赞数" json:"vote_avg"`
	CommitAvg              int       `gorm:"column:commit_avg;type:int(11);comment:平均评论数" json:"commit_avg"`
	CollectNum             int       `gorm:"collect_num;type:int(11);comment:平均收藏数" json:"collect_num"`
	BOperator              string    `gorm:"column:b_operator;type:varchar(255);comment:商家确定达人操作人ID" json:"b_operator"`
	BOperatorType          int       `gorm:"column:b_operator_type;type:int(11);default:0;comment:商家操作人类型，1商家用户，2商家子账号，3管理后台" json:"b_operator_type"`
	SOperator              int       `gorm:"column:s_operator;type:int(11);default:0;comment:服务商提报达人操作人ID" json:"s_operator"`
	SOperatorType          int       `gorm:"column:s_operator_type;type:int(11);default:0;comment:服务商操作人类型，1服务商主账号，2服务商子账号，3管理后台" json:"s_operator_type"`
	OpenId                 string    `gorm:"column:open_id;type:varchar(255);comment:达人报名的快手唯一标识" json:"open_id"`
	SLocalLifeId           int       `gorm:"column:s_local_id;type:int(11);comment:服务商本地生活任务ID" json:"s_local_life_id"`
	SupportFee             float64   `gorm:"column:support_fee;type:decimal(10,2);comment:提报价格(达人自报价经过计算后,)" json:"support_fee"`
	SketchMissingTime      time.Time `gorm:"column:sketch_missing_time;type:datetime;comment:未传初稿违约时间" json:"sketch_missing_time"`
	SketchMissingStatus    int       `gorm:"column:sketch_missing_status;type:int(11);default:0;comment:未传初稿违约状态，0无违约，1有违约" json:"sketch_missing_status"`
	LinkMissingTime        time.Time `gorm:"column:link_missing_time;type:datetime;comment:未发作品违约时间" json:"link_missing_time"`
	LinkMissingStatus      int       `gorm:"column:link_missing_status;type:int(11);default:0;comment:未发作品违约状态，0无违约，1有违约" json:"link_missing_status"`
	DataMissingTime        time.Time `gorm:"column:data_missing_time;type:datetime;comment:未传数据违约时间" json:"data_missing_time"`
	DataMissingStatus      int       `gorm:"column:data_missing_status;type:int(11);default:0;comment:未传数据违约状态，0无违约，1有违约" json:"data_missing_status"`
	TerminateOperatorType  int       `gorm:"column:terminate_operator_type;type:int(11);comment:终止合作操作人类型，1商家用户，2商家子账号，3管理后台" json:"terminate_operator_type"`
	TerminateOperator      string    `gorm:"column:terminate_operator;type:varchar(255);comment:终止合作操作人ID" json:"terminate_operator"`
	TerminateReason        string    `gorm:"column:terminate_reason;type:varchar(255);comment:终止理由" json:"terminate_reason"`
	TerminateTime          time.Time `gorm:"column:terminate_time;type:datetime;comment:终止合作时间" json:"terminate_time"`
	CancelOperatorType     int       `gorm:"column:cancel_operator_type;type:int(11);comment:解约操作人类型，1商家用户，2商家子账号，3管理后台" json:"cancel_operator_type"`
	CancelOperator         string    `gorm:"column:cancel_operator;type:varchar(255);comment:解约操作人ID" json:"cancel_operator"`
	CancelReason           string    `gorm:"column:cancel_reason;type:varchar(255);comment:解约原因" json:"cancel_reason"`
	CancelTime             time.Time `gorm:"column:cancel_time;type:datetime;comment:解约时间" json:"cancel_time"`
	PlatformId             int       `gorm:"column:platform_id;type:int(11);comment:平台" json:"platform_id"`
	City                   string    `gorm:"column:city;type:varchar(255);comment:城市" json:"city"`
	SOperatename           string    `gorm:"column:s_operate_name;type:varchar(255);comment:提报达人服务商名称" json:"s_operate_name"` //提报达人服务商名称
	ReserveTime            time.Time `gorm:"column:reserve_time;type:datetime;comment:预约探店时间" json:"reserve_time"`
	ExploreTime            time.Time `gorm:"column:explore_time;type:datetime;comment:探店时间" json:"explore_time"`
	FinishExploreTime      time.Time `gorm:"column:finish_explore_time;type:datetime;comment:完成探店时间" json:"finish_explore_time"`
	WxNum                  string    `gorm:"column:wx_num;type:varchar(255);comment:报名时填写的微信号" json:"wx_num"`
	SLocalId               int       `gorm:"column:s_local_id;type:int(11);comment:服务商本地生活任务ID" json:"s_local_id"`
	TalentName             string    `gorm:"column:talent_name;type:varchar(255);comment:达人名称" json:"talent_name"`
}

func (m *YoungeeLocalTaskInfo) TableName() string {
	return "youngee_local_task_info"
}
