package gmodel

import (
	"gorm.io/gorm"
)

// fs_user 用户表
type FsUser struct {
	Id                   int64   `gorm:"primary_key;default:0;auto_increment;" json:"id"` // ID
	FaceId               *string `gorm:"default:'0';" json:"face_id"`                     // facebook的userid
	GoogleId             *string `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:"index;default:'';" json:"username"`               //
	Company              *string `gorm:"default:'';" json:"company"`                      // 公司名称
	Mobile               *string `gorm:"default:'';" json:"mobile"`                       // 手机号码
	PasswordHash         *string `gorm:"default:'';" json:"password_hash"`                //
	VerificationToken    *string `gorm:"default:'';" json:"verification_token"`           //
	PasswordResetToken   *string `gorm:"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"} }