重构交易处理逻辑,合并充值与购买流程,优化交易状态管理;更新相关数据结构和接口
This commit is contained in:
@@ -38,14 +38,15 @@ func newTrade(db *gorm.DB, opts ...gen.DOOption) trade {
|
||||
_trade.Payment = field.NewField(tableName, "payment")
|
||||
_trade.Method = field.NewInt32(tableName, "method")
|
||||
_trade.Status = field.NewInt32(tableName, "status")
|
||||
_trade.PayURL = field.NewString(tableName, "pay_url")
|
||||
_trade.PaidAt = field.NewField(tableName, "paid_at")
|
||||
_trade.CancelAt = field.NewField(tableName, "cancel_at")
|
||||
_trade.CreatedAt = field.NewField(tableName, "created_at")
|
||||
_trade.UpdatedAt = field.NewField(tableName, "updated_at")
|
||||
_trade.DeletedAt = field.NewField(tableName, "deleted_at")
|
||||
_trade.Acquirer = field.NewInt32(tableName, "acquirer")
|
||||
_trade.Platform = field.NewInt32(tableName, "platform")
|
||||
_trade.PaymentURL = field.NewString(tableName, "payment_url")
|
||||
_trade.CompletedAt = field.NewField(tableName, "completed_at")
|
||||
_trade.CanceledAt = field.NewField(tableName, "canceled_at")
|
||||
_trade.Refunded = field.NewBool(tableName, "refunded")
|
||||
|
||||
_trade.fillFieldMap()
|
||||
|
||||
@@ -55,26 +56,27 @@ func newTrade(db *gorm.DB, opts ...gen.DOOption) trade {
|
||||
type trade struct {
|
||||
tradeDo
|
||||
|
||||
ALL field.Asterisk
|
||||
ID field.Int32 // 订单ID
|
||||
UserID field.Int32 // 用户ID
|
||||
InnerNo field.String // 内部订单号
|
||||
OuterNo field.String // 外部订单号
|
||||
Type field.Int32 // 订单类型:1-购买产品,2-充值余额
|
||||
Subject field.String // 订单主题
|
||||
Remark field.String // 订单备注
|
||||
Amount field.Field // 订单总金额
|
||||
Payment field.Field // 支付金额
|
||||
Method field.Int32 // 支付方式:1-支付宝,2-微信,3-商福通渠道支付宝,4-商福通渠道微信
|
||||
Status field.Int32 // 订单状态:0-待支付,1-已支付,2-已取消,3-已退款
|
||||
PayURL field.String // 支付链接
|
||||
PaidAt field.Field // 支付时间
|
||||
CancelAt field.Field // 取消时间
|
||||
CreatedAt field.Field // 创建时间
|
||||
UpdatedAt field.Field // 更新时间
|
||||
DeletedAt field.Field // 删除时间
|
||||
Acquirer field.Int32 // 收单机构:1-支付宝,2-微信,3-银联
|
||||
Platform field.Int32 // 支付平台:1-电脑网站,2-手机网站
|
||||
ALL field.Asterisk
|
||||
ID field.Int32 // 订单ID
|
||||
UserID field.Int32 // 用户ID
|
||||
InnerNo field.String // 内部订单号
|
||||
OuterNo field.String // 外部订单号
|
||||
Type field.Int32 // 订单类型:1-购买产品,2-充值余额
|
||||
Subject field.String // 订单主题
|
||||
Remark field.String // 订单备注
|
||||
Amount field.Field // 订单总金额
|
||||
Payment field.Field // 支付金额
|
||||
Method field.Int32 // 支付方式:1-支付宝,2-微信,3-商福通渠道支付宝,4-商福通渠道微信
|
||||
Status field.Int32 // 订单状态:0-待支付,1-已支付,2-已取消
|
||||
CreatedAt field.Field // 创建时间
|
||||
UpdatedAt field.Field // 更新时间
|
||||
DeletedAt field.Field // 删除时间
|
||||
Acquirer field.Int32 // 收单机构:1-支付宝,2-微信,3-银联
|
||||
Platform field.Int32 // 支付平台:1-电脑网站,2-手机网站
|
||||
PaymentURL field.String // 支付链接
|
||||
CompletedAt field.Field // 支付时间
|
||||
CanceledAt field.Field // 取消时间
|
||||
Refunded field.Bool
|
||||
|
||||
fieldMap map[string]field.Expr
|
||||
}
|
||||
@@ -102,14 +104,15 @@ func (t *trade) updateTableName(table string) *trade {
|
||||
t.Payment = field.NewField(table, "payment")
|
||||
t.Method = field.NewInt32(table, "method")
|
||||
t.Status = field.NewInt32(table, "status")
|
||||
t.PayURL = field.NewString(table, "pay_url")
|
||||
t.PaidAt = field.NewField(table, "paid_at")
|
||||
t.CancelAt = field.NewField(table, "cancel_at")
|
||||
t.CreatedAt = field.NewField(table, "created_at")
|
||||
t.UpdatedAt = field.NewField(table, "updated_at")
|
||||
t.DeletedAt = field.NewField(table, "deleted_at")
|
||||
t.Acquirer = field.NewInt32(table, "acquirer")
|
||||
t.Platform = field.NewInt32(table, "platform")
|
||||
t.PaymentURL = field.NewString(table, "payment_url")
|
||||
t.CompletedAt = field.NewField(table, "completed_at")
|
||||
t.CanceledAt = field.NewField(table, "canceled_at")
|
||||
t.Refunded = field.NewBool(table, "refunded")
|
||||
|
||||
t.fillFieldMap()
|
||||
|
||||
@@ -126,7 +129,7 @@ func (t *trade) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
|
||||
}
|
||||
|
||||
func (t *trade) fillFieldMap() {
|
||||
t.fieldMap = make(map[string]field.Expr, 19)
|
||||
t.fieldMap = make(map[string]field.Expr, 20)
|
||||
t.fieldMap["id"] = t.ID
|
||||
t.fieldMap["user_id"] = t.UserID
|
||||
t.fieldMap["inner_no"] = t.InnerNo
|
||||
@@ -138,14 +141,15 @@ func (t *trade) fillFieldMap() {
|
||||
t.fieldMap["payment"] = t.Payment
|
||||
t.fieldMap["method"] = t.Method
|
||||
t.fieldMap["status"] = t.Status
|
||||
t.fieldMap["pay_url"] = t.PayURL
|
||||
t.fieldMap["paid_at"] = t.PaidAt
|
||||
t.fieldMap["cancel_at"] = t.CancelAt
|
||||
t.fieldMap["created_at"] = t.CreatedAt
|
||||
t.fieldMap["updated_at"] = t.UpdatedAt
|
||||
t.fieldMap["deleted_at"] = t.DeletedAt
|
||||
t.fieldMap["acquirer"] = t.Acquirer
|
||||
t.fieldMap["platform"] = t.Platform
|
||||
t.fieldMap["payment_url"] = t.PaymentURL
|
||||
t.fieldMap["completed_at"] = t.CompletedAt
|
||||
t.fieldMap["canceled_at"] = t.CanceledAt
|
||||
t.fieldMap["refunded"] = t.Refunded
|
||||
}
|
||||
|
||||
func (t trade) clone(db *gorm.DB) trade {
|
||||
|
||||
Reference in New Issue
Block a user