feat(server): 商业化支付与订单系统 + Harness 改进
Build and Publish Server / build (push) Successful in 4m30s

- 新增商业化模块:Stripe/Binance Pay 支付、邮箱登录、订单管理
- 新增数据模型:ReportProduct, ReportEntitlement, ReportSnapshot, PaymentEvent, EmailLoginCode
- 新增 API:/api/commerce/checkout, /api/commerce/webhooks/*, /api/commerce/orders/*
- 新增管理后台:订单列表、统计图表、统一 AdminHeader 组件
- 新增中间件测试:RateLimit, Auth, CORS 共 7 个测试用例
- 新增 AGENTS.md 项目代理指令文件
- 新增 REMINDER.md 商业化功能开发规范
- 修复 JWT 解析:添加 WithValidMethods 限制 HS256
- 修复 GetPayStatus:增加用户权限校验
- 更新 .gitignore 和 README.md
This commit is contained in:
gouki
2026-09-19 18:57:23 +00:00
parent 241a04496b
commit deb32f8fab
52 changed files with 5419 additions and 339 deletions
+15 -1
View File
@@ -5,9 +5,9 @@ import (
"log"
"github.com/glebarez/sqlite"
"github.com/gouki/lunar-server/internal/model"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"github.com/gouki/lunar-server/internal/model"
)
var DB *gorm.DB
@@ -56,6 +56,12 @@ func autoMigrate() error {
&model.BirthProfile{},
&model.Order{},
&model.OrderItem{},
&model.ReportProduct{},
&model.ReportEntitlement{},
&model.ReportSnapshot{},
&model.PaymentEvent{},
&model.EmailLoginCode{},
&model.BaziChartRecord{},
&model.WishTree{},
&model.Wish{},
&model.WishProduct{},
@@ -78,6 +84,14 @@ func autoMigrate() error {
// seedDefaultData 初始化默认数据
func seedDefaultData() error {
reportProduct := model.ReportProduct{
Code: "bazi_full_report", Name: "八字完整精批报告", Description: "六大主题与十步大运完整解读",
StripeAmount: 499, StripeCurrency: "USD", BinanceAmount: "5.00", BinanceCurrency: "USDT", Status: 1,
}
if err := DB.Where("code = ?", reportProduct.Code).FirstOrCreate(&reportProduct).Error; err != nil {
return err
}
// 补充已有许愿树的背景图(新增字段后老数据为空)
if err := DB.Model(&model.WishTree{}).
Where("image = '' OR image IS NULL").