完善套餐与账单接口 & 完善支付数据保存,记录实付价格并关联优惠券
This commit is contained in:
@@ -2,6 +2,7 @@ package services
|
||||
|
||||
import (
|
||||
m "platform/web/models"
|
||||
q "platform/web/queries"
|
||||
|
||||
"github.com/shopspring/decimal"
|
||||
)
|
||||
@@ -10,34 +11,41 @@ var Bill = &billService{}
|
||||
|
||||
type billService struct{}
|
||||
|
||||
func (s *billService) GenNo() string {
|
||||
return ID.GenReadable("bil")
|
||||
}
|
||||
|
||||
func newForRecharge(uid int32, billNo string, info string, amount decimal.Decimal, trade *m.Trade) *m.Bill {
|
||||
return &m.Bill{
|
||||
func (s *billService) CreateForBalance(q *q.Query, uid, tradeId int32, detail *TradeDetail) error {
|
||||
return q.Bill.Create(&m.Bill{
|
||||
UserID: uid,
|
||||
BillNo: billNo,
|
||||
TradeID: &trade.ID,
|
||||
BillNo: ID.GenReadable("bil"),
|
||||
TradeID: &tradeId,
|
||||
Type: m.BillTypeRecharge,
|
||||
Info: &info,
|
||||
Amount: amount,
|
||||
}
|
||||
Info: &detail.Subject,
|
||||
Amount: detail.Amount,
|
||||
Actual: detail.Actual,
|
||||
})
|
||||
}
|
||||
|
||||
func newForConsume(uid int32, billNo string, info string, amount decimal.Decimal, resource *m.Resource, trade ...*m.Trade) *m.Bill {
|
||||
var bill = &m.Bill{
|
||||
func (s *billService) CreateForResourceByTrade(q *q.Query, uid, tradeId, resourceId int32, detail *TradeDetail) error {
|
||||
return q.Bill.Create(&m.Bill{
|
||||
UserID: uid,
|
||||
BillNo: billNo,
|
||||
ResourceID: &resource.ID,
|
||||
BillNo: ID.GenReadable("bil"),
|
||||
ResourceID: &resourceId,
|
||||
TradeID: &tradeId,
|
||||
CouponID: detail.CouponId,
|
||||
Type: m.BillTypeConsume,
|
||||
Info: &info,
|
||||
Amount: amount,
|
||||
}
|
||||
|
||||
if len(trade) > 0 {
|
||||
bill.TradeID = &trade[0].ID
|
||||
}
|
||||
|
||||
return bill
|
||||
Info: &detail.Subject,
|
||||
Amount: detail.Amount,
|
||||
Actual: detail.Actual,
|
||||
})
|
||||
}
|
||||
|
||||
func (s *billService) CreateForResourceByBalance(q *q.Query, uid, resourceId int32, couponId *int32, subject string, amount, actual decimal.Decimal) error {
|
||||
return q.Bill.Create(&m.Bill{
|
||||
UserID: uid,
|
||||
BillNo: ID.GenReadable("bil"),
|
||||
ResourceID: &resourceId,
|
||||
CouponID: couponId,
|
||||
Type: m.BillTypeConsume,
|
||||
Info: &subject,
|
||||
Amount: amount,
|
||||
Actual: actual,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user