47 lines
1.2 KiB
Go
47 lines
1.2 KiB
Go
package practice
|
|
|
|
import (
|
|
"go_dreamfactory/comm"
|
|
"go_dreamfactory/pb"
|
|
|
|
"google.golang.org/protobuf/proto"
|
|
)
|
|
|
|
//参数校验
|
|
func (this *apiComp) FriendRommCheck(session comm.IUserSession, req *pb.PracticeFriendRommReq) (code pb.ErrorCode) {
|
|
|
|
return
|
|
}
|
|
|
|
///练功请求
|
|
func (this *apiComp) FriendRomm(session comm.IUserSession, req *pb.PracticeFriendRommReq) (code pb.ErrorCode, data proto.Message) {
|
|
var (
|
|
err error
|
|
room *pb.DBPracticeRoom
|
|
maxlv int32
|
|
)
|
|
if room, err = this.module.modelPandata.queryUserMartialhall(req.Fuid); err != nil {
|
|
code = pb.ErrorCode_DBError
|
|
return
|
|
}
|
|
if room.Pillar1.Isunlock == 2 {
|
|
maxlv = room.Pillar1.Lv
|
|
}
|
|
if room.Pillar2.Isunlock == 2 && maxlv < room.Pillar2.Lv {
|
|
maxlv = room.Pillar2.Lv
|
|
}
|
|
if room.Pillar3.Isunlock == 2 && maxlv < room.Pillar3.Lv {
|
|
maxlv = room.Pillar3.Lv
|
|
}
|
|
|
|
if maxlv > 0 && (room.Pillarf.Isunlock != 2 || room.Pillarf.Lv < maxlv) {
|
|
room.Pillarf.Isunlock = 2
|
|
room.Pillarf.Lv = maxlv
|
|
this.module.modelPandata.Change(req.Fuid, map[string]interface{}{
|
|
"pillarf": room.Pillarf,
|
|
})
|
|
}
|
|
session.SendMsg(string(this.module.GetType()), "friendromm", &pb.PracticeFriendRommResp{Info: room})
|
|
return
|
|
}
|