add 添加订单号

This commit is contained in:
sk 2025-04-10 09:27:27 +08:00
parent fec3f97533
commit c3de747871
2 changed files with 27 additions and 18 deletions

View File

@ -54,7 +54,11 @@ func GetCoinLogBySnidAndInGameAndGreaterTs(plt string, id int32, roomid int32, t
}
func (svc *CoinLogSvc) GetCoinLogBySnidAndLessTs(args *model.GetCoinLogBySnidAndLessTsArg, ret *[]model.CoinLog) (err error) {
err = CoinLogsCollection(args.Plt).Find(bson.M{"snid": args.SnId, "time": bson.M{"$lt": time.Unix(args.Ts, 0)}}).Sort("-ts").Limit(CoinLogMaxLimitPerQuery).All(ret)
c := CoinLogsCollection(args.Plt)
if c == nil {
return errors.New("not found collection")
}
err = c.Find(bson.M{"snid": args.SnId, "logtype": common.GainWayPlatformUpScore}).Sort("-_id").Limit(1).All(ret)
return
}

View File

@ -3042,6 +3042,7 @@ func init() {
}
pack.Data.Count = player.Coin
pack.Data.TransferID = msg.TransferID
jsonDataRsp, err = json.Marshal(pack)
if err != nil {
@ -3121,6 +3122,7 @@ func init() {
}
pack.Data.Count = remainNum
pack.Data.TransferID = msg.TransferID
jsonDataRsp, err = json.Marshal(pack)
if err != nil {
@ -3158,6 +3160,7 @@ func init() {
var remainNum int64
var addCoin int64
var logType = int32(common.GainWayPlatformDownScore)
var transferId string
//玩家在线
if player != nil {
@ -3176,14 +3179,13 @@ func init() {
return common.ResponseTag_ParamError, jsonDataRsp
}
if CacheDataMgr.CacheBillStrCheck(msg.TransferID, player.Platform) {
jsonDataRsp, err = json.Marshal(pack)
return common.ResponseTag_ParamError, jsonDataRsp
}
CacheDataMgr.CacheBillStr(msg.TransferID, player.Platform)
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
return nil
// 查询最新订单号
arr, err := model.GetCoinLogBySnidAndLessTs(player.Platform, player.SnId, 0)
if len(arr) > 0 {
transferId = arr[0].TransferID
}
return err
}), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) {
addCoin = -player.Coin
@ -3197,6 +3199,7 @@ func init() {
pack.Message = "返回成功"
pack.Success = true
pack.Data.Money = strconv.FormatInt(remainNum-player.Coin, 10)
pack.Data.TransferID = transferId
jsonDataRsp, err = json.Marshal(pack)
if err != nil {
@ -3205,24 +3208,18 @@ func init() {
tNode.TransRep.RetFiels = jsonDataRsp
tNode.Resume()
CacheDataMgr.ClearCacheStrBill(msg.TransferID, player.Platform)
}), "/api/platform/downscore").StartByFixExecutor("UserName:" + msg.Username)
} else {
//玩家不在线
var acc *model.Account
var transferId string
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
acc, err = model.GetAccountByName("1", msg.Username)
if acc == nil {
return errors.New("not found")
}
if CacheDataMgr.CacheBillStrCheck(msg.TransferID, acc.Platform) {
jsonDataRsp, err = json.Marshal(pack)
return errors.New("transfer repeat")
}
CacheDataMgr.CacheBillStr(msg.TransferID, acc.Platform)
findPlayer, _ := model.GetPlayerDataBySnId(acc.Platform, int32(acc.SnId), false, true)
findPlayer, _ := model.GetPlayerDataBySnId(acc.Platform, acc.SnId, false, true)
if findPlayer != nil {
addCoin = -findPlayer.Coin
@ -3232,6 +3229,14 @@ func init() {
}
logger.Logger.Tracef("/api/platform/downscore player not online findPlayerSnid:%v, findPlayer.Coin:%v", findPlayer.SnId, findPlayer.Coin)
// 查询最新订单号
arr, err := model.GetCoinLogBySnidAndLessTs(acc.Platform, acc.SnId, 0)
if err != nil {
return err
}
if len(arr) > 0 {
transferId = arr[0].TransferID
}
//增加帐变记录
coinlogex := model.NewCoinLogEx(&model.CoinLogParam{
@ -3252,7 +3257,7 @@ func init() {
TransferID: msg.TransferID,
})
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)
@ -3283,6 +3288,7 @@ func init() {
}
pack.Data.Money = strconv.FormatInt(-addCoin, 10)
pack.Data.TransferID = transferId
jsonDataRsp, err = json.Marshal(pack)
if err != nil {
@ -3291,7 +3297,6 @@ func init() {
tNode.TransRep.RetFiels = jsonDataRsp
tNode.Resume()
CacheDataMgr.ClearCacheStrBill(msg.TransferID, acc.Platform)
}), "/api/platform/downscore").StartByFixExecutor("UserName:" + msg.Username)
}
return common.ResponseTag_TransactYield, jsonDataRsp