You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.9 KiB
78 lines
1.9 KiB
package common |
|
|
|
import ( |
|
"fmt" |
|
"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) |
|
|
|
natsClient.NewCommonNatsImp(conn, natsClient.TopicInnerESBulk, func(data []byte) { |
|
d := new(pb.InnerESBulk) |
|
err := proto.Unmarshal(data, d) |
|
if err != nil { |
|
log.Error("err:%v", err) |
|
return |
|
} |
|
esBulk(d) |
|
}) |
|
} |
|
|
|
type Player struct { |
|
uid int |
|
gid int |
|
settleData *pb.InnerAfterSettle |
|
} |
|
|
|
func afterSettle(d *pb.InnerAfterSettle) { |
|
log.Debug("afterSettle:%+v", *d) |
|
UpdateGameData(d) |
|
// 更新打码排行榜信息 |
|
call.UpdateRankValue(1, int(d.UID), d.TotalBet, 0) |
|
// 更新分享信息 |
|
call.UpdateShare(int(d.UID), 1, d.TotalBet, fmt.Sprintf("%d", d.FinalSettle-d.TotalBet)) |
|
// 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)}) |
|
// }
|
|
|