go_dreamfactory/modules/practice/api_getgymbuff.go

74 lines
2.0 KiB
Go

package practice
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/utils"
)
// 参数校验
func (this *apiComp) GetGymBuffCheck(session comm.IUserSession, req *pb.PracticeGetGymBuffReq) (errdata *pb.ErrorData) {
return
}
// /练功请求
func (this *apiComp) GetGymBuff(session comm.IUserSession, req *pb.PracticeGetGymBuffReq) (errdata *pb.ErrorData) {
var (
mryl *cfg.GamePandamasMrylData
buff *cfg.GamePandamasBuffData
room *pb.DBPracticeRoom
award []*pb.UserAssets
err error
)
if mryl, err = this.module.configure.getPandamasMryl(req.Posture); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
if buff, err = this.module.configure.getGamePandamasBuff(mryl.BuffGroup); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
go this.module.ModuleBuried.TriggerBuried(session.GetUserId(), comm.GetBuriedParam(comm.Rtype185, 1))
if room, err = this.module.modelPandata.queryUserMartialhall(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if !utils.IsToday(room.Lastgymtime) {
if errdata = this.module.DispenseRes(session, this.module.ModuleTools.GetGlobalConf().MrylReward, true); errdata != nil {
return
}
for _, v := range this.module.ModuleTools.GetGlobalConf().MrylReward {
award = append(award, &pb.UserAssets{
A: v.A,
T: v.T,
N: v.N,
})
}
room.Lastgymtime = configure.Now().Unix()
this.module.ModuleUser.ChangeUserExpand(session.GetUserId(), map[string]interface{}{
"lastgymtime": room.Lastgymtime,
})
}
session.SendMsg(string(this.module.GetType()), "getgymbuff", &pb.PracticeGetGymBuffResp{Buffid: buff.Id, Award: award})
return
}