package model

import (
	"time"
)

type UserProfile struct {
	Uid                   int     `json:"uid" xorm:"not null pk comment('关联userID') INT(20)"`
	ArkidUid              int     `json:"arkid_uid" xorm:"not null default 0 comment('Arkid 用户ID') INT(20)"`
	ParentUid             int     `json:"parent_uid" xorm:"not null default 0 comment('上级ID') INT(20)"`
	ArkidToken            string  `json:"arkid_token" xorm:"not null default '' comment('token') VARCHAR(2000)"`
	AvatarUrl             string  `json:"avatar_url" xorm:"not null default '' comment('头像URL') VARCHAR(2000)"`
	CustomInviteCode      string  `json:"custom_invite_code" xorm:"not null default '' comment('邀请码(自定义)') VARCHAR(16)"`
	InviteCode            string  `json:"invite_code" xorm:"not null default '' comment('邀请码(系统)') VARCHAR(16)"`
	Gender                int     `json:"gender" xorm:"not null default 2 comment('性别0女,1男,2未知') TINYINT(1)"`
	Birthday              int     `json:"birthday" xorm:"not null default 0 comment('出生日期') INT(10)"`
	AccWxId               string  `json:"acc_wx_id" xorm:"not null default '' comment('账户_微信id') VARCHAR(50)"`
	AccWxOpenid           string  `json:"acc_wx_openid" xorm:"not null default '' comment('账户_微信openid') VARCHAR(80)"`
	AccTaobaoNickname     string  `json:"acc_taobao_nickname" xorm:"not null default '' comment('淘宝昵称') VARCHAR(50)"`
	AccTaobaoAuthTime     int64   `json:"acc_taobao_auth_time" xorm:"not null default 0 comment('淘宝授权备案时间') BIGINT(11)"`
	AccTaobaoShareId      int64   `json:"acc_taobao_share_id" xorm:"not null default 0 comment('淘宝分享relationId,') index BIGINT(12)"`
	AccTaobaoSelfId       int64   `json:"acc_taobao_self_id" xorm:"not null default 0 comment('淘宝自购specialId') index BIGINT(12)"`
	AccJdSelfId           string  `json:"acc_jd_self_id" xorm:"not null default '' comment('京东自购ID') index VARCHAR(50)"`
	AccJdShareId          string  `json:"acc_jd_share_id" xorm:"not null default '' comment('京东分享ID') index VARCHAR(50)"`
	AccJdFreeId           string  `json:"acc_jd_free_id" xorm:"not null default '' comment('京东新人免单ID') VARCHAR(50)"`
	AccJdCloudId          string  `json:"acc_jd_cloud_id" xorm:"not null default '' comment('京东新人免单ID') VARCHAR(50)"`
	AccSuningSelfId       string  `json:"acc_suning_self_id" xorm:"not null default '' comment('苏宁自购ID') index VARCHAR(50)"`
	AccSuningShareId      string  `json:"acc_suning_share_id" xorm:"not null default '' comment('苏宁分享ID') index VARCHAR(50)"`
	AccSuningFreeId       string  `json:"acc_suning_free_id" xorm:"not null default '' comment('苏宁新人免单ID') VARCHAR(50)"`
	AccPddSelfId          string  `json:"acc_pdd_self_id" xorm:"not null default '' comment('拼多多自购ID') index VARCHAR(50)"`
	AccPddCloudId         string  `json:"acc_pdd_cloud_id" xorm:"not null default '' comment('拼多多自购ID') index VARCHAR(50)"`
	AccPddShareId         string  `json:"acc_pdd_share_id" xorm:"not null default '' comment('拼多多分享ID') index VARCHAR(50)"`
	AccPddFreeId          string  `json:"acc_pdd_free_id" xorm:"not null default '' comment('拼多多新人免单ID') VARCHAR(50)"`
	AccPddBind            int     `json:"acc_pdd_bind" xorm:"not null default 0 comment('拼多多是否授权绑定') TINYINT(1)"`
	AccVipSelfId          string  `json:"acc_vip_self_id" xorm:"not null default '' comment('唯品会自购ID') index VARCHAR(50)"`
	AccVipShareId         string  `json:"acc_vip_share_id" xorm:"not null default '' comment('唯品会分享ID') index VARCHAR(50)"`
	AccVipFreeId          string  `json:"acc_vip_free_id" xorm:"not null default '' comment('唯品会新人免单ID') VARCHAR(50)"`
	AccKaolaSelfId        string  `json:"acc_kaola_self_id" xorm:"not null default '' comment('考拉自购ID') index VARCHAR(50)"`
	AccKaolaShareId       string  `json:"acc_kaola_share_id" xorm:"not null default '' comment('考拉分享ID') index VARCHAR(50)"`
	AccKaolaFreeId        string  `json:"acc_kaola_free_id" xorm:"not null default '' comment('考拉新人免单ID') VARCHAR(50)"`
	AccDuomaiShareId      int64   `json:"acc_duomai_share_id" xorm:"not null pk default 0 comment('多麦联盟分享ID') BIGINT(12)"`
	AccAlipay             string  `json:"acc_alipay" xorm:"not null default '' comment('支付宝账号') VARCHAR(50)"`
	AccAlipayRealName     string  `json:"acc_alipay_real_name" xorm:"not null default '' comment('支付宝账号真实姓名') VARCHAR(50)"`
	CertTime              int     `json:"cert_time" xorm:"not null default 0 comment('认证时间') INT(10)"`
	CertName              string  `json:"cert_name" xorm:"not null default '' comment('证件上名字,也是真实姓名') VARCHAR(50)"`
	CertNum               string  `json:"cert_num" xorm:"not null default '' comment('证件号码') VARCHAR(50)"`
	CertState             int     `json:"cert_state" xorm:"not null default 0 comment('认证状态(0为未认证，1为认证中，2为已认证，3为认证失败)') TINYINT(1)"`
	FinCommission         string  `json:"fin_commission" xorm:"not null default 0.0000 comment('累计佣金') DECIMAL(10,4)"`
	FinValid              string  `json:"fin_valid" xorm:"not null default 0.0000 comment('可用余额,fin=>finance财务') DECIMAL(10,4)"`
	FinInvalid            string  `json:"fin_invalid" xorm:"not null default 0.0000 comment('不可用余额,冻结余额') DECIMAL(10,4)"`
	FinSelfOrderCount     int     `json:"fin_self_order_count" xorm:"not null default 0 comment('自购订单数,包括未完成') INT(11)"`
	FinSelfOrderCountDone int     `json:"fin_self_order_count_done" xorm:"not null default 0 comment('自购已完成订单') INT(11)"`
	FinSelfRebate         float32 `json:"fin_self_rebate" xorm:"not null default 0.000000 comment('累积自购获得返利金额') FLOAT(14,6)"`
	FinTotal              float32 `json:"fin_total" xorm:"not null default 0.000000 comment('累计总收益') FLOAT(14,6)"`
	Lat                   float32 `json:"lat" xorm:"not null default 0.000000 comment('纬度') FLOAT(15,6)"`
	Lng                   float32 `json:"lng" xorm:"not null default 0.000000 comment('经度') FLOAT(15,6)"`
	Memo                  string  `json:"memo" xorm:"not null default '' comment('用户简述备注') VARCHAR(2048)"`
	Qq                    string  `json:"qq" xorm:"not null default '' comment('') VARCHAR(255)"`
	IsNew                 int     `json:"is_new" xorm:"not null default 1 comment('是否是新用户') TINYINT(1)"`
	IsVerify              int     `json:"is_verify" xorm:"not null default 0 comment('是否有效会员') TINYINT(1)"`
	IsOrdered             int     `json:"is_ordered" xorm:"not null default 0 comment('是否已完成首单(0否,1是)') TINYINT(1)"`
	FromWay               string  `json:"from_way" xorm:"not null default '' comment('注册来源：
no_captcha_phone：免验证码手机号注册；
manual_phone：手动手机验证码注册；
wx：微信授权；
wx_mp：小程序授权；
wx_pub：公众号授权；
wx_bind_phone：微信注册绑定手机号；
admin：管理员添加；taobao_bind_phone:淘宝注册绑定手机号,apple_bind_phone:苹果注册绑定手机号') VARCHAR(16)"`
	HidOrder                   int       `json:"hid_order" xorm:"not null default 0 comment('隐藏订单') TINYINT(3)"`
	HidContact                 int       `json:"hid_contact" xorm:"not null default 0 comment('隐藏联系方式') TINYINT(4)"`
	NewMsgNotice               int       `json:"new_msg_notice" xorm:"not null default 1 comment('新消息通知') TINYINT(1)"`
	WxAccount                  string    `json:"wx_account" xorm:"not null default '' comment('微信号') VARCHAR(100)"`
	WxQrcode                   string    `json:"wx_qrcode" xorm:"not null default '' comment('微信二维码') VARCHAR(100)"`
	ThirdPartyTaobaoOid        string    `json:"third_party_taobao_oid" xorm:"not null default '' comment('淘宝第三方登录openID') VARCHAR(100)"`
	ThirdPartyTaobaoSid        string    `json:"third_party_taobao_sid" xorm:"not null default '' comment('淘宝第三方登录sID') VARCHAR(255)"`
	ThirdPartyTaobaoAcctoken   string    `json:"third_party_taobao_acctoken" xorm:"not null default '' comment('淘宝第三方登录topaccesstoken') VARCHAR(100)"`
	ThirdPartyTaobaoAuthcode   string    `json:"third_party_taobao_authcode" xorm:"not null default '' comment('淘宝第三方登录topAuthCode') VARCHAR(100)"`
	ThirdPartyAppleToken       string    `json:"third_party_apple_token" xorm:"not null default '' comment('苹果第三方登录token') VARCHAR(1024)"`
	ThirdPartyQqAccessToken    string    `json:"third_party_qq_access_token" xorm:"not null default '' comment('QQ第三方登录access_token') VARCHAR(255)"`
	ThirdPartyQqExpiresIn      string    `json:"third_party_qq_expires_in" xorm:"not null default '' comment('QQ第三方登录expires_in(剩余时长)') VARCHAR(255)"`
	ThirdPartyQqOpenid         string    `json:"third_party_qq_openid" xorm:"not null default '' comment('QQ第三方登陆openid(不变，用于认证)') VARCHAR(255)"`
	ThirdPartyQqUnionid        string    `json:"third_party_qq_unionid" xorm:"not null default '' comment('QQ第三方登陆unionid') VARCHAR(255)"`
	ThirdPartyWechatExpiresIn  string    `json:"third_party_wechat_expires_in" xorm:"not null default '' comment('微信第三方登录expires_in(剩余时长)') VARCHAR(255)"`
	ThirdPartyWechatOpenid     string    `json:"third_party_wechat_openid" xorm:"not null default '' comment('微信第三方登陆openid(不变，用于认证)') VARCHAR(255)"`
	ThirdPartyWechatUnionid    string    `json:"third_party_wechat_unionid" xorm:"not null default '' comment('微信第三方登陆unionid') VARCHAR(255)"`
	ThirdPartyWechatMiniOpenid string    `json:"third_party_wechat_mini_openid" xorm:"not null default '' comment('微信小程序登录open_id') VARCHAR(255)"`
	ThirdPartyWechatH5Openid   string    `json:"third_party_wechat_h5_openid" xorm:"not null default '' comment('微信H5登录open_id') VARCHAR(255)"`
	FreeRemainTime             int       `json:"free_remain_time" xorm:"not null default 0 comment('免单剩余次数') INT(11)"`
	FreeCumulativeTime         int       `json:"free_cumulative_time" xorm:"not null default 0 comment('免单累计次数') INT(11)"`
	SecondFreeRemainTime       int       `json:"second_free_remain_time" xorm:"not null default 0 comment('免单剩余次数') INT(11)"`
	SecondFreeCumulativeTime   int       `json:"second_free_cumulative_time" xorm:"not null default 0 comment('免单累计次数') INT(11)"`
	ThirdFreeRemainTime        int       `json:"third_free_remain_time" xorm:"not null default 0 comment('免单剩余次数') INT(11)"`
	ThirdFreeCumulativeTime    int       `json:"third_free_cumulative_time" xorm:"not null default 0 comment('免单累计次数') INT(11)"`
	IsDelete                   int       `json:"is_delete" xorm:"not null default 0 comment('是否已删除') TINYINT(1)"`
	UpdateAt                   time.Time `json:"update_at" xorm:"updated not null default CURRENT_TIMESTAMP comment('更新时间') TIMESTAMP"`
	IsSet                      int       `json:"is_set" xorm:"not null default 0 comment('用于一个客户生成关系链匹配的') INT(1)"`
	IsOld                      int       `json:"is_old" xorm:"not null default 0 comment('') INT(1)"`
	RunVerifyTime              int       `json:"run_verify_time" xorm:"not null default 0 comment('') INT(1)"`
	TaskId                     int       `json:"task_id" xorm:"not null default 0 comment('') INT(1)"`
	TaskType                   string    `json:"task_type" xorm:"not null default '' comment('') VARCHAR(255)"`
}
