package models import ( "time" ) // TenantCrmProduct CRM 产品管理(产品台账/目录): yz_backend_crm_product // // 说明: // - 产品可独立维护,也可由「项目生成」时自动写入(project_id 记录来源项目); // - category 复用合同产品分类:1硬件/2软件/3服务/4开发/5其他; // - price 为销售单价,cost_price 为成本单价,tax_rate 为税率(%)。 type TenantCrmProduct struct { ID uint64 `orm:"column(id);pk;auto" json:"id"` TenantID string `orm:"column(tenant_id);size(64)" json:"tenant_id"` ProductNo string `orm:"column(product_no);size(50)" json:"product_no"` // 产品编号 ProductName string `orm:"column(product_name);size(100)" json:"product_name"` // 产品名称 Category string `orm:"column(category);size(20)" json:"category"` // 分类 1硬件/2软件/3服务/4开发/5其他 Unit string `orm:"column(unit);size(20)" json:"unit"` // 单位 Spec string `orm:"column(spec);size(255)" json:"spec"` // 规格型号 Price float64 `orm:"column(price);digits(14);decimals(2);default(0)" json:"price"` // 销售单价 CostPrice float64 `orm:"column(cost_price);digits(14);decimals(2);default(0)" json:"cost_price"` // 成本单价 TaxRate float64 `orm:"column(tax_rate);digits(6);decimals(2);default(0)" json:"tax_rate"` // 税率(%) LineType string `orm:"column(line_type);size(20);default(product)" json:"line_type"` // 行类型 product/dev DevUnitPrice float64 `orm:"column(dev_unit_price);digits(14);decimals(2);default(0)" json:"dev_unit_price"` // 软件开发统一人天单价 DevTree string `orm:"column(dev_tree);type(text);null" json:"dev_tree"` // 软件开发模块树JSON文本 Status int8 `orm:"column(status);default(1)" json:"status"` // 1启用/0停用 ProjectID *uint64 `orm:"column(project_id);null" json:"project_id"` // 来源项目ID(由项目生成时填入) ProjectName string `orm:"column(project_name);size(100)" json:"project_name"` // 来源项目名称 Remark string `orm:"column(remark);type(text);null" json:"remark"` CreateUserID string `orm:"column(create_user_id);size(64)" json:"create_user_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 *TenantCrmProduct) TableName() string { return "yz_backend_crm_product" }