增加功能报价

This commit is contained in:
2026-09-16 00:22:17 +08:00
parent 71a14c46f9
commit 60b2658d4b
32 changed files with 3578 additions and 77 deletions
+69
View File
@@ -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" }