go_dreamfactory/modules/pagoda/api_getrace.go

66 lines
1.4 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
sesaon int32 // 循环塔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 k > 0 {
if utils.IsToday(v.Rtime) {
list.Race[k].Rtime = configure.Now().Unix()
list.Race[k].Defeat = 0
bChange = true
}
}
if k >= 10 {
sesaon = k
}
}
if sesaon == 0 {
list.Race[10] = &pb.RaceData{
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
errdata = this.module.ModifyPagodaData(session.GetUserId(), mapData)
}
session.SendMsg(string(this.module.GetType()), PagodaGetListResp, &pb.PagodaGetRaceResp{Race: list.Race})
return
}