package user import ( "go_dreamfactory/comm" "go_dreamfactory/pb" ) //参数校验 func (this *apiComp) SwitchTitleCheck(session comm.IUserSession, req *pb.UserSwitchTitleReq) (errdata *pb.ErrorData) { return } func (this *apiComp) SwitchTitle(session comm.IUserSession, req *pb.UserSwitchTitleReq) (errdata *pb.ErrorData) { var ( change map[string]interface{} = make(map[string]interface{}) user *pb.DBUser err error keep bool ) if errdata = this.SwitchTitleCheck(session, req); errdata != nil { return } user, err = this.module.GetUser(session.GetUserId()) if err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } if req.Title == "" { // 卸载称号 keep = true } else { for _, v := range user.Titles { if req.Title == v { keep = true break } } } if !keep { errdata = &pb.ErrorData{ Code: pb.ErrorCode_UserNoTitle, Title: pb.ErrorCode_UserNoTitle.ToString(), } return } user.Curtitle = req.Title change["curtitle"] = user.Curtitle if err = this.module.modelUser.Change(session.GetUserId(), change); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } session.SendMsg(string(this.module.GetType()), "titlelist", &pb.UserTitleListPush{ Titles: user.Titles, Curtitle: user.Curtitle, }) session.SendMsg(string(this.module.GetType()), "switchtitle", &pb.UserSwitchTitleResp{ Issucc: true, Curtitle: req.Title, }) return }