This commit is contained in:
meixiongfeng 2023-05-05 19:28:11 +08:00
commit 95ba9c3983
54 changed files with 254 additions and 208 deletions

View File

@ -50,7 +50,7 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.AcademyReceiveRe
} }
this.module.DispenseRes(session, level.Award, true) this.module.DispenseRes(session, level.Award, true)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype151, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype151, 1))
} }
session.SendMsg(string(this.module.GetType()), "receive", &pb.AcademyReceiveResp{Issucc: true}) session.SendMsg(string(this.module.GetType()), "receive", &pb.AcademyReceiveResp{Issucc: true})
return return

View File

@ -40,7 +40,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge
Tasks: record.Tasks, Tasks: record.Tasks,
}}) }})
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype130, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype130, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype130, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype130, 1))
} else { } else {
session.SendMsg(string(this.module.GetType()), "challenge", &pb.ArenaChallengeResp{Code: cd, Info: nil}) session.SendMsg(string(this.module.GetType()), "challenge", &pb.ArenaChallengeResp{Code: cd, Info: nil})
} }

View File

@ -62,7 +62,7 @@ func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaCha
bulestate = pb.BattleRecordState_DefendLost bulestate = pb.BattleRecordState_DefendLost
} }
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype131, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype131, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype131, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype131, 1))
} else { } else {
if req.Revengeid != "" { if req.Revengeid != "" {
redstate = pb.BattleRecordState_RevengeFailed redstate = pb.BattleRecordState_RevengeFailed
@ -225,7 +225,7 @@ func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaCha
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
} }
} }
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype128, red.Integral), comm.GettaskParam(comm.Rtype129, red.Dan)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype128, red.Integral), comm.GettaskParam(comm.Rtype129, red.Dan))
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype128, red.Integral) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype128, red.Integral)
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype129, red.Dan) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype129, red.Dan)
return return

View File

@ -139,7 +139,7 @@ func (this *Battle) CreatePveBattle(session comm.IUserSession, req *pb.BattlePVE
for _, v := range req.Format.Friendformat { for _, v := range req.Format.Friendformat {
if v != "" { if v != "" {
// this.ModuleRtask.SendToRtask(session, comm.Rtype108, 1) // this.ModuleRtask.SendToRtask(session, comm.Rtype108, 1)
this.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype108, 1)) go this.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype108, 1))
break break
} }
} }
@ -249,7 +249,7 @@ func (this *Battle) CreateLPVEBattle(session comm.IUserSession, req *pb.BattleLP
for _, v := range req.Format.Friendformat { for _, v := range req.Format.Friendformat {
if v != "" { if v != "" {
// this.ModuleRtask.SendToRtask(session, comm.Rtype108, 1) // this.ModuleRtask.SendToRtask(session, comm.Rtype108, 1)
this.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype108, 1)) go this.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype108, 1))
break break
} }
} }
@ -378,7 +378,7 @@ func (this *Battle) CheckBattleReport(session comm.IUserSession, report *pb.Batt
this.moonfantasy.Trigger(session, report) this.moonfantasy.Trigger(session, report)
for _, v := range report.Completetask { for _, v := range report.Completetask {
// this.ModuleRtask.SendToRtask(session, comm.Rtype157, int32(report.Info.Ptype), v) // this.ModuleRtask.SendToRtask(session, comm.Rtype157, int32(report.Info.Ptype), v)
this.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype157, int32(report.Info.Ptype), v)) go this.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype157, int32(report.Info.Ptype), v))
} }
return pb.ErrorCode_Success, true return pb.ErrorCode_Success, true
} }

View File

@ -21,6 +21,6 @@ func (this *apiComp) BuyOrSell(session comm.IUserSession, req *pb.CaravanBuyOrSe
} }
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype153, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype153, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype153, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype153, 1))
return return
} }

View File

@ -75,7 +75,7 @@ func (this *apiComp) Send(session comm.IUserSession, req *pb.ChatSendReq) (code
} }
go this.module.modelChat.sendChatToWorld(msg, max_chat) go this.module.modelChat.sendChatToWorld(msg, max_chat)
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype62, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype62, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype62, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype62, 1))
//随机任务 //随机任务
// if _, err = this.service.AcrossClusterRpcGo( // if _, err = this.service.AcrossClusterRpcGo(
// context.Background(), // context.Background(),
@ -117,7 +117,7 @@ func (this *apiComp) Send(session comm.IUserSession, req *pb.ChatSendReq) (code
go this.module.modelChat.sendChatToCrossServer(msg, max_chat) go this.module.modelChat.sendChatToCrossServer(msg, max_chat)
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype106, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype106, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype106, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype106, 1))
break break
default: default:
code = pb.ErrorCode_ReqParameterError code = pb.ErrorCode_ReqParameterError

View File

@ -91,7 +91,7 @@ func (this *apiComp) ChallengeReceive(session comm.IUserSession, req *pb.CombatC
lv.Pass = true lv.Pass = true
this.module.DispenseRes(session, level.Award, true) this.module.DispenseRes(session, level.Award, true)
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype140, 1, level.Id) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype140, 1, level.Id)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype140, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype140, 1))
} }
lv.Progress = int32((float64(len(lv.Passmanster)+len(lv.Passdrop)) / float64(len(level.Passdroplist)+len(level.PassformatList))) * float64(100)) lv.Progress = int32((float64(len(lv.Passmanster)+len(lv.Passdrop)) / float64(len(level.Passdroplist)+len(level.PassformatList))) * float64(100))
if err = this.module.modelCombat.updateInfo(info); err != nil { if err = this.module.modelCombat.updateInfo(info); err != nil {

View File

@ -100,7 +100,7 @@ func (this *apiComp) Drop(session comm.IUserSession, req *pb.CombatDropReq) (cod
lv.Pass = true lv.Pass = true
this.module.DispenseRes(session, level.Award, true) this.module.DispenseRes(session, level.Award, true)
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype140, 1, level.Id) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype140, 1, level.Id)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype140, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype140, 1))
} }
lv.Progress = int32((float64(len(lv.Passmanster)+len(lv.Passdrop)) / float64(len(level.Passdroplist)+len(level.PassformatList))) * float64(100)) lv.Progress = int32((float64(len(lv.Passmanster)+len(lv.Passdrop)) / float64(len(level.Passdroplist)+len(level.PassformatList))) * float64(100))
if err = this.module.modelCombat.updateInfo(info); err != nil { if err = this.module.modelCombat.updateInfo(info); err != nil {

View File

@ -90,7 +90,7 @@ func (this *apiComp) Ench(session comm.IUserSession, req *pb.EquipmentEnchReq) (
} }
} }
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype94, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype94, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype94, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype94, 1))
session.SendMsg(string(this.module.GetType()), "ench", &pb.EquipmentEnchResp{Issucc: true, Equipment: equip}) session.SendMsg(string(this.module.GetType()), "ench", &pb.EquipmentEnchResp{Issucc: true, Equipment: equip})
return return
} }

View File

@ -191,7 +191,7 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq)
} }
if len(tasks) > 0 { if len(tasks) > 0 {
this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...)
} }
session.SendMsg(string(this.module.GetType()), "equip", &pb.EquipmentEquipResp{Equipments: updatequipment}) session.SendMsg(string(this.module.GetType()), "equip", &pb.EquipmentEquipResp{Equipments: updatequipment})

View File

@ -208,7 +208,7 @@ func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.EquipmentUpgrade
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype96, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype96, 1)
} }
if len(tasks) > 0 { if len(tasks) > 0 {
this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...)
} }
session.SendMsg(string(this.module.GetType()), "upgrade", &pb.EquipmentUpgradeResp{IsSucc: issucc, Equipment: modifyequipments}) session.SendMsg(string(this.module.GetType()), "upgrade", &pb.EquipmentUpgradeResp{IsSucc: issucc, Equipment: modifyequipments})
return return

View File

@ -67,7 +67,7 @@ func (this *apiComp) Wash(session comm.IUserSession, req *pb.EquipmentWashReq) (
} }
} }
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype95, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype95, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype95, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype95, 1))
session.SendMsg(string(this.module.GetType()), "wash", &pb.EquipmentWashResp{Eid: req.Eid, AdverbEntry: adverbEntry}) session.SendMsg(string(this.module.GetType()), "wash", &pb.EquipmentWashResp{Eid: req.Eid, AdverbEntry: adverbEntry})
return return
} }

View File

@ -135,7 +135,7 @@ func (this *modelEquipmentComp) AddEquipments(session comm.IUserSession, cIds ma
//异步出发任务启动 //异步出发任务启动
if len(tasks) > 0 { if len(tasks) > 0 {
this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...)
} }
if len(add) > 0 { if len(add) > 0 {

View File

@ -135,7 +135,7 @@ func (this *apiComp) Agree(session comm.IUserSession, req *pb.FriendAgreeReq) (c
// 拥有xx个好友 // 拥有xx个好友
// this.moduleFriend.ModuleRtask.SendToRtask(session, comm.Rtype10, int32(len(agreeIds))) // this.moduleFriend.ModuleRtask.SendToRtask(session, comm.Rtype10, int32(len(agreeIds)))
this.moduleFriend.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype10, int32(len(agreeIds)))) go this.moduleFriend.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype10, int32(len(agreeIds))))
resp := &pb.FriendAgreeResp{ resp := &pb.FriendAgreeResp{
Num: optNum, Num: optNum,
} }

View File

@ -98,6 +98,6 @@ func (this *apiComp) Assisthero(session comm.IUserSession, req *pb.FriendAssisth
// 随机任务Rtype13 // 随机任务Rtype13
// this.moduleFriend.ModuleRtask.SendToRtask(session, comm.Rtype13, 1) // this.moduleFriend.ModuleRtask.SendToRtask(session, comm.Rtype13, 1)
this.moduleFriend.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype13, 1)) go this.moduleFriend.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype13, 1))
return return
} }

View File

@ -100,6 +100,6 @@ func (this *apiComp) Zan(session comm.IUserSession, req *pb.FriendZanReq) (code
// 赠送X次友情点 // 赠送X次友情点
// this.moduleFriend.ModuleRtask.SendToRtask(session, comm.Rtype11, 1) // this.moduleFriend.ModuleRtask.SendToRtask(session, comm.Rtype11, 1)
this.moduleFriend.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype11, 1)) go this.moduleFriend.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype11, 1))
return return
} }

View File

@ -79,6 +79,6 @@ func (this *apiComp) CreateFood(session comm.IUserSession, req *pb.GourmetCreate
Cid: curFood, Cid: curFood,
FirstGet: bFirst, FirstGet: bFirst,
}) })
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype150, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype150, 1))
return return
} }

View File

@ -117,6 +117,6 @@ func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (c
} }
} }
} }
this.module.ModuleRtask.TriggerTask(session.GetUserId(), szTask...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), szTask...)
return return
} }

View File

@ -121,7 +121,7 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.HeroBuyReq) (code pb
tasks = append(tasks, comm.GettaskParam(comm.Rtype67, v.N, utils.ToInt32(v.T))) tasks = append(tasks, comm.GettaskParam(comm.Rtype67, v.N, utils.ToInt32(v.T)))
} }
} }
this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...)
session.SendMsg(string(this.module.GetType()), "buy", &pb.HeroBuyResp{ session.SendMsg(string(this.module.GetType()), "buy", &pb.HeroBuyResp{
IsSucc: true, IsSucc: true,
Onebuy: record.Onebuy + req.BuyCount, Onebuy: record.Onebuy + req.BuyCount,

View File

@ -86,6 +86,6 @@ func (this *apiComp) Fusion(session comm.IUserSession, req *pb.HeroFusionReq) (c
session.SendMsg(string(this.module.GetType()), HeroFusionResp, &pb.HeroFusionResp{Heroid: conf.Hero}) session.SendMsg(string(this.module.GetType()), HeroFusionResp, &pb.HeroFusionResp{Heroid: conf.Hero})
// 通过融合获得指定英雄 // 通过融合获得指定英雄
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype139, utils.ToInt32(conf.Hero)) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype139, utils.ToInt32(conf.Hero))
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype139, utils.ToInt32(conf.Hero))) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype139, utils.ToInt32(conf.Hero)))
return return
} }

View File

@ -137,6 +137,6 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt
szTask = append(szTask, comm.GettaskParam(comm.Rtype55, 1, cfg.Color)) szTask = append(szTask, comm.GettaskParam(comm.Rtype55, 1, cfg.Color))
szTask = append(szTask, comm.GettaskParam(comm.Rtype56, 1, 1, cfg.Job)) szTask = append(szTask, comm.GettaskParam(comm.Rtype56, 1, 1, cfg.Job))
} }
this.module.ModuleRtask.TriggerTask(session.GetUserId(), szTask...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), szTask...)
return return
} }

View File

@ -96,7 +96,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr
szTask = append(szTask, comm.GettaskParam(comm.Rtype28, 1)) szTask = append(szTask, comm.GettaskParam(comm.Rtype28, 1))
} }
szTask = append(szTask, comm.GettaskParam(comm.Rtype115, utils.ToInt32(_hero.HeroID), _hero.Star)) szTask = append(szTask, comm.GettaskParam(comm.Rtype115, utils.ToInt32(_hero.HeroID), _hero.Star))
this.module.ModuleRtask.TriggerTask(session.GetUserId(), szTask...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), szTask...)
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype115, utils.ToInt32(_hero.HeroID), _hero.Star) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype115, utils.ToInt32(_hero.HeroID), _hero.Star)
return return
} }

View File

@ -596,7 +596,7 @@ func (this *ModelHero) AddCardExp(session comm.IUserSession, hero *pb.DBHero, ex
} }
} }
szTask = append(szTask, comm.GettaskParam(comm.Rtype33, 1, 1, hero.Lv)) szTask = append(szTask, comm.GettaskParam(comm.Rtype33, 1, 1, hero.Lv))
this.moduleHero.ModuleRtask.TriggerTask(session.GetUserId(), szTask...) go this.moduleHero.ModuleRtask.TriggerTask(session.GetUserId(), szTask...)
//this.moduleHero.ModuleRtask.SendToRtask(session, comm.Rtype33, 1, 1, hero.Lv) //this.moduleHero.ModuleRtask.SendToRtask(session, comm.Rtype33, 1, 1, hero.Lv)
} }
} }

View File

@ -100,7 +100,7 @@ func (this *Hero) createRepeatHero(session comm.IUserSession, heroCfgId string,
szTask = append(szTask, comm.GettaskParam(comm.Rtype1, 1, utils.ToInt32(heroCfgId))) szTask = append(szTask, comm.GettaskParam(comm.Rtype1, 1, utils.ToInt32(heroCfgId)))
szTask = append(szTask, comm.GettaskParam(comm.Rtype30, 1, cfg.Color)) szTask = append(szTask, comm.GettaskParam(comm.Rtype30, 1, cfg.Color))
szTask = append(szTask, comm.GettaskParam(comm.Rtype31, 1, cfg.Color)) szTask = append(szTask, comm.GettaskParam(comm.Rtype31, 1, cfg.Color))
this.ModuleRtask.TriggerTask(session.GetUserId(), szTask...) go this.ModuleRtask.TriggerTask(session.GetUserId(), szTask...)
} }
return return
@ -174,7 +174,7 @@ func (this *Hero) SendRdTask(session comm.IUserSession) {
//this.ModuleRtask.SendToRtask(session, comm.Rtype46, v1, k1, k) //this.ModuleRtask.SendToRtask(session, comm.Rtype46, v1, k1, k)
} }
} }
this.ModuleRtask.TriggerTask(session.GetUserId(), szTask...) go this.ModuleRtask.TriggerTask(session.GetUserId(), szTask...)
} }
//英雄列表 //英雄列表
@ -759,7 +759,7 @@ func (this *Hero) SendTaskMsg(session comm.IUserSession, szStar []int32, drawCou
} }
szTask = append(szTask, comm.GettaskParam(comm.Rtype89, drawCount)) szTask = append(szTask, comm.GettaskParam(comm.Rtype89, drawCount))
this.ModuleRtask.TriggerTask(session.GetUserId(), szTask...) go this.ModuleRtask.TriggerTask(session.GetUserId(), szTask...)
} }
func (this *Hero) newCondition(heroRecord *pb.DBHeroRecord) (get bool, starIndex int32) { func (this *Hero) newCondition(heroRecord *pb.DBHeroRecord) (get bool, starIndex int32) {

View File

@ -140,6 +140,6 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha
} }
} }
} }
this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...)
return return
} }

View File

@ -61,7 +61,7 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
//随机任务 //随机任务
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype21, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype21, 1)
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype22, utils.ToInt32(sale.Prize[0].T)) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype22, utils.ToInt32(sale.Prize[0].T))
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype21, 1), comm.GettaskParam(comm.Rtype22, utils.ToInt32(sale.Prize[0].T))) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype21, 1), comm.GettaskParam(comm.Rtype22, utils.ToInt32(sale.Prize[0].T)))
case 4: //自选宝箱 case 4: //自选宝箱
if prop = this.module.configure.GetDropData(itemcf.BoxId); prop == nil { if prop = this.module.configure.GetDropData(itemcf.BoxId); prop == nil {

View File

@ -153,7 +153,7 @@ func (this *apiComp) UseGift(session comm.IUserSession, req *pb.LibraryUseGiftRe
} }
} }
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype134, utils.ToInt32(_heroObj.Heroid), upLv) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype134, utils.ToInt32(_heroObj.Heroid), upLv)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype134, utils.ToInt32(_heroObj.Heroid), upLv)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype134, utils.ToInt32(_heroObj.Heroid), upLv))
} }
return return

View File

@ -221,6 +221,6 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.MlineChall
} }
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype160, allStar) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype160, allStar)
tasks = append(tasks, comm.GettaskParam(comm.Rtype160, allStar)) tasks = append(tasks, comm.GettaskParam(comm.Rtype160, allStar))
this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...)
return return
} }

View File

@ -44,12 +44,12 @@ type ModuleBase struct {
ModuleTools comm.ITools //工具类 获取一些通用配置 ModuleTools comm.ITools //工具类 获取一些通用配置
} }
//重构模块配置对象 // 重构模块配置对象
func (this *ModuleBase) NewOptions() (options core.IModuleOptions) { func (this *ModuleBase) NewOptions() (options core.IModuleOptions) {
return new(Options) return new(Options)
} }
//模块初始化接口 // 模块初始化接口
func (this *ModuleBase) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { func (this *ModuleBase) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
this.service = service.(base.IRPCXService) this.service = service.(base.IRPCXService)
this.module = module this.module = module
@ -59,7 +59,7 @@ func (this *ModuleBase) Init(service core.IService, module core.IModule, options
return return
} }
//模块启动接口 // 模块启动接口
func (this *ModuleBase) Start() (err error) { func (this *ModuleBase) Start() (err error) {
if err = this.ModuleBase.Start(); err != nil { if err = this.ModuleBase.Start(); err != nil {
return return
@ -138,12 +138,12 @@ func (this *ModuleBase) Start() (err error) {
return return
} }
//判断当前环境是本服还还是跨服 // 判断当前环境是本服还还是跨服
func (this *ModuleBase) IsCross() bool { func (this *ModuleBase) IsCross() bool {
return db.IsCross() return db.IsCross()
} }
//获取跨服标签 // 获取跨服标签
func (this *ModuleBase) GetCrossTag() string { func (this *ModuleBase) GetCrossTag() string {
return db.CrossTag() return db.CrossTag()
} }
@ -166,7 +166,7 @@ func (this *ModuleBase) PutUserSession(session comm.IUserSession) {
return return
} }
//向指定用户发送消息 // 向指定用户发送消息
func (this *ModuleBase) SendMsgToUser(mainType, subType string, msg proto.Message, uid string) (err error) { func (this *ModuleBase) SendMsgToUser(mainType, subType string, msg proto.Message, uid string) (err error) {
user := this.ModuleUser.GetUserSession(uid) user := this.ModuleUser.GetUserSession(uid)
if user == nil { if user == nil {
@ -180,7 +180,7 @@ func (this *ModuleBase) SendMsgToUser(mainType, subType string, msg proto.Messag
return return
} }
//向多个用户发送消息 // 向多个用户发送消息
func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Message, uids ...string) (err error) { func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Message, uids ...string) (err error) {
var ( var (
users map[string]*pb.CacheUser = make(map[string]*pb.CacheUser) users map[string]*pb.CacheUser = make(map[string]*pb.CacheUser)
@ -226,7 +226,7 @@ func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Messa
return return
} }
//向多个用户发送消息 // 向多个用户发送消息
func (this *ModuleBase) SendMsgToCUsers(mainType, subType string, msg proto.Message, users ...*pb.CacheUser) (err error) { func (this *ModuleBase) SendMsgToCUsers(mainType, subType string, msg proto.Message, users ...*pb.CacheUser) (err error) {
var ( var (
gateways map[string]map[string][]string = make(map[string]map[string][]string) gateways map[string]map[string][]string = make(map[string]map[string][]string)
@ -262,7 +262,7 @@ func (this *ModuleBase) SendMsgToCUsers(mainType, subType string, msg proto.Mess
return return
} }
//向多个用户发送消息 // 向多个用户发送消息
func (this *ModuleBase) SendMsgToSession(mainType, subType string, msg proto.Message, users ...comm.IUserSession) (err error) { func (this *ModuleBase) SendMsgToSession(mainType, subType string, msg proto.Message, users ...comm.IUserSession) (err error) {
var ( var (
gateways map[string]map[string][]string = make(map[string]map[string][]string) gateways map[string]map[string][]string = make(map[string]map[string][]string)
@ -335,7 +335,7 @@ func (this *ModuleBase) CheckRes(session comm.IUserSession, res []*cfg.Gameatn)
return return
} }
//消耗资源 // 消耗资源
func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Gameatn, bPush bool) (code pb.ErrorCode) { func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Gameatn, bPush bool) (code pb.ErrorCode) {
var ( var (
items map[string]int32 // 道具背包 批量处理 items map[string]int32 // 道具背包 批量处理
@ -379,7 +379,7 @@ func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Gameatn
this.Debug("消耗玩家资源", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "attrs", Value: attrs}) this.Debug("消耗玩家资源", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "attrs", Value: attrs})
if count, ok := attrs[comm.ResDiamond]; ok { if count, ok := attrs[comm.ResDiamond]; ok {
// this.ModuleRtask.SendToRtask(session, comm.Rtype104, -count) // this.ModuleRtask.SendToRtask(session, comm.Rtype104, -count)
this.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype104, -count)) go this.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype104, -count))
} }
} }
if len(items) > 0 { if len(items) > 0 {
@ -393,7 +393,7 @@ func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Gameatn
return return
} }
//发放资源 // 发放资源
func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameatn, bPush bool) (code pb.ErrorCode) { func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameatn, bPush bool) (code pb.ErrorCode) {
var ( var (
items map[string]int32 // 道具背包 批量处理 items map[string]int32 // 道具背包 批量处理
@ -478,7 +478,7 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat
return return
} }
//跨服对象获取数据操作对象 // 跨服对象获取数据操作对象
func (this *ModuleBase) GetDBNodule(session comm.IUserSession, tableName string, expired time.Duration) (model *db.DBModel, err error) { func (this *ModuleBase) GetDBNodule(session comm.IUserSession, tableName string, expired time.Duration) (model *db.DBModel, err error) {
var conn *db.DBConn var conn *db.DBConn
if session.GetServiecTag() == this.service.GetTag() { if session.GetServiecTag() == this.service.GetTag() {
@ -494,7 +494,7 @@ func (this *ModuleBase) GetDBNodule(session comm.IUserSession, tableName string,
return return
} }
//跨服对象获取数据操作对象 // 跨服对象获取数据操作对象
func (this *ModuleBase) GetCrossDBModel(tableName string, expired time.Duration) (model *db.DBModel, err error) { func (this *ModuleBase) GetCrossDBModel(tableName string, expired time.Duration) (model *db.DBModel, err error) {
var ( var (
conn *db.DBConn conn *db.DBConn
@ -512,7 +512,7 @@ func (this *ModuleBase) GetCrossDBModel(tableName string, expired time.Duration)
return return
} }
//跨服对象获取数据操作对象 // 跨服对象获取数据操作对象
func (this *ModuleBase) GetDBModelByUid(uid, tableName string, expired time.Duration) (model *db.DBModel, err error) { func (this *ModuleBase) GetDBModelByUid(uid, tableName string, expired time.Duration) (model *db.DBModel, err error) {
var ( var (
stag string stag string
@ -534,7 +534,7 @@ func (this *ModuleBase) GetDBModelByUid(uid, tableName string, expired time.Dura
return return
} }
//日志接口 // 日志接口
func (this *ModuleBase) Debug(msg string, args ...log.Field) { func (this *ModuleBase) Debug(msg string, args ...log.Field) {
this.options.GetLog().Debug(msg, args...) this.options.GetLog().Debug(msg, args...)
} }
@ -623,7 +623,7 @@ func (this *ModuleBase) PanicWithField(msg string, fields ...log.Field) {
} }
//发放资源 // 发放资源
func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gameatn, bPush bool) (code pb.ErrorCode, atno []*pb.UserAtno) { func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gameatn, bPush bool) (code pb.ErrorCode, atno []*pb.UserAtno) {
var ( var (
items map[string]int32 // 道具背包 批量处理 items map[string]int32 // 道具背包 批量处理

View File

@ -47,7 +47,7 @@ func (this *apiComp) Battle(session comm.IUserSession, req *pb.MoonfantasyBattle
}, },
}) })
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype88, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype88, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype88, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype88, 1))
} else { } else {
session.SendMsg(string(this.module.GetType()), "battle", &pb.MoonfantasyBattleResp{Code: cd}) session.SendMsg(string(this.module.GetType()), "battle", &pb.MoonfantasyBattleResp{Code: cd})
} }

View File

@ -135,7 +135,7 @@ func (this *modelDreamComp) trigger(session comm.IUserSession) {
this.module.modelDream.noticeuserfriend(session, mdata.Id, chat) this.module.modelDream.noticeuserfriend(session, mdata.Id, chat)
session.SendMsg(string(this.module.GetType()), "trigger", &pb.MoonfantasyTriggerPush{Issucc: true, Mid: mdata.Id, Monster: mdata.Monster}) session.SendMsg(string(this.module.GetType()), "trigger", &pb.MoonfantasyTriggerPush{Issucc: true, Mid: mdata.Id, Monster: mdata.Monster})
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype87, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype87, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype87, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype87, 1))
return return
} }
@ -189,7 +189,7 @@ func (this *modelDreamComp) triggerbyid(session comm.IUserSession, boosid string
this.module.modelDream.noticeuserfriend(session, mdata.Id, chat) this.module.modelDream.noticeuserfriend(session, mdata.Id, chat)
session.SendMsg(string(this.module.GetType()), "trigger", &pb.MoonfantasyTriggerPush{Issucc: true, Mid: mdata.Id, Monster: mdata.Monster}) session.SendMsg(string(this.module.GetType()), "trigger", &pb.MoonfantasyTriggerPush{Issucc: true, Mid: mdata.Id, Monster: mdata.Monster})
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype87, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype87, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype87, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype87, 1))
return return
} }

View File

@ -155,6 +155,6 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype58, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype58, 1)
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype59, pagoda.PagodaId) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype59, pagoda.PagodaId)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype58, 1), comm.GettaskParam(comm.Rtype59, pagoda.PagodaId)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype58, 1), comm.GettaskParam(comm.Rtype59, pagoda.PagodaId))
return return
} }

View File

@ -42,10 +42,10 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
code = pb.ErrorCode_ParkourMemberFull code = pb.ErrorCode_ParkourMemberFull
return return
} }
if req.State == 1 { if req.State == 3 {
ok = false ok = false
for i, v := range tean.Invite { for i, v := range tean.Invite {
if v.Uid == session.GetUserId() && !configure.Now().Before(time.Unix(v.Expired, 0)) { //邀请未过期 if v.Uid == session.GetUserId() && configure.Now().Before(time.Unix(v.Expired, 0)) { //邀请未过期
invite = v invite = v
index = int32(i) index = int32(i)
ok = true ok = true
@ -64,6 +64,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound
return return
} }
users = append(users, invite.Uid)
member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Lv: invite.Lv, Mount: info.Dfmount, Hp: mount.Hp} member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Lv: invite.Lv, Mount: info.Dfmount, Hp: mount.Hp}
tean.Captainid = tean.Uid tean.Captainid = tean.Uid
tean.State = pb.RaceTeamState_teaming tean.State = pb.RaceTeamState_teaming
@ -93,6 +94,6 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
&pb.ParkourInviteNoticePush{Team: tean, State: 3}, tean.Captainid) &pb.ParkourInviteNoticePush{Team: tean, State: 3}, tean.Captainid)
} }
session.SendMsg(string(this.module.GetType()), "invite", &pb.ParkourInviteHandleResp{IsSucc: true}) session.SendMsg(string(this.module.GetType()), "invitehandle", &pb.ParkourInviteHandleResp{IsSucc: true})
return return
} }

View File

@ -8,6 +8,10 @@ import (
//参数校验 //参数校验
func (this *apiComp) JoinTeamCheck(session comm.IUserSession, req *pb.ParkourJoinTeamReq) (code pb.ErrorCode) { func (this *apiComp) JoinTeamCheck(session comm.IUserSession, req *pb.ParkourJoinTeamReq) (code pb.ErrorCode) {
if session.GetUserId() == req.Uid {
code = pb.ErrorCode_ReqParameterError
}
return return
} }
@ -36,7 +40,7 @@ func (this *apiComp) JoinTeam(session comm.IUserSession, req *pb.ParkourJoinTeam
} }
if len(info.Member) > 3 { if len(info.Member) > 3 {
code = pb.ErrorCode_ReqParameterError code = pb.ErrorCode_ParkourMemberFull
return return
} }
if tean, err = this.module.parkourComp.queryinfo(req.Uid); err != nil { if tean, err = this.module.parkourComp.queryinfo(req.Uid); err != nil {
@ -58,7 +62,7 @@ func (this *apiComp) JoinTeam(session comm.IUserSession, req *pb.ParkourJoinTeam
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound
return return
} }
member = &pb.DBRaceMember{Uid: session.GetUserId(), Name: user.Name, Avatar: user.Avatar, Lv: user.Lv, Mount: tean.Dfmount, Hp: mount.Hp} member = &pb.DBRaceMember{Uid: user.Uid, Name: user.Name, Avatar: user.Avatar, Lv: user.Lv, Mount: tean.Dfmount, Hp: mount.Hp}
tean.Captainid = tean.Uid tean.Captainid = tean.Uid
tean.State = pb.RaceTeamState_teaming tean.State = pb.RaceTeamState_teaming
tean.Member = append(tean.Member, member) tean.Member = append(tean.Member, member)
@ -71,7 +75,7 @@ func (this *apiComp) JoinTeam(session comm.IUserSession, req *pb.ParkourJoinTeam
return return
} }
user := this.module.ModuleUser.GetUser(session.GetUserId()) user := this.module.ModuleUser.GetUser(session.GetUserId())
member = &pb.DBRaceMember{Uid: session.GetUserId(), Name: user.Name, Avatar: user.Avatar, Lv: user.Lv, Mount: info.Dfmount, Hp: mount.Hp} member = &pb.DBRaceMember{Uid: user.Uid, Name: user.Name, Avatar: user.Avatar, Lv: user.Lv, Mount: info.Dfmount, Hp: mount.Hp}
tean.Member = append(tean.Member, member) tean.Member = append(tean.Member, member)
if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
"state": tean.State, "state": tean.State,

View File

@ -3,6 +3,7 @@ package parkour
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
) )
//参数校验 //参数校验
@ -17,6 +18,8 @@ func (this *apiComp) RaceMatchCheck(session comm.IUserSession, req *pb.ParkourRa
func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (code pb.ErrorCode, data *pb.ErrorData) { func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (code pb.ErrorCode, data *pb.ErrorData) {
var ( var (
team *pb.DBParkour team *pb.DBParkour
tuser *pb.DBUser
mount *cfg.GameBuzkashiMountData
users []string users []string
err error err error
) )
@ -27,10 +30,31 @@ func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMat
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
} }
if team.Captainid != session.GetUserId() { if team.Captainid != "" && team.Captainid != session.GetUserId() {
code = pb.ErrorCode_ReqParameterError code = pb.ErrorCode_ReqParameterError
return return
} }
if team.Captainid == "" { //为组队情况
team.Captainid = team.Uid
team.State = pb.RaceTeamState_teaming
if tuser = this.module.ModuleUser.GetUser(session.GetUserId()); tuser == nil {
code = pb.ErrorCode_SystemError
return
}
if mount, err = this.module.configure.getGameBuzkashiMount(team.Dfmount); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
team.Member = append(team.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Lv: tuser.Lv, Mount: team.Dfmount, Hp: mount.Hp})
if err = this.module.parkourComp.Change(team.Captainid, map[string]interface{}{
"state": team.State,
"captainid": team.Captainid,
"member": team.Member,
}); err != nil {
code = pb.ErrorCode_DBError
return
}
}
if err = this.module.match(team); err != nil { if err = this.module.match(team); err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError

View File

@ -18,7 +18,9 @@ func (this *apiComp) ViewPlayer(session comm.IUserSession, req *pb.ParkourViewPl
if code = this.ViewPlayerCheck(session, req); code != pb.ErrorCode_Success { if code = this.ViewPlayerCheck(session, req); code != pb.ErrorCode_Success {
return return
} }
resp = &pb.ParkourViewPlayerResp{
Player: make([]*pb.ParkourData, 0),
}
for _, uid := range req.Uid { for _, uid := range req.Uid {
if u := this.module.ModuleUser.GetUser(uid); u != nil { if u := this.module.ModuleUser.GetUser(uid); u != nil {
{ {

View File

@ -148,11 +148,12 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu
v.Ready = true v.Ready = true
} }
} }
battle.BuleMember = req.Bule
for _, v := range battle.Session { for _, v := range battle.Session {
sessions = append(sessions, v) sessions = append(sessions, v)
} }
battle.BuleMember = req.Bule
if err = this.raceComp.addrace(race); err != nil { if err = this.raceComp.addrace(race); err != nil {
return return
} }
@ -406,17 +407,6 @@ func (this *Parkour) useroffline(uid, sessionid string) {
} }
if info.State == pb.RaceTeamState_teaming { if info.State == pb.RaceTeamState_teaming {
if info.Captainid == uid { if info.Captainid == uid {
info.Invite = info.Invite[:0]
info.Member = info.Member[:0]
if err = this.parkourComp.Change(uid, map[string]interface{}{
"captainid": "",
"state": 0,
"Invite": info.Invite,
"member": info.Member,
}); err != nil {
this.Error("用户离线! 处理数据", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
return
}
users = make([]string, 0) users = make([]string, 0)
for _, v := range info.Member { for _, v := range info.Member {
if v.Uid != uid && !v.Isai { if v.Uid != uid && !v.Isai {
@ -430,6 +420,17 @@ func (this *Parkour) useroffline(uid, sessionid string) {
} }
} }
} }
info.Invite = info.Invite[:0]
info.Member = info.Member[:0]
if err = this.parkourComp.Change(uid, map[string]interface{}{
"captainid": "",
"state": 0,
"Invite": info.Invite,
"member": info.Member,
}); err != nil {
this.Error("用户离线! 处理数据", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
return
}
if len(users) > 0 { if len(users) > 0 {
if err = this.SendMsgToUsers(string(comm.ModulePvp), "teamdisbandnotice", &pb.ParkourTeamDisbandNoticePush{}, users...); err != nil { if err = this.SendMsgToUsers(string(comm.ModulePvp), "teamdisbandnotice", &pb.ParkourTeamDisbandNoticePush{}, users...); err != nil {
this.Errorln(err) this.Errorln(err)

View File

@ -102,7 +102,7 @@ func (this *apiComp) Practice(session comm.IUserSession, req *pb.PracticePractic
"knapsack": room.Knapsack, "knapsack": room.Knapsack,
filed: pillar, filed: pillar,
}) })
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype149, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype149, 1))
session.SendMsg(string(this.module.GetType()), "practice", &pb.PracticePracticeResp{Pillar: pillar}) session.SendMsg(string(this.module.GetType()), "practice", &pb.PracticePracticeResp{Pillar: pillar})
return return
} }

View File

@ -246,7 +246,7 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.PracticeReceiveR
this.module.PutUserSession(_session) this.module.PutUserSession(_session)
} }
} }
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype135, minutes)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype135, minutes))
session.SendMsg(string(this.module.GetType()), "receive", &pb.PracticeReceiveResp{Pillar: pillar, Knapsack: room.Knapsack}) session.SendMsg(string(this.module.GetType()), "receive", &pb.PracticeReceiveResp{Pillar: pillar, Knapsack: room.Knapsack})
return return
} }

View File

@ -61,7 +61,7 @@ func (this *apiComp) UnLock(session comm.IUserSession, req *pb.PracticeUnLockReq
filed: pillar, filed: pillar,
"pillarf": room.Pillarf, "pillarf": room.Pillarf,
}) })
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype152, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype152, 1))
session.SendMsg(string(this.module.GetType()), "unlock", &pb.PracticeUnLockResp{Info: room}) session.SendMsg(string(this.module.GetType()), "unlock", &pb.PracticeUnLockResp{Info: room})
return return
} }

View File

@ -16,6 +16,7 @@ type ModelRtaskRecord struct {
modules.MCompModel modules.MCompModel
moduleRtask *ModuleRtask moduleRtask *ModuleRtask
service core.IService service core.IService
record *pb.DBRtaskRecord
} }
func (this *ModelRtaskRecord) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { func (this *ModelRtaskRecord) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {

View File

@ -89,7 +89,7 @@ func (this *ModelRtask) checkCondi(uid string, condiId int32) (err error, ok boo
} }
//验证限定条件 //验证限定条件
var condi *rtaskCondi var condi *rtaskCondHandle
cond, ok := this.moduleRtask.handleMap.Load(condiId) cond, ok := this.moduleRtask.handleMap.Load(condiId)
if !ok { if !ok {
rcs := this.moduleRtask.getHandle(comm.TaskType(conf.Type)) rcs := this.moduleRtask.getHandle(comm.TaskType(conf.Type))
@ -100,7 +100,7 @@ func (this *ModelRtask) checkCondi(uid string, condiId int32) (err error, ok boo
} }
} }
if condi, ok = cond.(*rtaskCondi); !ok { if condi, ok = cond.(*rtaskCondHandle); !ok {
err = fmt.Errorf("condiType err") err = fmt.Errorf("condiType err")
return return
} }

View File

@ -12,18 +12,21 @@ import (
"go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/sys/db" "go_dreamfactory/sys/db"
"go_dreamfactory/utils" "go_dreamfactory/utils"
"sync" "sync"
"github.com/pkg/errors" "github.com/pkg/errors"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
) )
var _ comm.IRtask = (*ModuleRtask)(nil) var _ comm.IRtask = (*ModuleRtask)(nil)
// 限定条件 // 限定条件
type rtaskCondi struct { type rtaskCondHandle struct {
condId int32 //任务条件配置ID condId int32 //任务条件配置ID
verify verifyHandle //校验任务条件 verify verifyHandle //校验任务条件
find condiFindHandle //检索任务条件 find condiFindHandle //检索任务条件
@ -71,15 +74,15 @@ func (this *ModuleRtask) OnInstallComp() {
this.configure = this.RegisterComp(new(configureComp)).(*configureComp) this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
} }
func (this *ModuleRtask) registerVerifyHandle(condiId int32, condi *rtaskCondi) { func (this *ModuleRtask) registerVerifyHandle(condiId int32, condi *rtaskCondHandle) {
this.handleMap.Store(condiId, condi) this.handleMap.Store(condiId, condi)
} }
func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) { func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondHandle) {
for _, v := range this.configure.getRtaskCondis(int32(tt)) { for _, v := range this.configure.getRtaskCondis(int32(tt)) {
switch tt { switch tt {
case comm.Rtype1: case comm.Rtype1:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verfiyRtype1, verify: this.modelRtask.verfiyRtype1,
@ -88,7 +91,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype2: case comm.Rtype2:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verifyRtype2, verify: this.modelRtask.verifyRtype2,
@ -97,7 +100,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype3: case comm.Rtype3:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verifyRtype3, verify: this.modelRtask.verifyRtype3,
@ -106,7 +109,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype4: case comm.Rtype4:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verifyRtype4, verify: this.modelRtask.verifyRtype4,
@ -115,7 +118,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype5: case comm.Rtype5:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verifyRtype5, verify: this.modelRtask.verifyRtype5,
@ -124,7 +127,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype6: case comm.Rtype6:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verifyRtype6, verify: this.modelRtask.verifyRtype6,
@ -133,7 +136,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype8: case comm.Rtype8:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verfiyRtype8, verify: this.modelRtask.verfiyRtype8,
@ -142,7 +145,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype9: case comm.Rtype9:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verfiyRtype9, verify: this.modelRtask.verfiyRtype9,
@ -151,7 +154,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype10: case comm.Rtype10:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verfiyRtype10, verify: this.modelRtask.verfiyRtype10,
@ -160,7 +163,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype11, comm.Rtype84, comm.Rtype85: case comm.Rtype11, comm.Rtype84, comm.Rtype85:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.lessEqualFirstParam, find: this.modelRtaskRecord.lessEqualFirstParam,
verify: this.modelRtaskRecord.verifyFirstGreatEqualParam, verify: this.modelRtaskRecord.verifyFirstGreatEqualParam,
@ -170,7 +173,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype18: case comm.Rtype18:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.greatEqualFirstParam, find: this.modelRtaskRecord.greatEqualFirstParam,
verify: this.modelRtaskRecord.verifyFirstGreatEqualParam, verify: this.modelRtaskRecord.verifyFirstGreatEqualParam,
@ -187,7 +190,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
comm.Rtype96, comm.Rtype105, comm.Rtype128, comm.Rtype130, comm.Rtype131, comm.Rtype96, comm.Rtype105, comm.Rtype128, comm.Rtype130, comm.Rtype131,
comm.Rtype141, comm.Rtype142, comm.Rtype143, comm.Rtype144, comm.Rtype145, comm.Rtype146, comm.Rtype141, comm.Rtype142, comm.Rtype143, comm.Rtype144, comm.Rtype145, comm.Rtype146,
comm.Rtype147, comm.Rtype149, comm.Rtype153, comm.Rtype154, comm.Rtype155, comm.Rtype156: comm.Rtype147, comm.Rtype149, comm.Rtype153, comm.Rtype154, comm.Rtype155, comm.Rtype156:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.lessEqualFirstParam, find: this.modelRtaskRecord.lessEqualFirstParam,
verify: this.modelRtaskRecord.verifyFirstGreatEqualParam, verify: this.modelRtaskRecord.verifyFirstGreatEqualParam,
@ -196,7 +199,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype50, comm.Rtype73: case comm.Rtype50, comm.Rtype73:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.lessEqualFirstParam, find: this.modelRtaskRecord.lessEqualFirstParam,
verify: this.modelRtaskRecord.verifyFromDb, verify: this.modelRtaskRecord.verifyFromDb,
@ -205,7 +208,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype20: case comm.Rtype20:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verifyRtype20, verify: this.modelRtask.verifyRtype20,
@ -215,7 +218,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype22, comm.Rtype109: case comm.Rtype22, comm.Rtype109:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtaskRecord.verifyFirstEqualParam, verify: this.modelRtaskRecord.verifyFirstEqualParam,
@ -225,7 +228,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
condis = append(condis, condi) condis = append(condis, condi)
this.registerVerifyHandle(v.Id, condi) this.registerVerifyHandle(v.Id, condi)
case comm.Rtype63: case comm.Rtype63:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalFirstParam, find: this.modelRtaskRecord.equalFirstParam,
verify: this.modelRtask.verifyRtype63, verify: this.modelRtask.verifyRtype63,
@ -236,7 +239,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
case comm.Rtype16, comm.Rtype17, case comm.Rtype16, comm.Rtype17,
comm.Rtype35, comm.Rtype44, comm.Rtype35, comm.Rtype44,
comm.Rtype59, comm.Rtype61: comm.Rtype59, comm.Rtype61:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.equalParams, find: this.modelRtaskRecord.equalParams,
verify: this.modelRtaskRecord.verifyFromDb, verify: this.modelRtaskRecord.verifyFromDb,
@ -251,7 +254,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
comm.Rtype46, comm.Rtype47, comm.Rtype48, comm.Rtype49, comm.Rtype46, comm.Rtype47, comm.Rtype48, comm.Rtype49,
comm.Rtype52, comm.Rtype55, comm.Rtype56, comm.Rtype52, comm.Rtype55, comm.Rtype56,
comm.Rtype65, comm.Rtype66, comm.Rtype67, comm.Rtype68, comm.Rtype70, comm.Rtype140: comm.Rtype65, comm.Rtype66, comm.Rtype67, comm.Rtype68, comm.Rtype70, comm.Rtype140:
condi := &rtaskCondi{ condi := &rtaskCondHandle{
condId: v.Id, condId: v.Id,
find: this.modelRtaskRecord.lessThanParams, find: this.modelRtaskRecord.lessThanParams,
verify: this.modelRtaskRecord.verifyFromDb, verify: this.modelRtaskRecord.verifyFromDb,
@ -269,7 +272,8 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) {
// 处理触发的任务 // 处理触发的任务
func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType comm.TaskType, params ...int32) (code pb.ErrorCode) { func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType comm.TaskType, params ...int32) (code pb.ErrorCode) {
uid := session.GetUserId() uid := session.GetUserId()
var condis []*rtaskCondi
var handles []*rtaskCondHandle
if this.IsCross() { if this.IsCross() {
//随机任务 //随机任务
@ -285,18 +289,18 @@ func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType com
return return
} }
condis = this.getHandle(rtaskType) handles = this.getHandle(rtaskType)
// update // update
for _, v := range condis { for _, handle := range handles {
conf, err := this.configure.getRtaskTypeById(v.condId) conf, err := this.configure.getRtaskTypeById(handle.condId)
if err != nil { if err != nil {
log.Debug("任务配置未找到", log.Field{Key: "condId", Value: v.condId}) log.Debug("任务配置未找到", log.Field{Key: "condId", Value: handle.condId})
code = pb.ErrorCode_RtaskCondiNoFound code = pb.ErrorCode_RtaskCondiNoFound
return return
} }
if v.update != nil { if handle.update != nil {
if err := v.update(uid, conf, params...); err != nil { if err := handle.update(uid, conf, params...); err != nil {
log.Errorf("update task:%v", err) log.Errorf("update task:%v", err)
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
@ -349,9 +353,6 @@ func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType com
} }
func (this *ModuleRtask) TriggerTask(uid string, taskParams ...*comm.TaskParam) { func (this *ModuleRtask) TriggerTask(uid string, taskParams ...*comm.TaskParam) {
this.Debug("任务处理",
log.Field{Key: "uid", Value: uid},
log.Field{Key: "params", Value: taskParams})
session, ok := this.GetUserSession(uid) session, ok := this.GetUserSession(uid)
if !ok { if !ok {
return return
@ -363,13 +364,40 @@ func (this *ModuleRtask) TriggerTask(uid string, taskParams ...*comm.TaskParam)
this.Error("TriggerTask userlock err!", log.Field{Key: "err", Value: err.Error()}) this.Error("TriggerTask userlock err!", log.Field{Key: "err", Value: err.Error()})
} }
defer lock.Unlock() defer lock.Unlock()
for _, tp := range taskParams {
if code := this.processOneTask(session, tp.TT, tp.Params...); code != pb.ErrorCode_Success {
record := &pb.DBRtaskRecord{Uid: uid}
if err := this.modelRtaskRecord.Get(uid, record); err != nil {
if err == mongo.ErrNoDocuments {
record.Id = primitive.NewObjectID().Hex()
record.Ctime = configure.Now().Unix()
if err := this.modelRtaskRecord.Add(uid, record); err != nil {
return
}
} }
}
this.modelRtaskRecord.record = record
for _, tp := range taskParams {
// this.Debug("任务触发",
// log.Field{Key: "uid", Value: uid},
// log.Field{Key: "type", Value: tp.TT},
// log.Field{Key: "params", Value: tp.Params})
if code := this.processOneTask(session, tp.TT, tp.Params...); code != pb.ErrorCode_Success {
// this.Error("任务处理", log.Field{Key: "uid", Value: uid}, log.Field{Key: "code", Value: code})
}
session.Push() session.Push()
comm.PuttaskParam(tp) comm.PuttaskParam(tp)
} }
update := map[string]interface{}{
"vals": record.Vals,
}
this.modelRtaskRecord.Change(uid, update)
this.PutUserSession(session) this.PutUserSession(session)
return return
} }

View File

@ -2,14 +2,9 @@
package rtask package rtask
import ( import (
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"github.com/pkg/errors"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
) )
// 覆盖更新 // 覆盖更新
@ -19,93 +14,79 @@ func (this *ModelRtaskRecord) overrideUpdate(uid string, cfg *cfg.GameRdtaskCond
return err return err
} }
record := &pb.DBRtaskRecord{Uid: uid} // record := &pb.DBRtaskRecord{Uid: uid}
if err := this.Get(uid, record); err != nil { // if err := this.Get(uid, record); err != nil {
if err == mongo.ErrNoDocuments { // if err == mongo.ErrNoDocuments {
record.Id = primitive.NewObjectID().Hex() // record.Id = primitive.NewObjectID().Hex()
record.Ctime = configure.Now().Unix() // record.Ctime = configure.Now().Unix()
if err := this.Add(uid, record); err != nil { // if err := this.Add(uid, record); err != nil {
return errors.Wrapf(err, "创建玩家任务记录 err: %v rtype[%v]", uid, cfg.Id) // return errors.Wrapf(err, "创建玩家任务记录 err: %v rtype[%v]", uid, cfg.Id)
} // }
} else { // } else {
return errors.Wrapf(err, "获取玩家任务记录 err: %v rtype[%v]", uid, cfg.Id) // return errors.Wrapf(err, "获取玩家任务记录 err: %v rtype[%v]", uid, cfg.Id)
} // }
// }
if this.record.Vals == nil {
this.record.Vals = make(map[int32]*pb.RtaskData)
} }
if record.Vals == nil { if v, ok := this.record.Vals[cfg.Id]; ok {
record.Vals = make(map[int32]*pb.RtaskData)
}
if v, ok := record.Vals[cfg.Id]; ok {
this.moduleRtask.Debug("覆盖更新前",
log.Field{Key: "uid", Value: uid},
log.Field{Key: "v", Value: v},
log.Field{Key: "paramLen", Value: paramLen},
log.Field{Key: "vals", Value: vals},
log.Field{Key: "cfgId", Value: cfg.Id},
)
v.Data = hasUpdateData(paramLen, v, vals...) v.Data = hasUpdateData(paramLen, v, vals...)
this.moduleRtask.Debug("覆盖更新后", // if len(v.Data) > 0 {
log.Field{Key: "uid", Value: uid}, // update := map[string]interface{}{
log.Field{Key: "v", Value: v.Data}, // "vals": record.Vals,
log.Field{Key: "paramLen", Value: paramLen}, // }
log.Field{Key: "vals", Value: vals}, // if err = this.Change(uid, update); err != nil {
log.Field{Key: "cfgId", Value: cfg.Id}, // this.moduleRtask.Error("更新失败",
) // log.Field{Key: "uid", Value: uid},
if len(v.Data) > 0 { // log.Field{Key: "update", Value: update})
update := map[string]interface{}{ // return
"vals": record.Vals, // }
} // }
if err = this.Change(uid, update); err != nil {
this.moduleRtask.Error("更新失败",
log.Field{Key: "uid", Value: uid},
log.Field{Key: "update", Value: update})
return
}
}
} else { } else {
data := &pb.RtaskData{ data := &pb.RtaskData{
Rtype: cfg.Type, Rtype: cfg.Type,
Data: toMap(vals...), Data: toMap(vals...),
Timestamp: configure.Now().Unix(), Timestamp: configure.Now().Unix(),
} }
record.Vals[cfg.Id] = data this.record.Vals[cfg.Id] = data
update := map[string]interface{}{ // update := map[string]interface{}{
"vals": record.Vals, // "vals": record.Vals,
} // }
if err = this.Change(uid, update); err != nil { // if err = this.Change(uid, update); err != nil {
this.moduleRtask.Error("更新失败", // this.moduleRtask.Error("更新失败",
log.Field{Key: "uid", Value: uid}, // log.Field{Key: "uid", Value: uid},
log.Field{Key: "update", Value: update}) // log.Field{Key: "update", Value: update})
return // return
} // }
} }
return return
} }
// 累计更新 - 招募等 // 累计更新 - 招募等
func (this *ModelRtaskRecord) addUpdate(uid string, cfg *cfg.GameRdtaskCondiData, vals ...int32) (err error) { func (this *ModelRtaskRecord) addUpdate(uid string, cfg *cfg.GameRdtaskCondiData, vals ...int32) (err error) {
record := &pb.DBRtaskRecord{Uid: uid} // record := &pb.DBRtaskRecord{Uid: uid}
err = this.Get(uid, record) // err = this.Get(uid, record)
if err != nil { // if err != nil {
if err == mongo.ErrNoDocuments { // if err == mongo.ErrNoDocuments {
record.Id = primitive.NewObjectID().Hex() // record.Id = primitive.NewObjectID().Hex()
record.Ctime = configure.Now().Unix() // record.Ctime = configure.Now().Unix()
if err := this.Add(uid, record); err != nil { // if err := this.Add(uid, record); err != nil {
return errors.Wrapf(err, "创建玩家任务记录 err: %v rtype[%v]", uid, cfg.Id) // return errors.Wrapf(err, "创建玩家任务记录 err: %v rtype[%v]", uid, cfg.Id)
} // }
} else { // } else {
return errors.Wrapf(err, "获取玩家任务记录 err: %v rtype[%v]", uid, cfg.Id) // return errors.Wrapf(err, "获取玩家任务记录 err: %v rtype[%v]", uid, cfg.Id)
} // }
} // }
if record.Vals == nil { if this.record.Vals == nil {
record.Vals = make(map[int32]*pb.RtaskData) this.record.Vals = make(map[int32]*pb.RtaskData)
} }
//查找任务数据 //查找任务数据
if v, ok := record.Vals[cfg.Id]; ok { if v, ok := this.record.Vals[cfg.Id]; ok {
newArr := make([]int32, len(vals)) newArr := make([]int32, len(vals))
copy(newArr, vals) copy(newArr, vals)
srcCount := v.Data[0] srcCount := v.Data[0]
@ -113,20 +94,20 @@ func (this *ModelRtaskRecord) addUpdate(uid string, cfg *cfg.GameRdtaskCondiData
v.Data = toMap(newArr...) v.Data = toMap(newArr...)
v.Timestamp = configure.Now().Unix() v.Timestamp = configure.Now().Unix()
update := map[string]interface{}{ // update := map[string]interface{}{
"vals": record.Vals, // "vals": record.Vals,
} // }
err = this.Change(uid, update) // err = this.Change(uid, update)
} else { } else {
record.Vals[cfg.Id] = &pb.RtaskData{ this.record.Vals[cfg.Id] = &pb.RtaskData{
Data: toMap(vals...), Data: toMap(vals...),
Rtype: cfg.Type, Rtype: cfg.Type,
Timestamp: configure.Now().Unix(), Timestamp: configure.Now().Unix(),
} }
update := map[string]interface{}{ // update := map[string]interface{}{
"vals": record.Vals, // "vals": record.Vals,
} // }
err = this.Change(uid, update) // err = this.Change(uid, update)
} }
return return
} }

View File

@ -133,7 +133,7 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (code pb
} }
} }
if len(tasks) > 0 { if len(tasks) > 0 {
this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), tasks...)
} }
session.SendMsg(string(this.module.GetType()), "buy", &pb.ShopBuyResp{IsSucc: true}) session.SendMsg(string(this.module.GetType()), "buy", &pb.ShopBuyResp{IsSucc: true})

View File

@ -157,7 +157,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
} }
} }
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype105, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype105, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype105, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype105, 1))
this.module.modelShop.Change(session.GetUserId(), map[string]interface{}{"refreshnumgoldShop": shopData.RefreshnumgoldShop, "refreshtimegoldShop": shopData.RefreshtimegoldShop, filed: sdata}) this.module.modelShop.Change(session.GetUserId(), map[string]interface{}{"refreshnumgoldShop": shopData.RefreshnumgoldShop, "refreshtimegoldShop": shopData.RefreshtimegoldShop, filed: sdata})
} else if !req.IsManualRefresh { } else if !req.IsManualRefresh {
// refresh := int(this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType2)) // refresh := int(this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType2))
@ -200,7 +200,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
goods = transGoods(items, sdata) goods = transGoods(items, sdata)
this.module.modelShop.Change(session.GetUserId(), map[string]interface{}{filed: sdata}) this.module.modelShop.Change(session.GetUserId(), map[string]interface{}{filed: sdata})
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype105, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype105, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype105, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype105, 1))
} else { //返回以前的商品列表 } else { //返回以前的商品列表
if items, err = this.module.configure.GetShopItemsConfigureByIds(sdata.Items...); err != nil { if items, err = this.module.configure.GetShopItemsConfigureByIds(sdata.Items...); err != nil {
code = pb.ErrorCode_SystemError code = pb.ErrorCode_SystemError

View File

@ -55,7 +55,7 @@ func (this *apiComp) Agree(session comm.IUserSession, req *pb.SociatyAgreeReq) (
// 触发任务条件 // 触发任务条件
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype109, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype109, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype109, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype109, 1))
// 发邮件 // 发邮件
if err := this.module.modelSociaty.sendMail("GuildApproved", []string{sociaty.Name}, []string{req.Uid}); err != nil { if err := this.module.modelSociaty.sendMail("GuildApproved", []string{sociaty.Name}, []string{req.Uid}); err != nil {
this.module.Error("发送邮件 模板ID:GuildApproved", this.module.Error("发送邮件 模板ID:GuildApproved",

View File

@ -96,7 +96,7 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.SociatyApplyReq) (
if !isCheck { if !isCheck {
// 触发任务条件 // 触发任务条件
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype109, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype109, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype109, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype109, 1))
} }
rsp := &pb.SociatyApplyResp{ rsp := &pb.SociatyApplyResp{
Uid: uid, Uid: uid,

View File

@ -197,6 +197,7 @@ func (this *ParkourComp) cancel(ctx context.Context, req *pb.RPCParkourCancelMat
//定时匹配处理 //定时匹配处理
func (this *ParkourComp) timer() { func (this *ParkourComp) timer() {
this.module.Errorf("捕羊大赛 定时匹配,%d", this.total)
if this.total == 0 { if this.total == 0 {
return return
} }
@ -338,7 +339,7 @@ func (this *ParkourComp) timer() {
reduser = append(reduser, this.teams[v]...) reduser = append(reduser, this.teams[v]...)
} }
for _, v := range bule { for _, v := range bule {
buleuser = append(reduser, this.teams[v]...) buleuser = append(buleuser, this.teams[v]...)
} }
if len(users)+rednum+bulenum < 6 { if len(users)+rednum+bulenum < 6 {
@ -357,6 +358,7 @@ func (this *ParkourComp) timer() {
} else { } else {
v.Name = user.Name v.Name = user.Name
v.Avatar = user.Avatar v.Avatar = user.Avatar
v.Lv = user.Lv
} }
} }
} }
@ -372,6 +374,7 @@ func (this *ParkourComp) timer() {
} else { } else {
v.Name = user.Name v.Name = user.Name
v.Avatar = user.Avatar v.Avatar = user.Avatar
v.Lv = user.Lv
} }
} }
} }

View File

@ -169,6 +169,6 @@ func (this *apiComp) BuyOrSell(session comm.IUserSession, req *pb.TrollBuyOrSell
} }
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype153, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype153, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype153, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype153, 1))
return return
} }

View File

@ -121,7 +121,7 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.UserCreateReq) (c
} }
if req.Figure != 0 { if req.Figure != 0 {
this.module.ModuleRtask.TriggerTask(uid, comm.GettaskParam(comm.Rtype72, 1)) go this.module.ModuleRtask.TriggerTask(uid, comm.GettaskParam(comm.Rtype72, 1))
} }
this.mail.SendMailByCid(session, comm.Welcomemail, nil) this.mail.SendMailByCid(session, comm.Welcomemail, nil)

View File

@ -133,7 +133,7 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (cod
this.module.RecoverUserPsStart(user.Uid) this.module.RecoverUserPsStart(user.Uid)
// 日常登录任务 // 日常登录任务
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype8, 1) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype8, 1)
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype8, 1)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype8, 1))
this.module.ModulePrivilege.CheckDailyPrivilegeMail(session) this.module.ModulePrivilege.CheckDailyPrivilegeMail(session)
rsp.Data = user rsp.Data = user

View File

@ -152,6 +152,6 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
} }
} }
} }
this.module.ModuleRtask.TriggerTask(session.GetUserId(), szTask...) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), szTask...)
return return
} }

View File

@ -11,7 +11,7 @@ import (
// 战斗结束的请求 // 战斗结束的请求
func (this *apiComp) BattlefinishCheck(session comm.IUserSession, req *pb.WorldtaskBattleFinishReq) (code pb.ErrorCode) { func (this *apiComp) BattlefinishCheck(session comm.IUserSession, req *pb.WorldtaskBattleFinishReq) (code pb.ErrorCode) {
if req.GroupId <= 0 || req.CondiId <= 0 || req.BattleConfId <= 0 || req.TaskId <= 0 || req.Report == nil { if req.GroupId <= 0 || req.BattleConfId <= 0 || req.TaskId <= 0 || req.Report == nil {
this.module.Error("世界任务战斗结束参数错误", this.module.Error("世界任务战斗结束参数错误",
log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "uid", Value: session.GetUserId()},
log.Field{Key: "params", Value: req.String()}, log.Field{Key: "params", Value: req.String()},
@ -70,7 +70,6 @@ func (this *apiComp) Battlefinish(session comm.IUserSession, req *pb.WorldtaskBa
if ibattle, ok := battleModule.(comm.IBattle); ok { if ibattle, ok := battleModule.(comm.IBattle); ok {
var isWin bool var isWin bool
if code, isWin = ibattle.CheckBattleReport(session, req.Report); code == pb.ErrorCode_Success { if code, isWin = ibattle.CheckBattleReport(session, req.Report); code == pb.ErrorCode_Success {
if isWin { if isWin {
if battleConf, ok := this.module.worldBattleConf.GetDataMap()[req.BattleConfId]; ok { if battleConf, ok := this.module.worldBattleConf.GetDataMap()[req.BattleConfId]; ok {
if code := this.module.DispenseRes(session, []*cfg.Gameatn{battleConf.Playexp}, true); code != pb.ErrorCode_Success { if code := this.module.DispenseRes(session, []*cfg.Gameatn{battleConf.Playexp}, true); code != pb.ErrorCode_Success {
@ -80,17 +79,18 @@ func (this *apiComp) Battlefinish(session comm.IUserSession, req *pb.WorldtaskBa
) )
} else { } else {
//触发任务 //触发任务
this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype70, 1, req.BattleConfId)) go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype70, 1, req.BattleConfId))
} }
} }
} }
if userTask.CurrentTask == nil { if userTask.CurrentTask == nil {
userTask.CurrentTask = make(map[int32]*pb.Worldtask) userTask.CurrentTask = make(map[int32]*pb.Worldtask)
} }
if _, ok := utils.Findx(userTask.CurrentTask[req.GroupId].CondiIds, req.CondiId); !ok { if _, ok := utils.Findx(userTask.CurrentTask[req.GroupId].CondiIds, req.CondiId); !ok {
userTask.CurrentTask[req.GroupId].CondiIds = append(userTask.CurrentTask[req.GroupId].CondiIds, req.CondiId) userTask.CurrentTask[req.GroupId].CondiIds = append(userTask.CurrentTask[req.GroupId].CondiIds, req.CondiId)
} }
update := map[string]interface{}{ update := map[string]interface{}{
"currentTask": userTask.CurrentTask, "currentTask": userTask.CurrentTask,
} }
@ -105,6 +105,7 @@ func (this *apiComp) Battlefinish(session comm.IUserSession, req *pb.WorldtaskBa
TaskId: req.TaskId, TaskId: req.TaskId,
CondiIds: userTask.CurrentTask[req.GroupId].CondiIds, CondiIds: userTask.CurrentTask[req.GroupId].CondiIds,
}) })
} }
this.module.Debug("校验战报", this.module.Debug("校验战报",
log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "uid", Value: session.GetUserId()},