Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
0b347d7f2e
@ -110,3 +110,9 @@ const (
|
|||||||
TASK_ACHIEVE TaskTag = 3 //成就
|
TASK_ACHIEVE TaskTag = 3 //成就
|
||||||
TASK_STRATEGY TaskTag = 4 // 攻略
|
TASK_STRATEGY TaskTag = 4 // 攻略
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
MailLineEasy string = "mainline_data_easy" // 简单
|
||||||
|
MailLineHard string = "mainline_data_hard" // 困难
|
||||||
|
MailLinePurgatory string = "mainline_data_purgatory" // 炼狱
|
||||||
|
)
|
||||||
|
@ -17,7 +17,7 @@ type (
|
|||||||
|
|
||||||
//邮件业务模块对外接口定义 提供给其他模块使用的
|
//邮件业务模块对外接口定义 提供给其他模块使用的
|
||||||
Imail interface {
|
Imail interface {
|
||||||
CreateNewMail(uId string, mail *pb.DBMailData) bool
|
CreateNewMail(session IUserSession, mail *pb.DBMailData) bool
|
||||||
}
|
}
|
||||||
//道具背包接口
|
//道具背包接口
|
||||||
IItems interface {
|
IItems interface {
|
||||||
|
@ -269,10 +269,9 @@ func (this *ModelHero) setEquipment(hero *pb.DBHero) (newHero *pb.DBHero, err er
|
|||||||
}
|
}
|
||||||
|
|
||||||
update := make(map[string]interface{})
|
update := make(map[string]interface{})
|
||||||
if hero.IsOverlying {
|
if hero.IsOverlying && hero.SameCount > 1 {
|
||||||
if hero.SameCount-1 > 0 {
|
hero.SameCount -= 1
|
||||||
update["sameCount"] = hero.SameCount - 1
|
update["sameCount"] = hero.SameCount
|
||||||
}
|
|
||||||
update["isOverlying"] = false
|
update["isOverlying"] = false
|
||||||
if err = this.modifyHeroData(hero.Uid, hero.Id, update); err != nil {
|
if err = this.modifyHeroData(hero.Uid, hero.Id, update); err != nil {
|
||||||
this.moduleHero.Errorf("%v", err)
|
this.moduleHero.Errorf("%v", err)
|
||||||
@ -291,6 +290,7 @@ func (this *ModelHero) setEquipment(hero *pb.DBHero) (newHero *pb.DBHero, err er
|
|||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
update["equipID"] = hero.EquipID
|
update["equipID"] = hero.EquipID
|
||||||
|
update["isoverlying"] = false
|
||||||
}
|
}
|
||||||
|
|
||||||
this.modifyHeroData(hero.Uid, hero.Id, update)
|
this.modifyHeroData(hero.Uid, hero.Id, update)
|
||||||
|
@ -34,7 +34,7 @@ func (this *modelMail) Init(service core.IService, module core.IModule, comp cor
|
|||||||
|
|
||||||
func (this *modelMail) Mail_QueryUserMail(uId string) (mail []*pb.DBMailData, err error) {
|
func (this *modelMail) Mail_QueryUserMail(uId string) (mail []*pb.DBMailData, err error) {
|
||||||
|
|
||||||
if _data, err := this.DB.Find(DB_MailTable, bson.M{"userid": uId}); err == nil {
|
if _data, err := this.DB.Find(DB_MailTable, bson.M{"uid": uId}); err == nil {
|
||||||
for _data.Next(context.TODO()) {
|
for _data.Next(context.TODO()) {
|
||||||
temp := &pb.DBMailData{}
|
temp := &pb.DBMailData{}
|
||||||
if err = _data.Decode(temp); err == nil {
|
if err = _data.Decode(temp); err == nil {
|
||||||
|
@ -46,7 +46,7 @@ func (this *Mail) OnInstallComp() {
|
|||||||
// Check: false,
|
// Check: false,
|
||||||
// Reward: false,
|
// Reward: false,
|
||||||
// }
|
// }
|
||||||
func (this *Mail) CreateNewMail(uId string, mail *pb.DBMailData) bool {
|
func (this *Mail) CreateNewMail(session comm.IUserSession, mail *pb.DBMailData) bool {
|
||||||
|
|
||||||
if mail == nil {
|
if mail == nil {
|
||||||
return false
|
return false
|
||||||
@ -56,16 +56,13 @@ func (this *Mail) CreateNewMail(uId string, mail *pb.DBMailData) bool {
|
|||||||
this.ModuleBase.Errorf("create mail failed")
|
this.ModuleBase.Errorf("create mail failed")
|
||||||
}
|
}
|
||||||
// 通知玩家
|
// 通知玩家
|
||||||
this.AddNewMailPush(uId, mail)
|
this.AddNewMailPush(session, mail)
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得新邮件 推送给玩家
|
// 获得新邮件 推送给玩家
|
||||||
func (this *Mail) AddNewMailPush(uid string, mail *pb.DBMailData) (err error) {
|
func (this *Mail) AddNewMailPush(session comm.IUserSession, mail *pb.DBMailData) (err error) {
|
||||||
if session, ok := this.GetUserSession(uid); ok {
|
|
||||||
session.SendMsg(string(this.GetType()), "getnewmail", &pb.MailGetNewMailPush{Mail: mail})
|
session.SendMsg(string(this.GetType()), "getnewmail", &pb.MailGetNewMailPush{Mail: mail})
|
||||||
err = session.Push()
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle
|
|||||||
var (
|
var (
|
||||||
curChapter *pb.DBMainline // 当前章节信息
|
curChapter *pb.DBMainline // 当前章节信息
|
||||||
bBranch bool // 当前挑战关卡是不是分支
|
bBranch bool // 当前挑战关卡是不是分支
|
||||||
|
bCheck bool
|
||||||
)
|
)
|
||||||
bBranch = false
|
bBranch = false
|
||||||
code = this.ChallengeCheck(session, req)
|
code = this.ChallengeCheck(session, req)
|
||||||
@ -48,6 +49,16 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle
|
|||||||
code = pb.ErrorCode_ConfigNoFound
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
for _, v := range chaptConfig.Episode { // 校验是不是当前章节的关卡
|
||||||
|
if v == int32(req.MainlineId) {
|
||||||
|
bCheck = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !bCheck {
|
||||||
|
code = pb.ErrorCode_ReqParameterError // 不是该章节的关卡
|
||||||
|
return
|
||||||
|
}
|
||||||
if curChapter == nil {
|
if curChapter == nil {
|
||||||
if len(chaptConfig.Episode) <= 0 {
|
if len(chaptConfig.Episode) <= 0 {
|
||||||
code = pb.ErrorCode_ConfigNoFound
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
@ -69,7 +80,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle
|
|||||||
//curChapter.MainlineId = chaptConfig.Fubendata[0] // 第一次挑战
|
//curChapter.MainlineId = chaptConfig.Fubendata[0] // 第一次挑战
|
||||||
}
|
}
|
||||||
// 根据难度找对应的配置文件
|
// 根据难度找对应的配置文件
|
||||||
if chaptConfig.Intensity == "1" { // 这里按临时配置读取 后面会修改
|
if chaptConfig.Intensity == comm.MailLineEasy {
|
||||||
con := this.module.configure.GetMainlineEasyChapter(int32(req.MainlineId)) // 根据配置文件找
|
con := this.module.configure.GetMainlineEasyChapter(int32(req.MainlineId)) // 根据配置文件找
|
||||||
if con == nil {
|
if con == nil {
|
||||||
code = pb.ErrorCode_ConfigNoFound
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
@ -86,7 +97,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle
|
|||||||
}
|
}
|
||||||
// TODO 调用战斗逻辑
|
// TODO 调用战斗逻辑
|
||||||
// 挑战成功
|
// 挑战成功
|
||||||
curChapter.MainlineId += 1 // 临时数据 后面配置表完善查找
|
curChapter.MainlineId = int32(req.MainlineId)
|
||||||
if bBranch {
|
if bBranch {
|
||||||
curChapter.BranchID = append(curChapter.BranchID, int32(req.ChapterId)) // 记录分支关卡
|
curChapter.BranchID = append(curChapter.BranchID, int32(req.ChapterId)) // 记录分支关卡
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ type apiComp struct {
|
|||||||
service base.IRPCXService
|
service base.IRPCXService
|
||||||
module *User
|
module *User
|
||||||
hero comm.IHero
|
hero comm.IHero
|
||||||
|
mail comm.Imail
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||||
@ -42,5 +43,10 @@ func (this *apiComp) Start() (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.hero = module.(comm.IHero)
|
this.hero = module.(comm.IHero)
|
||||||
|
|
||||||
|
if module, err = this.service.GetModule(comm.ModuleMail); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.mail = module.(comm.Imail)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ import (
|
|||||||
"go_dreamfactory/utils"
|
"go_dreamfactory/utils"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||||
"go.mongodb.org/mongo-driver/mongo"
|
"go.mongodb.org/mongo-driver/mongo"
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
)
|
)
|
||||||
@ -115,6 +116,30 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (cod
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
mail := &pb.DBMailData{
|
||||||
|
ObjId: primitive.NewObjectID().Hex(),
|
||||||
|
Uid: user.Uid,
|
||||||
|
Title: "系统邮件",
|
||||||
|
Contex: "恭喜获得专属礼包一份",
|
||||||
|
CreateTime: uint64(time.Now().Unix()),
|
||||||
|
DueTime: uint64(time.Now().Unix()) + 30*24*3600, // 30天需要走配置文件
|
||||||
|
Check: false,
|
||||||
|
Reward: false,
|
||||||
|
}
|
||||||
|
fj := make([]*pb.UserAssets, 0)
|
||||||
|
atn1 := &pb.UserAssets{
|
||||||
|
A: "hero",
|
||||||
|
T: "25001",
|
||||||
|
N: 1,
|
||||||
|
}
|
||||||
|
atn2 := &pb.UserAssets{
|
||||||
|
A: "item",
|
||||||
|
T: "10001",
|
||||||
|
N: 100,
|
||||||
|
}
|
||||||
|
fj = append(fj, atn1)
|
||||||
|
fj = append(fj, atn2)
|
||||||
|
mail.Items = fj
|
||||||
|
this.mail.CreateNewMail(session, mail)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user