package common import ( "server/call" "server/common" "server/natsClient" "server/pb" "github.com/gogo/protobuf/proto" "github.com/liangdas/mqant/log" "github.com/nats-io/nats.go" ) func initNats(conn *nats.Conn) { call.InitReload(conn) natsClient.NewCommonNatsImp(conn, natsClient.TopicInnerAfterSettle, func(data []byte) { d := new(pb.InnerAfterSettle) err := proto.Unmarshal(data, d) if err != nil { log.Error("err:%v", err) return } afterSettle(d) }, natsClient.QueueAfterSettle) } type Player struct { uid int gid int settleData *pb.InnerAfterSettle } func afterSettle(d *pb.InnerAfterSettle) { log.Debug("afterSettle:%+v", *d) UpdateGameData(d) call.ShareSettle(d) p := &Player{uid: int(d.UID), gid: int(d.GameID), settleData: d} p.ActivityFirstRechargeBack() } func UpdateGameData(d *pb.InnerAfterSettle) { call.UpdatePlayerProfile(&common.ESGameData{ UID: int(d.UID), Provider: int(d.ProviderID), GameID: int(d.GameID), UUID: d.UUID, Type: common.CurrencyType(d.CurrencyType), BetAmount: d.TotalBet, SettleAmount: d.FinalSettle, MyUUID: d.MyUUID, }) call.UpdateGameSort(int(d.ProviderID), int(d.GameID)) } // 刷新分享投注 // func Share(d *pb.InnerAfterSettle) { // shareInfo := &common.ShareInfo{UID: int(d.UID)} // db.Mysql().Get(shareInfo) // if shareInfo.UP == 0 { // return // } // db.Mysql().Update(&common.ShareInfo{UID: int(d.UID)}, map[string]interface{}{"bet": gorm.Expr("bet + ?", d.TotalBet)}) // }