go_dreamfactory/modules/pagoda/api_getrace.go
2023-07-14 21:19:59 +08:00

70 lines
1.6 KiB
Go

package pagoda
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"go_dreamfactory/utils"
)
//参数校验
func (this *apiComp) GetRaceCheck(session comm.IUserSession, req *pb.PagodaGetRaceReq) (errdata *pb.ErrorData) {
return
}
///获取阵营爬塔信息
func (this *apiComp) GetRace(session comm.IUserSession, req *pb.PagodaGetRaceReq) (errdata *pb.ErrorData) {
var (
bChange bool
bSesaon bool // 循环塔id
)
list, err := this.module.modelRacePagoda.getPagodaRaceList(session.GetUserId())
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
// 初始化每天挑战塔的层数
for k, v := range list.Race {
if !utils.IsToday(v.Rtime) {
list.Race[k].Rtime = configure.Now().Unix()
list.Race[k].Defeat = 0
bChange = true
}
if k >= 10 {
bSesaon = true
}
}
if !bSesaon {
list.Race[10] = &pb.RaceData{ // 第一赛季阵营id默认就是10
Race: 10,
Task: []int32{},
Rtime: configure.Now().Unix(),
Defeat: 0,
Endtime: this.module.GetSeasonData(),
Curfloor: 0,
}
bChange = true
}
if bChange {
mapData := make(map[string]interface{}, 0)
mapData["race"] = list.Race
if err = this.module.modelRacePagoda.ModifyPagodaRaceDataByObjId(session.GetUserId(), mapData); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
}
}
session.SendMsg(string(this.module.GetType()), PagodaGetRaceResp, &pb.PagodaGetRaceResp{Race: list.Race})
return
}