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 }