| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package newusergift
- import (
- "bet24.com/log"
- "bet24.com/servers/common"
- "bet24.com/servers/coreservice/serviceconfig"
- inventory "bet24.com/servers/micros/item_inventory/proto"
- item "bet24.com/servers/micros/item_inventory/proto"
- )
- type NewusergiftManager struct {
- configs []GiftConfig
- newYearConfigs []GiftConfig
- }
- func newNewusergiftManager() *NewusergiftManager {
- obj := new(NewusergiftManager)
- obj.loadConfig()
- log.Debug("newusergift manager running")
- return obj
- }
- func (this *NewusergiftManager) loadConfig() {
- this.configs = getConfig(false)
- this.newYearConfigs = getConfig(true)
- }
- func (this *NewusergiftManager) getUserGiftInfo(userId int, isNewYear bool) []UserGift {
- ret := getUserGiftInfo(userId, isNewYear)
- receivingDayIndex := -1
- var items []item.ItemPack
- for i := 0; i < len(ret); i++ {
- config := this.getConfig(ret[i].DayIndex, isNewYear)
- if config == nil {
- log.Debug("NewusergiftManager.getUserGiftInfo config not found %d", ret[i].DayIndex)
- continue
- }
- ret[i].Items = config.Items
- // 是否休闲平台
- if serviceconfig.Server.IsCasual == 1 {
- continue
- }
- if ret[i].Status == Receiving {
- receivingDayIndex = ret[i].DayIndex
- items = ret[i].Items
- }
- }
- // 能领取才给客户端
- if receivingDayIndex != -1 {
- userReceiveGift(userId, receivingDayIndex, isNewYear)
- desc := "NewUserGift"
- if isNewYear {
- desc = "NewYearGift"
- }
- inventory.AddItems(userId, items, desc, common.LOGTYPE_TASK_AWARD)
- }
- return ret
- }
- func (this *NewusergiftManager) receiveGift(userId, isDouble int, isNewYear bool) (int, []item.ItemPack) {
- var retCode int
- var items []item.ItemPack
- // 判断是否是休闲平台
- if serviceconfig.Server.IsCasual != 1 {
- return retCode, items
- }
- if isDouble != 0 && isDouble != 1 {
- return retCode, items
- }
- ret := getUserGiftInfo(userId, isNewYear)
- receivingDayIndex := -1
- for i := 0; i < len(ret); i++ {
- config := this.getConfig(ret[i].DayIndex, isNewYear)
- if config == nil {
- log.Debug("NewusergiftManager.receiveGift config not found %d", ret[i].DayIndex)
- continue
- }
- ret[i].Items = config.Items
- if ret[i].Status == Receiving {
- receivingDayIndex = ret[i].DayIndex
- // items = ret[i].Items
- for _, v := range ret[i].Items {
- items = append(items, item.ItemPack{
- ItemId: v.ItemId,
- Count: v.Count * (1 + isDouble), // 是否双倍
- })
- }
- }
- }
- // 能领取才给客户端
- if receivingDayIndex != -1 {
- userReceiveGift(userId, receivingDayIndex, isNewYear)
- desc := "NewUserGift"
- if isNewYear {
- desc = "NewYearGift"
- }
- inventory.AddItems(userId, items, desc, common.LOGTYPE_TASK_AWARD)
- retCode = 1
- }
- return retCode, items
- }
- func (this *NewusergiftManager) getConfig(dayIndex int, isNewYear bool) *GiftConfig {
- if !isNewYear {
- for _, v := range this.configs {
- if v.DayIndex == dayIndex {
- return &v
- }
- }
- } else {
- for _, v := range this.newYearConfigs {
- if v.DayIndex == dayIndex {
- return &v
- }
- }
- }
- return nil
- }
|