package model

import (
	"gorm.io/gorm"
)

// Enterprise 企业模型
type Enterprise struct {
	gorm.Model
	BaseModel       `gorm:"embedded"`
	EnterpriseName  string `gorm:"column:enterprise_name;type:varchar(100);not null;comment:企业名称" json:"enterprise_name"`
	EnterpriseCode  string `gorm:"column:enterprise_code;type:varchar(50);uniqueIndex:idx_enterprise_code,where:deleted_at IS NULL;comment:企业编号" json:"enterprise_code"`
	OwnerShopID     *uint  `gorm:"column:owner_shop_id;index;comment:归属店铺ID（NULL表示平台直属）" json:"owner_shop_id,omitempty"`
	LegalPerson     string `gorm:"column:legal_person;type:varchar(50);comment:法人代表" json:"legal_person"`
	ContactName     string `gorm:"column:contact_name;type:varchar(50);comment:联系人姓名" json:"contact_name"`
	ContactPhone    string `gorm:"column:contact_phone;type:varchar(20);comment:联系人电话" json:"contact_phone"`
	BusinessLicense string `gorm:"column:business_license;type:varchar(100);comment:营业执照号" json:"business_license"`
	Province        string `gorm:"column:province;type:varchar(50);comment:省份" json:"province"`
	City            string `gorm:"column:city;type:varchar(50);comment:城市" json:"city"`
	District        string `gorm:"column:district;type:varchar(50);comment:区县" json:"district"`
	Address         string `gorm:"column:address;type:varchar(255);comment:详细地址" json:"address"`
	Status          int    `gorm:"column:status;type:int;not null;default:1;comment:状态 0=禁用 1=启用" json:"status"`
}

// TableName 指定表名
func (Enterprise) TableName() string {
	return "tb_enterprise"
}
