142 lines
3.7 KiB
Go
142 lines
3.7 KiB
Go
package parkour
|
|
|
|
import (
|
|
"go_dreamfactory/comm"
|
|
"go_dreamfactory/lego/sys/mgo"
|
|
"go_dreamfactory/pb"
|
|
"go_dreamfactory/utils"
|
|
)
|
|
|
|
//参数校验
|
|
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.ParkourInfoReq) (errdata *pb.ErrorData) {
|
|
return
|
|
}
|
|
|
|
///匹配请求
|
|
func (this *apiComp) Info(session comm.IUserSession, req *pb.ParkourInfoReq) (errdata *pb.ErrorData) {
|
|
var (
|
|
info *pb.DBParkour
|
|
user *pb.DBUser
|
|
dragon *pb.DBDragon
|
|
dragons []*pb.DBDragon
|
|
update map[string]interface{} = make(map[string]interface{})
|
|
err error
|
|
)
|
|
|
|
if errdata = this.InfoCheck(session, req); errdata != nil {
|
|
return
|
|
}
|
|
user, err = this.module.ModuleUser.GetUser(session.GetUserId())
|
|
if err != nil {
|
|
errdata = &pb.ErrorData{
|
|
Code: pb.ErrorCode_DBError,
|
|
Title: pb.ErrorCode_DBError.ToString(),
|
|
Message: err.Error(),
|
|
}
|
|
return
|
|
}
|
|
if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil && err != mgo.MongodbNil {
|
|
errdata = &pb.ErrorData{
|
|
Code: pb.ErrorCode_DBError,
|
|
Title: pb.ErrorCode_DBError.ToString(),
|
|
Message: err.Error(),
|
|
}
|
|
return
|
|
}
|
|
if info.Defmts == "" { //没有默认坐骑
|
|
if dragons, err = this.module.dragon.GetDragonList(session.GetUserId()); err != nil {
|
|
errdata = &pb.ErrorData{
|
|
Code: pb.ErrorCode_DBError,
|
|
Title: pb.ErrorCode_DBError.ToString(),
|
|
Message: err.Error(),
|
|
}
|
|
return
|
|
}
|
|
if len(dragons) > 0 {
|
|
info.Defmts = dragons[0].Id
|
|
info.Property = dragons[0].Property
|
|
info.Mount = dragons[0].Dragonid
|
|
info.Mlv = dragons[0].Lv
|
|
|
|
update["defmts"] = info.Defmts
|
|
update["property"] = info.Property
|
|
update["mount"] = info.Mount
|
|
update["mlv"] = info.Mlv
|
|
}
|
|
} else {
|
|
if dragon, err = this.module.dragon.QueryDragonById(session.GetUserId(), info.Defmts); err != nil {
|
|
errdata = &pb.ErrorData{
|
|
Code: pb.ErrorCode_DBError,
|
|
Title: pb.ErrorCode_DBError.ToString(),
|
|
Message: err.Error(),
|
|
}
|
|
return
|
|
}
|
|
info.Defmts = dragon.Id
|
|
info.Property = dragon.Property
|
|
info.Mount = dragon.Dragonid
|
|
info.Mlv = dragon.Lv
|
|
|
|
update["defmts"] = info.Defmts
|
|
update["property"] = info.Property
|
|
update["mount"] = info.Mount
|
|
update["mlv"] = info.Mlv
|
|
|
|
}
|
|
|
|
if !utils.IsSameWeek(info.Weektime) {
|
|
info.Weekintegral = 0
|
|
update["weekintegral"] = 0
|
|
}
|
|
|
|
info.Lv = user.Lv
|
|
info.Name = user.Name
|
|
info.Sex = user.Gender
|
|
info.Skin = user.CurSkin
|
|
update["lv"] = user.Lv
|
|
update["name"] = user.Name
|
|
update["sex"] = user.Gender
|
|
update["skin"] = user.CurSkin
|
|
if err = this.module.parkourComp.Change(session.GetUserId(), update); err != nil {
|
|
errdata = &pb.ErrorData{
|
|
Code: pb.ErrorCode_DBError,
|
|
Title: pb.ErrorCode_DBError.ToString(),
|
|
Message: err.Error(),
|
|
}
|
|
return
|
|
}
|
|
session.SendMsg(string(this.module.GetType()), "info", &pb.ParkourInfoResp{Info: info})
|
|
|
|
// var (
|
|
// isopen bool
|
|
// info *pb.DBParkour
|
|
// recommend []*pb.DBRaceMember
|
|
// err error
|
|
// )
|
|
// if errdata = this.InfoCheck(session, req); errdata != nil {
|
|
// return
|
|
// }
|
|
// // isopen = this.module.configure.isopen()
|
|
// isopen = true
|
|
// if isopen {
|
|
// if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil {
|
|
// errdata = &pb.ErrorData{
|
|
// Code: pb.ErrorCode_DBError,
|
|
// Title: pb.ErrorCode_DBError.ToString(),
|
|
// Message: err.Error(),
|
|
// }
|
|
// return
|
|
// }
|
|
// if recommend, err = this.module.parkourComp.getrusers(session.GetUserId()); err != nil {
|
|
// errdata = &pb.ErrorData{
|
|
// Code: pb.ErrorCode_DBError,
|
|
// Title: pb.ErrorCode_DBError.ToString(),
|
|
// Message: err.Error(),
|
|
// }
|
|
// return
|
|
// }
|
|
// }
|
|
// session.SendMsg(string(this.module.GetType()), "info", &pb.ParkourInfoResp{Isopen: isopen, Info: info, Recommend: recommend})
|
|
return
|
|
}
|