51 lines
4.0 KiB
Go
51 lines
4.0 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// TenantCrmCustomer 客户管理表: yz_tenant_crm_customer
|
|
type TenantCrmCustomer struct {
|
|
ID uint64 `orm:"column(id);pk;auto" json:"id"`
|
|
TenantID string `orm:"column(tenant_id);size(64)" json:"tenant_id"`
|
|
CustomerName string `orm:"column(customer_name);size(100)" json:"customer_name"`
|
|
CustomerType string `orm:"column(customer_type);size(20)" json:"customer_type"`
|
|
ContactPerson string `orm:"column(contact_person);size(50)" json:"contact_person"`
|
|
ContactPhone string `orm:"column(contact_phone);size(20)" json:"contact_phone"`
|
|
ContactEmail string `orm:"column(contact_email);size(100)" json:"contact_email"`
|
|
CustomerLevel string `orm:"column(customer_level);size(20);default(3)" json:"customer_level"`
|
|
Industry string `orm:"column(industry);size(50)" json:"industry"`
|
|
RegisteredCapital string `orm:"column(registered_capital);size(50)" json:"registered_capital"`
|
|
PaidCapital string `orm:"column(paid_capital);size(50)" json:"paid_capital"`
|
|
EstablishDate *time.Time `orm:"column(establish_date);type(date);null" json:"establish_date"`
|
|
AdministrativeDivision string `orm:"column(administrative_division);size(100)" json:"administrative_division"`
|
|
EnterpriseType string `orm:"column(enterprise_type);size(50)" json:"enterprise_type"`
|
|
TaxpayerQualification string `orm:"column(taxpayer_qualification);size(50)" json:"taxpayer_qualification"`
|
|
BusinessScope string `orm:"column(business_scope);type(text);null" json:"business_scope"`
|
|
Address string `orm:"column(address);size(255)" json:"address"`
|
|
RegisterTime *time.Time `orm:"column(register_time);type(date);null" json:"register_time"`
|
|
ExpireTime *time.Time `orm:"column(expire_time);type(date);null" json:"expire_time"`
|
|
Status string `orm:"column(status);size(20);default(1)" json:"status"`
|
|
IsDraft int8 `orm:"column(is_draft);default(0)" json:"is_draft"` // 0-正式 1-草稿
|
|
Remark string `orm:"column(remark);type(text);null" json:"remark"`
|
|
InvoiceTitle string `orm:"column(invoice_title);size(100)" json:"invoice_title"`
|
|
TaxNumber string `orm:"column(tax_number);size(50)" json:"tax_number"`
|
|
BankName string `orm:"column(bank_name);size(100)" json:"bank_name"`
|
|
BankAccount string `orm:"column(bank_account);size(50)" json:"bank_account"`
|
|
RegisteredAddress string `orm:"column(registered_address);size(255)" json:"registered_address"`
|
|
RegisteredPhone string `orm:"column(registered_phone);size(50)" json:"registered_phone"`
|
|
// 公海相关:in_pool=1 表示客户在公海中(租户共享,无个人负责人)
|
|
InPool int8 `orm:"column(in_pool);default(0)" json:"in_pool"` // 是否在公海:0-否 1-是
|
|
OwnerUserID string `orm:"column(owner_user_id);size(64);null" json:"owner_user_id"` // 当前负责人ID,公海中为空
|
|
OwnerUserName string `orm:"column(owner_user_name);size(128);null" json:"owner_user_name"` // 当前负责人姓名
|
|
LastOwnerName string `orm:"column(last_owner_name);size(128);null" json:"last_owner_name"` // 移入公海前的原负责人
|
|
PoolInTime *time.Time `orm:"column(pool_in_time);type(datetime);null" json:"pool_in_time"` // 进入公海时间
|
|
PoolReason string `orm:"column(pool_reason);size(200);null" json:"pool_reason"` // 移入公海原因
|
|
CreateUserID string `orm:"column(create_user_id);size(64);null" json:"create_user_id"` // 创建人用户ID,用于删除权限校验
|
|
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
|
|
UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime)" json:"update_time"`
|
|
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
|
|
}
|
|
|
|
func (m *TenantCrmCustomer) TableName() string {
|
|
return "yz_backend_erp_customer"
|
|
}
|