Files
platform/web/services/bill.go

51 lines
1.0 KiB
Go
Raw Normal View History

package services
import (
m "platform/web/models"
q "platform/web/queries"
)
var Bill = &billService{}
type billService struct{}
func (s *billService) CreateForBalance(q *q.Query, uid, tradeId int32, detail *TradeDetail) (*m.Bill, error) {
bill := &m.Bill{
UserID: uid,
BillNo: ID.GenReadable("bil"),
TradeID: &tradeId,
Type: m.BillTypeRecharge,
Info: &detail.Subject,
2026-04-15 16:56:24 +08:00
Amount: detail.Discounted,
Actual: detail.Actual,
}
err := q.Bill.Create(bill)
if err != nil {
return nil, err
}
return bill, nil
}
func (s *billService) CreateForResource(q *q.Query, uid, resourceId int32, tradeId *int32, detail *TradeDetail) (*m.Bill, error) {
bill := &m.Bill{
2026-04-09 14:58:20 +08:00
UserID: uid,
BillNo: ID.GenReadable("bil"),
ResourceID: &resourceId,
TradeID: tradeId,
CouponUserID: detail.CouponUserId,
Type: m.BillTypeConsume,
Info: &detail.Subject,
2026-04-15 16:56:24 +08:00
Amount: detail.Discounted,
2026-04-09 14:58:20 +08:00
Actual: detail.Actual,
}
err := q.Bill.Create(bill)
if err != nil {
return nil, err
}
return bill, nil
}