go_dreamfactory/modules/user/api_switchdefper.go
2023-05-17 14:46:19 +08:00

108 lines
2.3 KiB
Go

package user
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
//参数校验
func (this *apiComp) SwitchDefPerCheck(session comm.IUserSession, req *pb.UserSwitchDefPerReq) (code pb.ErrorCode) {
return
}
//登录
func (this *apiComp) SwitchDefPer(session comm.IUserSession, req *pb.UserSwitchDefPerReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
change map[string]interface{} = make(map[string]interface{})
user *pb.DBUser
conf *cfg.GamePlayerInfor_overviewData
err error
keep bool
)
if code = this.SwitchDefPerCheck(session, req); code != pb.ErrorCode_Success {
return
}
user = this.module.GetUser(session.GetUserId())
if req.Defper1 != "" {
if conf, err = this.module.configure.GetPlayerOverview(req.Defper1); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if conf.Type != 1 {
code = pb.ErrorCode_ReqParameterError
return
}
for _, v := range user.Perlist {
if v == req.Defper1 {
keep = true
}
}
if !keep {
code = pb.ErrorCode_ReqParameterError
return
}
user.Defper1 = req.Defper1
change["defper1"] = req.Defper1
}
if req.Defper2 != "" {
if conf, err = this.module.configure.GetPlayerOverview(req.Defper2); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if conf.Type != 2 {
code = pb.ErrorCode_ReqParameterError
return
}
for _, v := range user.Perlist {
if v == req.Defper2 {
keep = true
}
}
if !keep {
code = pb.ErrorCode_ReqParameterError
return
}
user.Defper2 = req.Defper2
change["defper2"] = req.Defper2
}
if req.Defper3 != "" {
if conf, err = this.module.configure.GetPlayerOverview(req.Defper3); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if conf.Type != 3 {
code = pb.ErrorCode_ReqParameterError
return
}
for _, v := range user.Perlist {
if v == req.Defper3 {
keep = true
}
}
if !keep {
code = pb.ErrorCode_ReqParameterError
return
}
user.Defper3 = req.Defper3
change["defper3"] = req.Defper3
}
if err = this.module.modelUser.Change(session.GetUserId(), change); err != nil {
code = pb.ErrorCode_DBError
return
}
session.SendMsg(string(this.module.GetType()), "sign", &pb.UserSwitchDefPerResp{
Issucc: true,
Defper1: user.Defper1,
Defper2: user.Defper2,
Defper3: user.Defper3,
})
return
}