go_dreamfactory/modules/hero/api_appointhero.go

47 lines
1.3 KiB
Go

package hero
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) AppointHeroCheck(session comm.IUserSession, req *pb.HeroAppointHeroReq) (errdata *pb.ErrorData) {
if req.Heroid == "" {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
}
return
}
func (this *apiComp) AppointHero(session comm.IUserSession, req *pb.HeroAppointHeroReq) (errdata *pb.ErrorData) {
update := make(map[string]interface{}, 0)
if errdata = this.AppointHeroCheck(session, req); errdata != nil {
return
}
heroRecord, _ := this.module.modelRecord.GetHeroRecord(session.GetUserId())
if req.DrawType == 0 { //招募类型 0 限定招募 1 许愿招募
if heroRecord.LimitHero != req.Heroid {
heroRecord.LimitHero = req.Heroid
update["limitHero"] = heroRecord.LimitHero
this.module.modelRecord.ChangeHeroRecord(session.GetUserId(), update)
}
} else {
if heroRecord.WishHero != req.Heroid {
heroRecord.WishHero = req.Heroid
update["wishHero"] = heroRecord.WishHero
this.module.modelRecord.ChangeHeroRecord(session.GetUserId(), update)
}
}
session.SendMsg(string(this.module.GetType()), HeroAppointHeroResp, &pb.HeroAppointHeroResp{
DrawType: req.DrawType,
Heroid: req.Heroid,
})
return
}