go_dreamfactory/modules/practice/api_info.go
2023-03-07 16:10:20 +08:00

50 lines
1.3 KiB
Go

package practice
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"time"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.PracticeInfoReq) (code pb.ErrorCode) {
return
}
///练功请求
func (this *apiComp) Info(session comm.IUserSession, req *pb.PracticeInfoReq) (code pb.ErrorCode, data proto.Message) {
var (
err error
room *pb.DBPracticeRoom
)
if room, err = this.module.modelPandata.queryUserMartialhall(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
if room.Npcstate == 3 { //CD中
cd := int32(configure.Now().Sub(time.Unix(room.Refresh, 0)).Seconds())
if cd >= this.module.configure.GetGlobalConf().PandamasChallengeCd {
if err = this.module.modelPandata.refreshnpc(room); err != nil {
this.module.Errorln(err)
code = pb.ErrorCode_DBError
return
}
this.module.modelPandata.Change(session.GetUserId(), map[string]interface{}{
"npcstate": room.Npcstate,
"refresh": room.Refresh,
"battlenum": room.Battlenum,
"captain": room.Captain,
"formation": room.Formation,
})
}
}
session.SendMsg(string(this.module.GetType()), "info", &pb.PracticeInfoResp{Info: room})
return
}