@@ -0,0 +1,69 @@
package models
import "time"
// =============================================================
// 产品定价模型(表结构见 docs/sql/create_platform_product_pricing.sql)
// 产品(名称/编码/价格/关联功能/上下架) -> 功能节点树 -> 购买订单
// =============================================================
// PlatformProduct 产品 yz_platform_product
type PlatformProduct struct {
ID uint64 ` orm:"column(id);pk;auto" json:"id" `
Code string ` orm:"column(code);size(64)" json:"code" `
Name string ` orm:"column(name);size(128)" json:"name" `
Price float64 ` orm:"column(price);digits(10);decimals(2)" json:"price" `
ModuleCode string ` orm:"column(module_code);size(64)" json:"module_code" `
Sort int ` orm:"column(sort);default(0)" json:"sort" `
Status int8 ` orm:"column(status);default(1)" json:"status" `
Remark string ` orm:"column(remark);size(255)" json:"remark" `
CreateTime time . Time ` orm:"column(create_time);type(datetime);auto_now_add" json:"create_time" `
UpdateTime * time . Time ` orm:"column(update_time);type(datetime);null" json:"update_time" `
DeleteTime * time . Time ` orm:"column(delete_time);type(datetime);null" json:"delete_time" `
}
func ( m * PlatformProduct ) TableName ( ) string { return "yz_platform_product" }
// PlatformProductFeature 产品功能节点(树形,pid=0 为顶级) yz_platform_product_feature
type PlatformProductFeature struct {
ID uint64 ` orm:"column(id);pk;auto" json:"id" `
ProductID uint64 ` orm:"column(product_id)" json:"product_id" `
Pid uint64 ` orm:"column(pid)" json:"pid" `
Title string ` orm:"column(title);size(128)" json:"title" `
Description string ` orm:"column(description);size(500)" json:"description" `
Sort int ` orm:"column(sort);default(0)" json:"sort" `
CreateTime time . Time ` orm:"column(create_time);type(datetime);auto_now_add" json:"create_time" `
}
func ( m * PlatformProductFeature ) TableName ( ) string { return "yz_platform_product_feature" }
// 购买订单状态
const (
ProductOrderStatusPending = "pending" // 待支付
ProductOrderStatusPaid = "paid" // 已支付(待开通)
ProductOrderStatusActivated = "activated" // 已开通
ProductOrderStatusClosed = "closed" // 已关闭
)
// PlatformProductOrder 产品购买订单 yz_platform_product_order
type PlatformProductOrder struct {
ID uint64 ` orm:"column(id);pk;auto" json:"id" `
OrderNo string ` orm:"column(order_no);size(40)" json:"order_no" `
Tid uint64 ` orm:"column(tid)" json:"tid" `
TenantName string ` orm:"column(tenant_name);size(128)" json:"tenant_name" `
ProductID uint64 ` orm:"column(product_id)" json:"product_id" `
ProductCode string ` orm:"column(product_code);size(64)" json:"product_code" `
ProductName string ` orm:"column(product_name);size(128)" json:"product_name" `
Amount float64 ` orm:"column(amount);digits(10);decimals(2)" json:"amount" `
PackageID uint64 ` orm:"column(package_id)" json:"package_id" `
PayNo string ` orm:"column(pay_no);size(40)" json:"pay_no" `
Channel string ` orm:"column(channel);size(32)" json:"channel" `
Status string ` orm:"column(status);size(20);default(pending)" json:"status" `
ActivateTime * time . Time ` orm:"column(activate_time);type(datetime);null" json:"activate_time" `
Remark string ` orm:"column(remark);size(255)" json:"remark" `
CreateTime time . Time ` orm:"column(create_time);type(datetime);auto_now_add" json:"create_time" `
UpdateTime * time . Time ` orm:"column(update_time);type(datetime);null" json:"update_time" `
DeleteTime * time . Time ` orm:"column(delete_time);type(datetime);null" json:"delete_time" `
}
func ( m * PlatformProductOrder ) TableName ( ) string { return "yz_platform_product_order" }