Merge branch 'yongxu-dev' into devlop
# Conflicts: # .cursor/agent/软件测试/evolution/索引.md resolved by yongxu-dev version # .cursor/skills/testing/SKILL.md resolved by yongxu-dev version # .gitignore resolved by yongxu-dev version # miniprogram/app.js resolved by yongxu-dev version # miniprogram/app.json resolved by yongxu-dev version # miniprogram/pages/chapters/chapters.js resolved by yongxu-dev version # miniprogram/pages/index/index.js resolved by yongxu-dev version # miniprogram/pages/index/index.wxml resolved by yongxu-dev version # miniprogram/pages/match/match.js resolved by yongxu-dev version # miniprogram/pages/my/my.js resolved by yongxu-dev version # miniprogram/pages/my/my.wxml resolved by yongxu-dev version # miniprogram/pages/my/my.wxss resolved by yongxu-dev version # miniprogram/pages/read/read.js resolved by yongxu-dev version # miniprogram/pages/read/read.wxml resolved by yongxu-dev version # miniprogram/pages/read/read.wxss resolved by yongxu-dev version # miniprogram/pages/wallet/wallet.js resolved by yongxu-dev version # miniprogram/pages/wallet/wallet.wxml resolved by yongxu-dev version # miniprogram/pages/wallet/wallet.wxss resolved by yongxu-dev version # miniprogram/utils/ruleEngine.js resolved by yongxu-dev version # miniprogram/utils/trackClick.js resolved by yongxu-dev version # soul-admin/dist/index.html resolved by yongxu-dev version # soul-admin/src/components/RichEditor.tsx resolved by yongxu-dev version # soul-admin/src/layouts/AdminLayout.tsx resolved by yongxu-dev version # soul-admin/src/pages/api-docs/ApiDocsPage.tsx resolved by yongxu-dev version # soul-admin/src/pages/content/ContentPage.tsx resolved by yongxu-dev version # soul-admin/src/pages/settings/SettingsPage.tsx resolved by yongxu-dev version # soul-admin/tsconfig.tsbuildinfo resolved by yongxu-dev version # soul-api/.env.production resolved by yongxu-dev version # soul-api/internal/database/database.go resolved by yongxu-dev version # soul-api/internal/handler/balance.go resolved by yongxu-dev version # soul-api/internal/handler/book.go resolved by yongxu-dev version # soul-api/internal/handler/ckb_open.go resolved by yongxu-dev version # soul-api/internal/handler/db.go resolved by yongxu-dev version # soul-api/internal/handler/db_book.go resolved by yongxu-dev version # soul-api/internal/handler/db_person.go resolved by yongxu-dev version # soul-api/internal/handler/search.go resolved by yongxu-dev version # soul-api/internal/handler/upload.go resolved by yongxu-dev version # soul-api/internal/router/router.go resolved by yongxu-dev version # soul-api/wechat/info.log resolved by yongxu-dev version # 开发文档/10、项目管理/运营与变更.md resolved by yongxu-dev version # 开发文档/1、需求/需求汇总.md resolved by yongxu-dev version
This commit is contained in:
22
soul-api/internal/model/gift_pay_request.go
Normal file
22
soul-api/internal/model/gift_pay_request.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
// GiftPayRequest 代付请求表(美团式:发起人创建,好友支付,权益归发起人)
|
||||
type GiftPayRequest struct {
|
||||
ID string `gorm:"column:id;primaryKey;size:50" json:"id"`
|
||||
RequestSN string `gorm:"column:request_sn;uniqueIndex;size:32" json:"requestSn"`
|
||||
InitiatorUserID string `gorm:"column:initiator_user_id;size:50;index" json:"initiatorUserId"`
|
||||
ProductType string `gorm:"column:product_type;size:30" json:"productType"`
|
||||
ProductID string `gorm:"column:product_id;size:50" json:"productId"`
|
||||
Amount float64 `gorm:"column:amount;type:decimal(10,2)" json:"amount"`
|
||||
Description string `gorm:"column:description;size:200" json:"description"`
|
||||
Status string `gorm:"column:status;size:20;index" json:"status"` // pending / paid / cancelled / expired
|
||||
PayerUserID *string `gorm:"column:payer_user_id;size:50" json:"payerUserId,omitempty"`
|
||||
OrderID *string `gorm:"column:order_id;size:50" json:"orderId,omitempty"`
|
||||
ExpireAt time.Time `gorm:"column:expire_at" json:"expireAt"`
|
||||
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"`
|
||||
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"`
|
||||
}
|
||||
|
||||
func (GiftPayRequest) TableName() string { return "gift_pay_requests" }
|
||||
@@ -17,9 +17,13 @@ type Order struct {
|
||||
PayTime *time.Time `gorm:"column:pay_time" json:"payTime,omitempty"`
|
||||
ReferralCode *string `gorm:"column:referral_code;size:255" json:"referralCode,omitempty"`
|
||||
ReferrerID *string `gorm:"column:referrer_id;size:255" json:"referrerId,omitempty"`
|
||||
RefundReason *string `gorm:"column:refund_reason;size:500" json:"refundReason,omitempty"`
|
||||
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"`
|
||||
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"`
|
||||
RefundReason *string `gorm:"column:refund_reason;size:500" json:"refundReason,omitempty"`
|
||||
PaymentMethod *string `gorm:"column:payment_method;size:20" json:"paymentMethod,omitempty"`
|
||||
// 代付:关联代付请求、实际付款人
|
||||
GiftPayRequestID *string `gorm:"column:gift_pay_request_id;size:50" json:"giftPayRequestId,omitempty"`
|
||||
PayerUserID *string `gorm:"column:payer_user_id;size:50" json:"payerUserId,omitempty"`
|
||||
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"`
|
||||
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"`
|
||||
}
|
||||
|
||||
func (Order) TableName() string { return "orders" }
|
||||
|
||||
@@ -37,6 +37,8 @@ type User struct {
|
||||
WithdrawnEarnings *float64 `gorm:"column:withdrawn_earnings;type:decimal(10,2)" json:"withdrawnEarnings,omitempty"`
|
||||
Source *string `gorm:"column:source;size:50" json:"source,omitempty"`
|
||||
|
||||
// 用户标签(管理端编辑、神射手回填共用 ckb_tags 列,JSON 数组字符串)
|
||||
CkbTags *string `gorm:"column:ckb_tags;type:text" json:"tags,omitempty"`
|
||||
// VIP 相关(与 next-project 线上 users 表一致,支持手动设置;管理端需读写)
|
||||
IsVip *bool `gorm:"column:is_vip" json:"isVip,omitempty"`
|
||||
VipExpireDate *time.Time `gorm:"column:vip_expire_date" json:"vipExpireDate,omitempty"`
|
||||
|
||||
24
soul-api/internal/model/user_balance.go
Normal file
24
soul-api/internal/model/user_balance.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
// UserBalance 对应表 user_balances
|
||||
type UserBalance struct {
|
||||
UserID string `gorm:"column:user_id;primaryKey;size:50"`
|
||||
Balance float64 `gorm:"column:balance;type:decimal(10,2);default:0"`
|
||||
UpdatedAt time.Time `gorm:"column:updated_at"`
|
||||
}
|
||||
|
||||
func (UserBalance) TableName() string { return "user_balances" }
|
||||
|
||||
// BalanceTransaction 对应表 balance_transactions
|
||||
type BalanceTransaction struct {
|
||||
ID string `gorm:"column:id;primaryKey;size:50"`
|
||||
UserID string `gorm:"column:user_id;size:50"`
|
||||
Type string `gorm:"column:type;size:20"` // recharge, consume, refund, gift
|
||||
Amount float64 `gorm:"column:amount;type:decimal(10,2)"`
|
||||
OrderID *string `gorm:"column:order_id;size:50"`
|
||||
CreatedAt time.Time `gorm:"column:created_at"`
|
||||
}
|
||||
|
||||
func (BalanceTransaction) TableName() string { return "balance_transactions" }
|
||||
Reference in New Issue
Block a user