package gmodel

import (
	"gorm.io/gorm"
)

// fs_user 用户表
type FsUser struct {
	Id                   int64   `gorm:"primary_key;default:0;auto_increment;" json:"id"`    // ID
	FaceId               *int64  `gorm:"default:0;" json:"face_id"`                          // facebook的userid
	GoogleId             *int64  `gorm:"default:0;" json:"google_id"`                        // google的sub
	FirstName            *string `gorm:"default:'';" json:"first_name"`                      // FirstName
	LastName             *string `gorm:"default:'';" json:"last_name"`                       // LastName
	Username             *string `gorm:"unique_key;default:'';" json:"username"`             //
	Company              *string `gorm:"default:'';" json:"company"`                         // 公司名称
	Mobile               *string `gorm:"default:'';" json:"mobile"`                          // 手机号码
	AuthKey              *string `gorm:"default:'';" json:"auth_key"`                        //
	PasswordHash         *string `gorm:"default:'';" json:"password_hash"`                   //
	VerificationToken    *string `gorm:"default:'';" json:"verification_token"`              //
	PasswordResetToken   *string `gorm:"unique_key;default:'';" json:"password_reset_token"` //
	Email                *string `gorm:"unique_key;default:'';" json:"email"`                // 邮箱
	Type                 *int64  `gorm:"default:0;" json:"type"`                             // 1普通餐厅 2连锁餐厅
	Status               *int64  `gorm:"default:1;" json:"status"`                           // 1正常 0不正常
	IsDel                *int64  `gorm:"default:0;" json:"is_del"`                           // 是否删除 1删除
	CreatedAt            *int64  `gorm:"default:0;" json:"created_at"`                       // 添加时间
	UpdatedAt            *int64  `gorm:"default:0;" json:"updated_at"`                       // 更新时间
	IsOrderStatusEmail   *int64  `gorm:"default:0;" json:"is_order_status_email"`            // 订单状态改变时是否接收邮件
	IsEmailAdvertisement *int64  `gorm:"default:0;" json:"is_email_advertisement"`           // 是否接收邮件广告
	IsOrderStatusPhone   *int64  `gorm:"default:0;" json:"is_order_status_phone"`            // 订单状态改变是是否接收电话
	IsPhoneAdvertisement *int64  `gorm:"default:0;" json:"is_phone_advertisement"`           // 是否接收短信广告
	IsOpenRender         *int64  `gorm:"default:0;" json:"is_open_render"`                   // 是否打开个性化渲染(1:开启,0:关闭)
	IsThousandFace       *int64  `gorm:"default:0;" json:"is_thousand_face"`                 // 是否已经存在千人千面(1:存在,0:不存在)
	IsLowRendering       *int64  `gorm:"default:0;" json:"is_low_rendering"`                 //
	IsRemoveBg           *int64  `gorm:"default:1;" json:"is_remove_bg"`                     // 用户上传logo是否去除背景
}
type FsUserModel struct {
	db   *gorm.DB
	name string
}

func NewFsUserModel(db *gorm.DB) *FsUserModel { return &FsUserModel{db: db, name: "fs_user"} }