package svc import ( "errors" "github.com/globalsign/mgo" "github.com/globalsign/mgo/bson" "mongo.games.com/game/dbproxy/mongo" "mongo.games.com/game/model" "mongo.games.com/goserver/core/logger" "net/rpc" ) var ( AwardLogDBErr = errors.New("log_awardlog db open failed.") ) func AwardLogCollection(plt string) *mongo.Collection { s := mongo.MgoSessionMgrSington.GetPltMgoSession(plt, model.AwardLogDBName) if s != nil { c, first := s.DB().C(model.AwardLogCollName) if first { } return c } return nil } func FetchAwardLog(plt string) (recs model.AwardLog, err error) { c := AwardLogCollection(plt) if c == nil { return recs, AwardLogDBErr } err = c.Find(bson.M{}).One(&recs) return } type AwardLogSvc struct { } func (svc *AwardLogSvc) FetchAwardLog(args *model.FetchAwardLogArgs, ret *model.AwardLog) (err error) { *ret, err = FetchAwardLog(args.Plt) if err != nil && !errors.Is(err, mgo.ErrNotFound) { return err } return nil } func (svc *AwardLogSvc) UpsertAwardLog(args *model.FetchAwardLogArgs, ret *model.AwardLog) error { cc := AwardLogCollection(args.Plt) if cc == nil { return AwardLogDBErr } _, err := cc.Upsert(bson.M{}, args.Data) if err != nil { logger.Logger.Error("UpsertAwardLog is err: ", err) return err } ret = args.Data return nil } func init() { rpc.Register(new(AwardLogSvc)) }