44 lines
845 B
Go
44 lines
845 B
Go
package services
|
|
|
|
import (
|
|
m "platform/web/models"
|
|
|
|
"github.com/shopspring/decimal"
|
|
)
|
|
|
|
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{
|
|
UserID: uid,
|
|
BillNo: billNo,
|
|
TradeID: &trade.ID,
|
|
Type: m.BillTypeRecharge,
|
|
Info: &info,
|
|
Amount: amount,
|
|
}
|
|
}
|
|
|
|
func newForConsume(uid int32, billNo string, info string, amount decimal.Decimal, resource *m.Resource, trade ...*m.Trade) *m.Bill {
|
|
var bill = &m.Bill{
|
|
UserID: uid,
|
|
BillNo: billNo,
|
|
ResourceID: &resource.ID,
|
|
Type: m.BillTypeConsume,
|
|
Info: &info,
|
|
Amount: amount,
|
|
}
|
|
|
|
if len(trade) > 0 {
|
|
bill.TradeID = &trade[0].ID
|
|
}
|
|
|
|
return bill
|
|
}
|