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