fix 重复下分

This commit is contained in:
sk 2025-04-08 15:53:57 +08:00
parent 80eb392d17
commit 5614a844b6
1 changed files with 30 additions and 38 deletions

View File

@ -2991,17 +2991,17 @@ func init() {
} }
var remainNum int64 var remainNum int64
var addcoin int64 var addCoin int64
var logtype = int32(common.GainWayPlatformUpScore) var logType = int32(common.GainWayPlatformUpScore)
addcoin, err = strconv.ParseInt(msg.Count, 10, 64) addCoin, err = strconv.ParseInt(msg.Count, 10, 64)
if err != nil { if err != nil {
logger.Logger.Error("Unmarshal webapi.PlatfromUpScoreReq strconv.ParseInt error:", err) logger.Logger.Error("Unmarshal webapi.PlatfromUpScoreReq strconv.ParseInt error:", err)
jsonDataRsp, err = json.Marshal(pack) jsonDataRsp, err = json.Marshal(pack)
return common.ResponseTag_ParamError, jsonDataRsp return common.ResponseTag_ParamError, jsonDataRsp
} }
if addcoin <= 0 { if addCoin <= 0 {
logger.Logger.Error("/api/platform/upscore addcoin:%v less 0", addcoin) logger.Logger.Error("/api/platform/upscore addCoin:%v less 0", addCoin)
jsonDataRsp, err = json.Marshal(pack) jsonDataRsp, err = json.Marshal(pack)
return common.ResponseTag_ParamError, jsonDataRsp return common.ResponseTag_ParamError, jsonDataRsp
} }
@ -3011,7 +3011,7 @@ func init() {
//玩家在线 //玩家在线
if player != nil { if player != nil {
remainNum = player.Coin remainNum = player.Coin
if player.Coin+addcoin < 0 { if player.Coin+addCoin < 0 {
pack.Code = int(webapiproto.TagCode_FAILED) pack.Code = int(webapiproto.TagCode_FAILED)
pack.Message = "coin not enough!" pack.Message = "coin not enough!"
return common.ResponseTag_ParamError, pack return common.ResponseTag_ParamError, pack
@ -3030,7 +3030,7 @@ func init() {
pack.Code = int(webapiproto.TagCode_SUCCESS) pack.Code = int(webapiproto.TagCode_SUCCESS)
pack.Message = data.(error).Error() pack.Message = data.(error).Error()
} else { } else {
player.AddCoin(addcoin, 0, common.GainWayPlatformUpScore, "platform", "平台上分") player.AddCoin(addCoin, 0, common.GainWayPlatformUpScore, "platform", "平台上分")
player.SendDiffData() player.SendDiffData()
} }
@ -3063,10 +3063,10 @@ func init() {
UserName: msg.Username, UserName: msg.Username,
Channel: findPlayer.Channel, Channel: findPlayer.Channel,
ChangeType: common.BillTypeCoin, ChangeType: common.BillTypeCoin,
ChangeNum: addcoin, ChangeNum: addCoin,
RemainNum: remainNum + addcoin, RemainNum: remainNum + addCoin,
Add: 0, Add: 0,
LogType: logtype, LogType: logType,
GameID: 0, GameID: 0,
GameFreeID: 0, GameFreeID: 0,
BaseCoin: 0, BaseCoin: 0,
@ -3074,7 +3074,7 @@ func init() {
Remark: "不在线平台上分", Remark: "不在线平台上分",
}) })
err := model.UpdatePlayerCoin(findPlayer.Platform, findPlayer.SnId, findPlayer.Coin+addcoin, err := model.UpdatePlayerCoin(findPlayer.Platform, findPlayer.SnId, findPlayer.Coin+addCoin,
findPlayer.Diamond, findPlayer.SafeBoxCoin, findPlayer.CoinPayTs, findPlayer.SafeBoxCoinTs, findPlayer.MoneyPayTotal, findPlayer.ShopID) findPlayer.Diamond, findPlayer.SafeBoxCoin, findPlayer.CoinPayTs, findPlayer.SafeBoxCoinTs, findPlayer.MoneyPayTotal, findPlayer.ShopID)
if err != nil { if err != nil {
logger.Logger.Errorf("model.UpdatePlayerCoin err:%v.", err) logger.Logger.Errorf("model.UpdatePlayerCoin err:%v.", err)
@ -3091,7 +3091,7 @@ func init() {
} }
} }
remainNum = findPlayer.Coin + addcoin remainNum = findPlayer.Coin + addCoin
return nil return nil
}), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) { }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) {
pack.Code = int(webapiproto.TagCode_SUCCESS) pack.Code = int(webapiproto.TagCode_SUCCESS)
@ -3139,15 +3139,11 @@ func init() {
player := PlayerMgrSington.GetPlayerByUsername(msg.Username) player := PlayerMgrSington.GetPlayerByUsername(msg.Username)
var remainNum int64 var remainNum int64
var addcoin int64 var addCoin int64
var logtype = int32(common.GainWayPlatformDownScore) var logType = int32(common.GainWayPlatformDownScore)
//玩家在线 //玩家在线
if player != nil { if player != nil {
addcoin = -player.Coin
remainNum = player.Coin
platform := player.Platform
//玩家在游戏内 //玩家在游戏内
if player.scene != nil { if player.scene != nil {
pack.Code = int(webapiproto.TagCode_FAILED) pack.Code = int(webapiproto.TagCode_FAILED)
@ -3156,7 +3152,7 @@ func init() {
return common.ResponseTag_ParamError, jsonDataRsp return common.ResponseTag_ParamError, jsonDataRsp
} }
if len(platform) <= 0 { if len(player.Platform) <= 0 {
pack.Code = int(webapiproto.TagCode_FAILED) pack.Code = int(webapiproto.TagCode_FAILED)
pack.Message = "player platform forbit!" pack.Message = "player platform forbit!"
jsonDataRsp, err = json.Marshal(pack) jsonDataRsp, err = json.Marshal(pack)
@ -3167,21 +3163,17 @@ func init() {
return nil return nil
}), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) { }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) {
addCoin = -player.Coin
remainNum = player.Coin
logger.Logger.Tracef("/api/platform/downscore player online snid:%v, player.Coin:%v", player.SnId, player.Coin)
player.AddCoin(addCoin, 0, common.GainWayPlatformDownScore, "platform", "平台下分")
player.SendDiffData()
pack.Code = int(webapiproto.TagCode_SUCCESS) pack.Code = int(webapiproto.TagCode_SUCCESS)
pack.Message = "返回成功" pack.Message = "返回成功"
pack.Success = true pack.Success = true
pack.Data.Money = strconv.FormatInt(remainNum-player.Coin, 10)
if data != nil {
pack.Success = false
pack.Code = int(webapiproto.TagCode_FAILED)
pack.Message = data.(error).Error()
} else {
logger.Logger.Tracef("/api/platform/downscore player online snid:%v, player.Coin:%v", player.SnId, player.Coin)
player.AddCoin(addcoin, 0, common.GainWayPlatformDownScore, "platform", "平台下分")
player.SendDiffData()
}
pack.Data.Money = strconv.FormatInt(-addcoin, 10)
jsonDataRsp, err = json.Marshal(pack) jsonDataRsp, err = json.Marshal(pack)
if err != nil { if err != nil {
@ -3203,7 +3195,7 @@ func init() {
findPlayer, _ := model.GetPlayerDataBySnId(acc.Platform, int32(acc.SnId), false, true) findPlayer, _ := model.GetPlayerDataBySnId(acc.Platform, int32(acc.SnId), false, true)
if findPlayer != nil { if findPlayer != nil {
addcoin = -findPlayer.Coin addCoin = -findPlayer.Coin
remainNum = findPlayer.Coin remainNum = findPlayer.Coin
if findPlayer.Coin <= 0 { if findPlayer.Coin <= 0 {
return nil return nil
@ -3218,10 +3210,10 @@ func init() {
UserName: msg.Username, UserName: msg.Username,
Channel: findPlayer.Channel, Channel: findPlayer.Channel,
ChangeType: common.BillTypeCoin, ChangeType: common.BillTypeCoin,
ChangeNum: addcoin, ChangeNum: addCoin,
RemainNum: remainNum + addcoin, RemainNum: remainNum + addCoin,
Add: 0, Add: 0,
LogType: logtype, LogType: logType,
GameID: 0, GameID: 0,
GameFreeID: 0, GameFreeID: 0,
BaseCoin: 0, BaseCoin: 0,
@ -3229,7 +3221,7 @@ func init() {
Remark: "不在线平台下分", Remark: "不在线平台下分",
}) })
err := model.UpdatePlayerCoin(findPlayer.Platform, findPlayer.SnId, findPlayer.Coin+addcoin, err := model.UpdatePlayerCoin(findPlayer.Platform, findPlayer.SnId, findPlayer.Coin+addCoin,
findPlayer.Diamond, findPlayer.SafeBoxCoin, findPlayer.CoinPayTs, findPlayer.SafeBoxCoinTs, findPlayer.MoneyPayTotal, findPlayer.ShopID) findPlayer.Diamond, findPlayer.SafeBoxCoin, findPlayer.CoinPayTs, findPlayer.SafeBoxCoinTs, findPlayer.MoneyPayTotal, findPlayer.ShopID)
if err != nil { if err != nil {
logger.Logger.Errorf("model.UpdatePlayerCoin err:%v.", err) logger.Logger.Errorf("model.UpdatePlayerCoin err:%v.", err)
@ -3246,7 +3238,7 @@ func init() {
} }
} }
remainNum = findPlayer.Coin + addcoin remainNum = findPlayer.Coin + addCoin
return nil return nil
}), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) { }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) {
pack.Code = int(webapiproto.TagCode_SUCCESS) pack.Code = int(webapiproto.TagCode_SUCCESS)
@ -3259,7 +3251,7 @@ func init() {
pack.Message = data.(error).Error() pack.Message = data.(error).Error()
} }
pack.Data.Money = strconv.FormatInt(-addcoin, 10) pack.Data.Money = strconv.FormatInt(-addCoin, 10)
jsonDataRsp, err = json.Marshal(pack) jsonDataRsp, err = json.Marshal(pack)
if err != nil { if err != nil {