重构优化套餐数据结构,修复提取计数问题
This commit is contained in:
@@ -35,12 +35,18 @@ func (s *tradeService) CreateTrade(uid int32, now time.Time, data *CreateTradeDa
|
||||
platform := data.Platform
|
||||
method := data.Method
|
||||
tType := data.Product.GetType()
|
||||
subject := data.Product.GetSubject()
|
||||
amount := data.Product.GetAmount()
|
||||
expire := time.Now().Add(30 * time.Minute)
|
||||
subject, err := data.Product.GetSubject()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
amount, err := data.Product.GetAmount()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 实际支付金额,只在创建真实订单时使用
|
||||
var amountReal = data.Product.GetAmount()
|
||||
amountReal := amount
|
||||
if env.RunMode == env.RunModeDev {
|
||||
amountReal = decimal.NewFromFloat(0.01)
|
||||
}
|
||||
@@ -60,7 +66,7 @@ func (s *tradeService) CreateTrade(uid int32, now time.Time, data *CreateTradeDa
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var expireAt = time.Time(u.Z(coupon.ExpireAt))
|
||||
expireAt := time.Time(u.Z(coupon.ExpireAt))
|
||||
if !expireAt.IsZero() && expireAt.Before(now) {
|
||||
_, err = q.Coupon.
|
||||
Where(q.Coupon.ID.Eq(coupon.ID)).
|
||||
@@ -99,7 +105,7 @@ func (s *tradeService) CreateTrade(uid int32, now time.Time, data *CreateTradeDa
|
||||
}
|
||||
|
||||
// 生成订单号
|
||||
var tradeNo, err = ID.GenSerial()
|
||||
tradeNo, err := ID.GenSerial()
|
||||
if err != nil {
|
||||
return nil, core.NewServErr("生成订单号失败", err)
|
||||
}
|
||||
@@ -692,8 +698,8 @@ type OnTradeCompletedData struct {
|
||||
|
||||
type ProductInfo interface {
|
||||
GetType() m.TradeType
|
||||
GetSubject() string
|
||||
GetAmount() decimal.Decimal
|
||||
GetSubject() (string, error)
|
||||
GetAmount() (decimal.Decimal, error)
|
||||
Serialize() (string, error)
|
||||
Deserialize(str string) error
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user