完善套餐与账单接口 & 完善支付数据保存,记录实付价格并关联优惠券

This commit is contained in:
2026-03-26 14:39:19 +08:00
parent 5ffa151f58
commit 75ad12efb3
23 changed files with 706 additions and 613 deletions

View File

@@ -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,
})
}