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, 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{ UserID: uid, BillNo: ID.GenReadable("bil"), ResourceID: &resourceId, TradeID: tradeId, CouponUserID: detail.CouponUserId, Type: m.BillTypeConsume, Info: &detail.Subject, Amount: detail.Discounted, Actual: detail.Actual, } err := q.Bill.Create(bill) if err != nil { return nil, err } return bill, nil }