Merge branch 'develop' of https://git.pogorockgames.com/mango-games/server/game into develop
This commit is contained in:
commit
351d5979ba
|
|
@ -1,6 +1,7 @@
|
|||
package svc
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"github.com/globalsign/mgo"
|
||||
"github.com/globalsign/mgo/bson"
|
||||
"mongo.games.com/game/dbproxy/mongo"
|
||||
|
|
@ -113,10 +114,10 @@ func GetMoneyTotal(platform string, snid int32) int64 {
|
|||
}
|
||||
tc := new(m)
|
||||
err = c.Pipe([]bson.M{
|
||||
{"$match": bson.M{"snid": snid, "state": 1, "consumenum": bson.M{"$gt": 0}}},
|
||||
{"$group": bson.M{"_id": nil, "total": bson.M{"$sum": "$consumenum"}}},
|
||||
{"$match": bson.M{"snid": snid, "state": 1, "consumetypenum": bson.M{"$gt": 0}}},
|
||||
{"$group": bson.M{"_id": nil, "total": bson.M{"$sum": "$consumetypenum"}}},
|
||||
}).AllowDiskUse().One(tc)
|
||||
if err != nil {
|
||||
if err != nil && !errors.Is(err, mgo.ErrNotFound) {
|
||||
logger.Logger.Error("GetMoneyTotal error:", err)
|
||||
return 0
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package svc
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"net/rpc"
|
||||
|
||||
"github.com/globalsign/mgo"
|
||||
|
|
@ -48,14 +49,15 @@ func (svc *ItemLogSvc) InsertItemLog(log *model.ItemLog, ret *bool) (err error)
|
|||
return
|
||||
}
|
||||
|
||||
// GetItemCount 获取v卡兑换消耗数量
|
||||
func GetItemCount(platform string, snid, id int32, tp int) (count int64) {
|
||||
c := ItemLogsCollection(platform)
|
||||
if c == nil {
|
||||
return 0
|
||||
}
|
||||
var err error
|
||||
var swapN, matchN int64
|
||||
var costN, gainN int64
|
||||
var swapN int64
|
||||
var costN int64
|
||||
type m struct {
|
||||
Count int64 `bson:"count"`
|
||||
}
|
||||
|
|
@ -65,51 +67,32 @@ func GetItemCount(platform string, snid, id int32, tp int) (count int64) {
|
|||
{"$match": bson.M{"snid": snid, "logtype": 0, "itemid": id, "typeid": common.GainWay_Exchange}},
|
||||
{"$group": bson.M{"_id": nil, "count": bson.M{"$sum": "$count"}}},
|
||||
}).AllowDiskUse().One(tc)
|
||||
if err != nil {
|
||||
if err != nil && !errors.Is(err, mgo.ErrNotFound) {
|
||||
logger.Logger.Warn("GetItemCount swapN error:", err)
|
||||
return 0
|
||||
}
|
||||
swapN = tc.Count
|
||||
|
||||
// 比赛返回
|
||||
err = c.Pipe([]bson.M{
|
||||
{"$match": bson.M{"snid": snid, "logtype": 0, "itemid": id, "typeid": common.GainWay_MatchSignup}},
|
||||
{"$group": bson.M{"_id": nil, "count": bson.M{"$sum": "$count"}}},
|
||||
}).AllowDiskUse().One(tc)
|
||||
if err != nil {
|
||||
logger.Logger.Warn("GetItemCount matchN error:", err)
|
||||
return 0
|
||||
}
|
||||
matchN = tc.Count
|
||||
|
||||
// 消耗总数量
|
||||
tc = new(m)
|
||||
err = c.Pipe([]bson.M{
|
||||
{"$match": bson.M{"snid": snid, "logtype": 1, "itemid": id}},
|
||||
{"$match": bson.M{"snid": snid, "logtype": 1, "itemid": id, "typeid": common.GainWay_Exchange}},
|
||||
{"$group": bson.M{"_id": nil, "count": bson.M{"$sum": "$count"}}},
|
||||
}).AllowDiskUse().One(tc)
|
||||
if err != nil {
|
||||
if err != nil && !errors.Is(err, mgo.ErrNotFound) {
|
||||
logger.Logger.Warn("GetItemCount costN error:", err)
|
||||
return 0
|
||||
}
|
||||
costN = tc.Count
|
||||
|
||||
// 获得总数量
|
||||
err = c.Pipe([]bson.M{
|
||||
{"$match": bson.M{"snid": snid, "logtype": 0, "itemid": id}},
|
||||
{"$group": bson.M{"_id": nil, "count": bson.M{"$sum": "$count"}}},
|
||||
}).AllowDiskUse().One(tc)
|
||||
if err != nil {
|
||||
logger.Logger.Warn("GetItemCount gainN error:", err)
|
||||
return 0
|
||||
}
|
||||
gainN = tc.Count
|
||||
|
||||
if tp == 0 {
|
||||
// 获得数量 = 获得总数量 - 兑换返还 - 比赛返回
|
||||
count = gainN - swapN - matchN
|
||||
} else {
|
||||
// 消耗数量 = 消耗总数量 - 兑换返还 - 比赛返回
|
||||
count = costN - swapN - matchN
|
||||
// 消耗数量 = 消耗总数量 - 兑换返还
|
||||
count = costN - swapN
|
||||
}
|
||||
if count < 0 {
|
||||
count = 0
|
||||
}
|
||||
return count
|
||||
}
|
||||
|
|
|
|||
|
|
@ -328,6 +328,10 @@ func (svc *PlayerDataSvc) GetPlayerDataBySnId(args *model.GetPlayerDataBySnIdArg
|
|||
return nil
|
||||
}
|
||||
|
||||
defer func() {
|
||||
logger.Logger.Debugf("Player Data: snid:%v VCardCost:%v MoneyTotal:%v", ret.Pd.SnId, ret.Pd.VCardCost, ret.Pd.MoneyTotal)
|
||||
}()
|
||||
|
||||
f := func(p *model.PlayerData) {
|
||||
// 更新一下绑定关系
|
||||
if p.PSnId > 0 && p.PCode != "" {
|
||||
|
|
@ -410,7 +414,6 @@ func (svc *PlayerDataSvc) GetPlayerDataBySnId(args *model.GetPlayerDataBySnIdArg
|
|||
if args.CorrectData && ret.Pd != nil {
|
||||
CorrectData(ret.Pd)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -708,6 +708,8 @@ func ConvertPlayerDataToWebData(param *WebPlayerDataParam) *webapi.PlayerData {
|
|||
pdfw.IsPermit = param.IsPermit
|
||||
pdfw.PermitScore = param.PermitScore
|
||||
pdfw.Long = param.Long
|
||||
pdfw.VCardCost = param.VCardCost
|
||||
pdfw.MoneyTotal = param.MoneyTotal
|
||||
return pdfw
|
||||
}
|
||||
func (this *PlayerData) IsMarkFlag(flag int) bool {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -205,6 +205,8 @@ message PlayerData{
|
|||
bool IsPermit = 56; // 是否已购买典藏通行证
|
||||
int64 Long = 57; // 龙币数量
|
||||
int64 PermitScore = 58; // 赛季通行证积分
|
||||
int64 VCardCost = 59; // v卡消耗
|
||||
int64 MoneyTotal = 60; // 充值总金额
|
||||
}
|
||||
|
||||
message RoomInfo{
|
||||
|
|
|
|||
2
public
2
public
|
|
@ -1 +1 @@
|
|||
Subproject commit 1869e4641809a14e9e5d025e303bdb56350a801c
|
||||
Subproject commit b99c38049f5744e9eda2860329a72fef4324520e
|
||||
|
|
@ -322,9 +322,8 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int
|
|||
if v.ItemId == common.ItemIDPetSkill && v.ItemNum > 0 {
|
||||
PetMgrSington.CheckShowRed(p)
|
||||
}
|
||||
if v.ItemId == common.ItemIDVCard && (v.ItemNum <= 0 ||
|
||||
gainWay == common.GainWay_MatchSignup || gainWay == common.GainWay_Exchange) {
|
||||
// 比赛报名返还,兑换返还
|
||||
// 统计 v卡兑换消耗数量
|
||||
if v.ItemId == common.ItemIDVCard && gainWay == common.GainWay_Exchange {
|
||||
p.VCardCost += -v.ItemNum
|
||||
if p.VCardCost < 0 {
|
||||
p.VCardCost = 0
|
||||
|
|
|
|||
|
|
@ -376,7 +376,6 @@ func (this *Player) OnLogined() {
|
|||
this.SendToRepSrv(this.PlayerData)
|
||||
//红点检测
|
||||
this.CheckShowRed()
|
||||
this.SCItems()
|
||||
|
||||
TaskSubjectSingleton.Touch(common.TaskTypeLogin, &TaskData{SnId: this.SnId, Num: 1}) // 登录游戏
|
||||
|
||||
|
|
@ -3076,6 +3075,7 @@ func (this *Player) SendPlayerInfo() {
|
|||
if this.scene != nil && this.thrscene == 0 {
|
||||
this.SendGameConfig(int32(this.scene.gameId), this.Platform, this.Channel)
|
||||
}
|
||||
this.SCItems()
|
||||
//this.SendJackpotInfo()
|
||||
}
|
||||
|
||||
|
|
@ -3928,7 +3928,7 @@ func (this *Player) GetPayGoodsInfo() {
|
|||
this.AddDiamond(int64(info.Amount[1]), 0, info.GainWay, "Callback_login", info.Remark)
|
||||
}
|
||||
this.AddMoneyPayTotal(int64(info.ConsumeNum))
|
||||
this.MoneyTotal += int64(info.ConsumeNum)
|
||||
this.MoneyTotal += int64(info.ConsumeTypeNum)
|
||||
if info.ItemInfo != nil {
|
||||
for _, v := range info.ItemInfo {
|
||||
items = append(items, &Item{ItemId: v.ItemId, ItemNum: v.ItemNum})
|
||||
|
|
|
|||
|
|
@ -3444,7 +3444,7 @@ func init() {
|
|||
player.AddDiamond(int64(info.Amount[1]), 0, info.GainWay, "Callback", info.Remark)
|
||||
}
|
||||
player.AddMoneyPayTotal(int64(info.ConsumeNum))
|
||||
player.MoneyTotal += int64(info.ConsumeNum)
|
||||
player.MoneyTotal += int64(info.ConsumeTypeNum)
|
||||
player.dirty = true
|
||||
player.SendDiffData()
|
||||
info.Amount[2] = player.GetVIPExpByPay(info.ConsumeNum)
|
||||
|
|
|
|||
Loading…
Reference in New Issue