Files
platform/web/services/bill.go

52 lines
1.3 KiB
Go
Raw Normal View History

package services
import (
m "platform/web/models"
q "platform/web/queries"
"github.com/shopspring/decimal"
)
var Bill = &billService{}
type billService struct{}
func (s *billService) CreateForBalance(q *q.Query, uid, tradeId int32, detail *TradeDetail) error {
return q.Bill.Create(&m.Bill{
UserID: uid,
BillNo: ID.GenReadable("bil"),
TradeID: &tradeId,
Type: m.BillTypeRecharge,
Info: &detail.Subject,
Amount: detail.Amount,
Actual: detail.Actual,
})
}
func (s *billService) CreateForResourceByTrade(q *q.Query, uid, tradeId, resourceId int32, detail *TradeDetail) error {
return q.Bill.Create(&m.Bill{
UserID: uid,
BillNo: ID.GenReadable("bil"),
ResourceID: &resourceId,
TradeID: &tradeId,
CouponID: detail.CouponId,
Type: m.BillTypeConsume,
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,
})
}