离线修改道具

This commit is contained in:
sk 2024-09-23 14:37:43 +08:00
parent 4b8f6e6274
commit 5ab84bd13e
5 changed files with 24 additions and 7 deletions

View File

@ -151,7 +151,11 @@ func (svc *ItemLogSvc) Insert(req *model.InsertItemLogReq, res *bool) error {
logger.Logger.Errorf("ItemLogSvc.Insert collection not found Platform:%v", req.Logs[0].Platform)
return nil
}
if err := clog.Insert(req.Logs); err != nil {
var docs []interface{}
for _, v := range req.Logs {
docs = append(docs, v)
}
if err := clog.Insert(docs...); err != nil {
logger.Logger.Warn("ItemLogSvc.Insert error:", err)
return err
}

View File

@ -199,7 +199,7 @@ type InsertItemLogReq struct {
Logs []*ItemLog
}
func InsertItemLog(configItems map[string]map[int32]*server.DB_GameItem, param *AddItemParam, isOffline bool) error {
func InsertItemLog(configItems map[int32]*server.DB_GameItem, param *AddItemParam, isOffline bool) error {
if rpcCli == nil {
logger.Logger.Warnf("rpcCli is nil")
return errors.New("rpcCli is nil")
@ -219,8 +219,8 @@ func InsertItemLog(configItems map[string]map[int32]*server.DB_GameItem, param *
}
// 日志
name := ""
if configItems != nil && configItems[param.Platform] != nil && configItems[param.Platform][v.ItemId] != nil {
name = configItems[param.Platform][v.ItemId].GetName()
if configItems != nil && configItems[v.ItemId] != nil {
name = configItems[v.ItemId].GetName()
}
log := NewItemLogEx(ItemParam{
Platform: param.Platform,

View File

@ -56,6 +56,19 @@ func (m *GameItem) Get(platform string, id int32) *server.DB_GameItem {
return nil
}
func (m *GameItem) GetItems(plt string) map[int32]*server.DB_GameItem {
ret := make(map[int32]*server.DB_GameItem)
for _, v := range m.Data {
ret[v.Id] = v
}
if v, ok := m.Items[plt]; ok {
for _, vv := range v {
ret[vv.Id] = vv
}
}
return ret
}
func (m *GameItem) GetArr(platform string) []*server.DB_GameItem {
if len(m.AllItems[platform]) == 0 {
for _, v := range m.Data {

View File

@ -38,7 +38,7 @@ func init() {
return &serverproto.GWPlayerLeave{}
}))
netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_PLAYERLEAVE), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error {
logger.Logger.Trace("receive GWPlayerLeave:", pack)
//logger.Logger.Trace("receive GWPlayerLeave:", pack)
msg, ok := pack.(*serverproto.GWPlayerLeave)
if !ok {
return nil
@ -190,7 +190,7 @@ func init() {
return &serverproto.GWPlayerLeave{}
}))
netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_AUDIENCELEAVE), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error {
logger.Logger.Trace("receive PACKET_GW_AUDIENCELEAVE GWPlayerLeave:", pack)
//logger.Logger.Trace("receive GWPlayerLeave:", pack)
if msg, ok := pack.(*serverproto.GWPlayerLeave); ok {
scene := SceneMgrSingleton.GetScene(int(msg.GetRoomId()), true)
if scene != nil {

View File

@ -558,7 +558,7 @@ func (this *BagMgr) AddItemsOffline(param *model.AddItemParam, callback func(err
return err
}
// 保存日志
if err := model.InsertItemLog(srvdata.GameItemMgr.Items, param, true); err != nil {
if err := model.InsertItemLog(srvdata.GameItemMgr.GetItems(param.Platform), param, true); err != nil {
logger.Logger.Errorf("离线保存道具变更日志错误 %v", err)
return err
}