| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package charge
- import (
- "f1-game/internal/code"
- "f1-game/internal/facade"
- nameRoute "f1-game/internal/name/route"
- "f1-game/internal/sessions"
- "f1-game/nodes/game/internal/db"
- ctime "github.com/cherry-game/cherry/extend/time"
- cproto "github.com/cherry-game/cherry/net/proto"
- )
- var srv = &service{
- typ: newServiceType(),
- }
- func Service() *service {
- return srv
- }
- type service struct {
- facade.PlayerServiceBase[*db.PlayerTable]
- typ serviceType
- }
- func (p *service) OnCheck(playerID int64, chargeID, chargeType, chargeParams int32) int32 {
- if parser, found := p.typ.get(chargeType); found {
- return parser.OnCheck(playerID, chargeID, chargeParams)
- }
- return code.PayChargeParamsError
- }
- func (p *service) OnDeliver(playerID int64, chargeID, chargeType, chargeParams int32) int32 {
- if parser, found := p.typ.get(chargeType); found {
- return parser.OnDeliver(playerID, chargeID, chargeParams)
- }
- return code.PayChargeParamsError
- }
- func (p *service) OnReset(playerTable *db.PlayerTable, _ *ctime.CherryTime, _ bool) {
- chargeTable := db.GetChargeTable(playerTable.PlayerID)
- chargeTable.DailyReset()
- chargeTable.Save2Queue()
- }
- func (p *service) Push(playerTable *db.PlayerTable, session *cproto.Session) {
- chargeTable := db.GetChargeTable(playerTable.PlayerID)
- sessions.PushWithSession(session, nameRoute.PushGamePlayer_ChargeData, chargeTable.Data.ToProto())
- }
- func (p *service) ChargePush(playerID int64) {
- if session, found := sessions.GetSession(playerID); found {
- playerTable, _ := db.GetPlayerTable(playerID)
- p.Push(playerTable, session)
- }
- }
|