package controller import ( "blazing/common/socket/errorcode" "blazing/logic/service/item" "blazing/logic/service/player" "blazing/modules/config/service" ) func (h Controller) GetTalkCount(data *item.TalkCountInboundInfo, c *player.Player) (result *item.TalkCountOutboundInfo, err errorcode.ErrorCode) { result = &item.TalkCountOutboundInfo{} talkCount, ok := c.Service.Talk.Cheak(c.Info.MapID, int(data.ID)) if !ok { return result, 0 } result.GiftCount = uint32(talkCount) return result, 0 } //var talkcacche = make(map[string]uint32) func (h Controller) GetTalkCategory(data *item.TalkCateInboundInfo, c *player.Player) (result *item.DayTalkInfo, err errorcode.ErrorCode) { result = &item.DayTalkInfo{} result.OutList = make([]item.CateInfo, 0) _, ok := c.Service.Talk.Cheak(c.Info.MapID, int(data.ID)) if !ok { return result, errorcode.ErrorCodes.ErrResourceUnavailable } //更新次数 config := service.NewTalkConfigService().GetCache(int(data.ID)) //service.NewItemService().GetItemCount(config.ItemID) for _, itemID := range config.ItemIDS { iteminfo := service.NewItemService().GetItemCount(itemID) success := c.ItemAdd(uint32(iteminfo.ItemId), uint32(iteminfo.ItemCnt)) if success { result.OutList = append(result.OutList, item.CateInfo{ID: iteminfo.ItemId, Count: uint32(iteminfo.ItemCnt)}) } } c.Service.Talk.Update(int(data.ID)) return result, 0 }