package controller import ( "blazing/common/socket/errorcode" "blazing/logic/service/item" "blazing/logic/service/player" "blazing/modules/config/service" ) func (h Controller) Talk(data *item.TalkCountInboundInfo, c *player.Player) (result *item.TalkCountOutboundInfo, err errorcode.ErrorCode) { result = &item.TalkCountOutboundInfo{} cid, ok := c.Service.Talk.Cheak(c.Info.MapID, int(data.ID)) if !ok { return result, 0 } result.GiftCount = uint32(cid) return result, 0 } //var talkcacche = make(map[string]uint32) func (h Controller) TalkCate(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.ItemID { ritemcount := service.NewItemService().GetItemCount(itemid) ret := c.ItemAdd(uint32(itemid), uint32(ritemcount)) if ret { result.OutList = append(result.OutList, item.CateInfo{ID: itemid, Count: uint32(ritemcount)}) } } c.Service.Talk.Update(int(data.ID)) return result, 0 }