go_dreamfactory/modules/pvp/api_list.go
2023-06-06 11:08:14 +08:00

56 lines
1.2 KiB
Go

package pvp
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) ListCheck(session comm.IUserSession, req *pb.PvpListReq) (errdata *pb.ErrorData) {
return
}
///设置战斗阵型
func (this *apiComp) List(session comm.IUserSession, req *pb.PvpListReq) (errdata *pb.ErrorData) {
var (
result []*pb.DBPvpBattle
userpvp []*pb.DBPvpBattle
list []*pb.DBPvpBattle
err error
)
if errdata = this.ListCheck(session, req); errdata != nil {
return
}
defer func() {
session.SendMsg(string(this.module.GetType()), "list", &pb.PvpListResp{List: list})
}()
if result, err = this.module.modelPvpComp.querypvps(); err != nil {
this.module.Errorln(err)
return
}
userpvp = make([]*pb.DBPvpBattle, 0, len(userpvp))
for _, v := range result {
if v.Red.Uid == session.GetUserId() || v.Blue.Uid == session.GetUserId() {
userpvp = append(userpvp, v)
}
}
if len(userpvp) <= 0 {
return
}
for _, v := range result {
list = append(list, &pb.DBPvpBattle{
Id: v.Id,
ServicePath: v.ServicePath,
Ptype: v.Ptype,
State: v.State,
Red: v.Red,
Blue: v.Blue,
})
}
return
}