赛季通行证排行榜奖励发放
This commit is contained in:
parent
aaf15d2b3d
commit
83cfbe6381
|
|
@ -698,13 +698,12 @@ func CSPermitAward(s *netlib.Session, packetid int, data interface{}, sid int64)
|
||||||
}
|
}
|
||||||
startTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs
|
startTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs
|
||||||
endTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitEndTs
|
endTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitEndTs
|
||||||
if startTs == 0 || endTs == 0 {
|
now := time.Now()
|
||||||
|
if startTs == 0 || endTs == 0 || now.Unix() < startTs || now.Unix() >= endTs {
|
||||||
logger.Logger.Errorf("CSPermitAward not startTs %v", p.SnId)
|
logger.Logger.Errorf("CSPermitAward not startTs %v", p.SnId)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
now := time.Now()
|
|
||||||
|
|
||||||
pack := &welfare.SCPermitAward{
|
pack := &welfare.SCPermitAward{
|
||||||
OpRetCode: welfare.OpResultCode_OPRC_Sucess,
|
OpRetCode: welfare.OpResultCode_OPRC_Sucess,
|
||||||
Tp: msg.GetTp(),
|
Tp: msg.GetTp(),
|
||||||
|
|
@ -978,13 +977,12 @@ func CSPermitExchange(s *netlib.Session, packetid int, data interface{}, sid int
|
||||||
}
|
}
|
||||||
startTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs
|
startTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs
|
||||||
endTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitEndTs
|
endTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitEndTs
|
||||||
if startTs == 0 || endTs == 0 {
|
now := time.Now()
|
||||||
|
if startTs == 0 || endTs == 0 || now.Unix() < startTs || now.Unix() >= endTs {
|
||||||
logger.Logger.Errorf("CSPermitExchange not startTs %v", p.SnId)
|
logger.Logger.Errorf("CSPermitExchange not startTs %v", p.SnId)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
now := time.Now()
|
|
||||||
|
|
||||||
isExchange, code := GetPermitCanExchange(p, msg.GetId())
|
isExchange, code := GetPermitCanExchange(p, msg.GetId())
|
||||||
pack := &welfare.SCPermitExchange{
|
pack := &welfare.SCPermitExchange{
|
||||||
OpRetCode: welfare.OpResultCode_OPRC_Sucess,
|
OpRetCode: welfare.OpResultCode_OPRC_Sucess,
|
||||||
|
|
|
||||||
|
|
@ -207,50 +207,6 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e
|
||||||
case *webapi.ActInviteConfig:
|
case *webapi.ActInviteConfig:
|
||||||
PlatformMgrSingleton.GetConfig(config.Platform).ActInviteConfig = config
|
PlatformMgrSingleton.GetConfig(config.Platform).ActInviteConfig = config
|
||||||
case *webapi.ActPermitConfig:
|
case *webapi.ActPermitConfig:
|
||||||
break
|
|
||||||
PlatformMgrSingleton.GetConfig(config.Platform).ActPermitConfig = config
|
|
||||||
st := new(model.PermitStartTs)
|
|
||||||
permit := model.GetStrKVGameData(common.PermitStartTsKey + config.Platform)
|
|
||||||
if permit != "" {
|
|
||||||
if err := json.Unmarshal([]byte(permit), st); err != nil {
|
|
||||||
logger.Logger.Errorf("permit startts error: %v", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// 修改循环周期
|
|
||||||
endTs := st.StartTs + int64(config.GetDays()*24*3600)
|
|
||||||
if st.StartTs > 0 && endTs != st.EndTs {
|
|
||||||
st.EndTs = endTs
|
|
||||||
}
|
|
||||||
PlatformMgrSingleton.GetConfig(config.Platform).PermitStartTs = st.StartTs
|
|
||||||
PlatformMgrSingleton.GetConfig(config.Platform).PermitEndTs = st.EndTs
|
|
||||||
} else {
|
|
||||||
startTs := common.GetDayStartTs(config.StartTs)
|
|
||||||
endTs := startTs + int64(config.Days*24*3600)
|
|
||||||
st.StartTs = startTs
|
|
||||||
st.EndTs = endTs
|
|
||||||
PlatformMgrSingleton.GetConfig(config.Platform).PermitStartTs = startTs
|
|
||||||
PlatformMgrSingleton.GetConfig(config.Platform).PermitEndTs = endTs
|
|
||||||
}
|
|
||||||
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
|
||||||
if st.StartTs <= 0 || st.EndTs <= 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
b, err := json.Marshal(st)
|
|
||||||
if err != nil {
|
|
||||||
logger.Logger.Errorf("permit startts save error: %v", err)
|
|
||||||
} else {
|
|
||||||
logger.Logger.Infof("update permit startts: %v %v", st.StartTs, st.EndTs)
|
|
||||||
err := model.UptStrKVGameData(common.PermitStartTsKey+config.Platform, string(b))
|
|
||||||
if err != nil {
|
|
||||||
logger.Logger.Errorf("permit startts update error:%v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}), nil).StartByExecutor("permit_start_ts")
|
|
||||||
|
|
||||||
default:
|
|
||||||
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
|
|
||||||
}
|
|
||||||
// test
|
// test
|
||||||
actConfig := &webapi.ActPermitConfig{
|
actConfig := &webapi.ActPermitConfig{
|
||||||
Platform: "1",
|
Platform: "1",
|
||||||
|
|
@ -357,6 +313,51 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e
|
||||||
}), nil).StartByExecutor("permit_start_ts")
|
}), nil).StartByExecutor("permit_start_ts")
|
||||||
logger.Logger.Tracef("==> PermitConfig: %v ", actConfig)
|
logger.Logger.Tracef("==> PermitConfig: %v ", actConfig)
|
||||||
// test
|
// test
|
||||||
|
break
|
||||||
|
PlatformMgrSingleton.GetConfig(config.Platform).ActPermitConfig = config
|
||||||
|
st := new(model.PermitStartTs)
|
||||||
|
permit := model.GetStrKVGameData(common.PermitStartTsKey + config.Platform)
|
||||||
|
if permit != "" {
|
||||||
|
if err := json.Unmarshal([]byte(permit), st); err != nil {
|
||||||
|
logger.Logger.Errorf("permit startts error: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 修改循环周期
|
||||||
|
endTs := st.StartTs + int64(config.GetDays()*24*3600)
|
||||||
|
if st.StartTs > 0 && endTs != st.EndTs {
|
||||||
|
st.EndTs = endTs
|
||||||
|
}
|
||||||
|
PlatformMgrSingleton.GetConfig(config.Platform).PermitStartTs = st.StartTs
|
||||||
|
PlatformMgrSingleton.GetConfig(config.Platform).PermitEndTs = st.EndTs
|
||||||
|
} else {
|
||||||
|
startTs := common.GetDayStartTs(config.StartTs)
|
||||||
|
endTs := startTs + int64(config.Days*24*3600)
|
||||||
|
st.StartTs = startTs
|
||||||
|
st.EndTs = endTs
|
||||||
|
PlatformMgrSingleton.GetConfig(config.Platform).PermitStartTs = startTs
|
||||||
|
PlatformMgrSingleton.GetConfig(config.Platform).PermitEndTs = endTs
|
||||||
|
}
|
||||||
|
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
||||||
|
if st.StartTs <= 0 || st.EndTs <= 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
b, err := json.Marshal(st)
|
||||||
|
if err != nil {
|
||||||
|
logger.Logger.Errorf("permit startts save error: %v", err)
|
||||||
|
} else {
|
||||||
|
logger.Logger.Infof("update permit startts: %v %v", st.StartTs, st.EndTs)
|
||||||
|
err := model.UptStrKVGameData(common.PermitStartTsKey+config.Platform, string(b))
|
||||||
|
if err != nil {
|
||||||
|
logger.Logger.Errorf("permit startts update error:%v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}), nil).StartByExecutor("permit_start_ts")
|
||||||
|
|
||||||
|
default:
|
||||||
|
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func handlerEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
func handlerEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
||||||
|
|
|
||||||
|
|
@ -27,11 +27,12 @@ func (r *PermitMgr) OnDayTimer() {
|
||||||
logger.Logger.Info("(this *PermitMgr) OnDayTimer")
|
logger.Logger.Info("(this *PermitMgr) OnDayTimer")
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
for _, v := range PlatformMgrSingleton.GetPlatforms() {
|
for _, v := range PlatformMgrSingleton.GetPlatforms() {
|
||||||
pl := PlatformMgrSingleton.GetConfig(v.IdStr).ActPermitConfig
|
platform := v.IdStr
|
||||||
|
pl := PlatformMgrSingleton.GetConfig(platform).ActPermitConfig
|
||||||
if pl == nil {
|
if pl == nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
b := model.GetStrKVGameData(common.PermitStartTsKey + v.IdStr)
|
b := model.GetStrKVGameData(common.PermitStartTsKey + platform)
|
||||||
if b == "" {
|
if b == "" {
|
||||||
logger.Logger.Errorf("(this *PermitMgr) OnDayTimer GetStrKVGameData not found")
|
logger.Logger.Errorf("(this *PermitMgr) OnDayTimer GetStrKVGameData not found")
|
||||||
continue
|
continue
|
||||||
|
|
@ -41,6 +42,7 @@ func (r *PermitMgr) OnDayTimer() {
|
||||||
logger.Logger.Errorf("(this *PermitMgr) OnDayTimer json.Unmarshal err:%v", err)
|
logger.Logger.Errorf("(this *PermitMgr) OnDayTimer json.Unmarshal err:%v", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
logger.Logger.Tracef("(this *PermitMgr) OnDayTimer se:%+v now:%v", *se, now)
|
||||||
if se.StartTs <= now.Unix() && now.Unix() < se.EndTs {
|
if se.StartTs <= now.Unix() && now.Unix() < se.EndTs {
|
||||||
// 在活动内
|
// 在活动内
|
||||||
continue
|
continue
|
||||||
|
|
@ -57,18 +59,18 @@ func (r *PermitMgr) OnDayTimer() {
|
||||||
var players []*model.PlayerBaseInfo
|
var players []*model.PlayerBaseInfo
|
||||||
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
||||||
list, err = model.FindPlayerPermitList(&model.FindPlayerPermitListArgs{
|
list, err = model.FindPlayerPermitList(&model.FindPlayerPermitListArgs{
|
||||||
Platform: v.IdStr,
|
Platform: platform,
|
||||||
StartTs: startTs,
|
StartTs: startTs,
|
||||||
})
|
})
|
||||||
for _, vv := range list.List {
|
for _, vv := range list.List {
|
||||||
player := PlayerMgrSington.GetPlayerBySnId(vv.SnId)
|
player := PlayerMgrSington.GetPlayerBySnId(vv.SnId)
|
||||||
if player != nil {
|
if player != nil {
|
||||||
players = append(players, &model.PlayerBaseInfo{
|
players = append(players, &model.PlayerBaseInfo{
|
||||||
SnId: 0,
|
SnId: player.SnId,
|
||||||
LastChannel: player.LastChannel,
|
LastChannel: player.LastChannel,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
baseInfo := model.GetPlayerBaseInfo(v.IdStr, vv.SnId)
|
baseInfo := model.GetPlayerBaseInfo(platform, vv.SnId)
|
||||||
players = append(players, baseInfo)
|
players = append(players, baseInfo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -83,8 +85,9 @@ func (r *PermitMgr) OnDayTimer() {
|
||||||
logger.Logger.Errorf("PermitMgr OnDayTimer FindPlayerPermitList player is nil %v", list.List[k].SnId)
|
logger.Logger.Errorf("PermitMgr OnDayTimer FindPlayerPermitList player is nil %v", list.List[k].SnId)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
curPlayer := player
|
||||||
// 发送奖励
|
// 发送奖励
|
||||||
cfg := PlatformMgrSingleton.GetPermitConfig(v.IdStr, player.LastChannel).GetRankConfig()
|
cfg := PlatformMgrSingleton.GetPermitConfig(platform, player.LastChannel).GetRankConfig()
|
||||||
rank := k + 1
|
rank := k + 1
|
||||||
for _, rankInfo := range cfg {
|
for _, rankInfo := range cfg {
|
||||||
var has bool
|
var has bool
|
||||||
|
|
@ -105,16 +108,16 @@ func (r *PermitMgr) OnDayTimer() {
|
||||||
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
||||||
title := i18n.Tr("languages", "PermitAwardTitle")
|
title := i18n.Tr("languages", "PermitAwardTitle")
|
||||||
content := i18n.Tr("languages", "PermitAward", []int{rank, rank, rank, rank})
|
content := i18n.Tr("languages", "PermitAward", []int{rank, rank, rank, rank})
|
||||||
newMsg = model.NewMessage("", 0, "", player.SnId, model.MSGTYPE_RANK_REWARD,
|
newMsg = model.NewMessage("", 0, "", curPlayer.SnId, model.MSGTYPE_RANK_REWARD,
|
||||||
title, content, 0, 0, model.MSGSTATE_UNREAD, time.Now().Unix(), 0, "", items, v.IdStr, model.HallTienlen, nil)
|
title, content, 0, 0, model.MSGSTATE_UNREAD, time.Now().Unix(), 0, "", items, platform, model.HallTienlen, nil)
|
||||||
err := model.InsertMessage(v.IdStr, newMsg)
|
err := model.InsertMessage(platform, newMsg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Logger.Errorf("发送邮件失败 snid:%v err:%v", player.SnId, err)
|
logger.Logger.Errorf("发送邮件失败 snid:%v err:%v", curPlayer.SnId, err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
|
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
|
||||||
p := PlayerMgrSington.GetPlayerBySnId(player.SnId)
|
p := PlayerMgrSington.GetPlayerBySnId(curPlayer.SnId)
|
||||||
if p != nil {
|
if p != nil {
|
||||||
p.AddMessage(newMsg)
|
p.AddMessage(newMsg)
|
||||||
}
|
}
|
||||||
|
|
@ -136,15 +139,15 @@ func (r *PermitMgr) OnDayTimer() {
|
||||||
se.StartTs = common.GetDayStartTs(now.Unix())
|
se.StartTs = common.GetDayStartTs(now.Unix())
|
||||||
se.EndTs = se.StartTs + int64(pl.Days*24*3600)
|
se.EndTs = se.StartTs + int64(pl.Days*24*3600)
|
||||||
}
|
}
|
||||||
PlatformMgrSingleton.GetConfig(v.IdStr).PermitStartTs = se.StartTs
|
PlatformMgrSingleton.GetConfig(platform).PermitStartTs = se.StartTs
|
||||||
PlatformMgrSingleton.GetConfig(v.IdStr).PermitEndTs = se.EndTs
|
PlatformMgrSingleton.GetConfig(platform).PermitEndTs = se.EndTs
|
||||||
b, err := json.Marshal(se)
|
b, err := json.Marshal(se)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Logger.Errorf("(this *PermitMgr) OnDayTimer json.Marshal err:%v", err)
|
logger.Logger.Errorf("(this *PermitMgr) OnDayTimer json.Marshal err:%v", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
||||||
model.UptStrKVGameData(common.PermitStartTsKey+v.IdStr, string(b))
|
model.UptStrKVGameData(common.PermitStartTsKey+platform, string(b))
|
||||||
return nil
|
return nil
|
||||||
}), nil).StartByExecutor("permit_start_ts")
|
}), nil).StartByExecutor("permit_start_ts")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue