72 lines
1.6 KiB
Go
72 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
|
|
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
|
|
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
|
|
}
|