package user import ( "go_dreamfactory/comm" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" "go_dreamfactory/sys/wordfilter" "strings" ) func (this *apiComp) ModifynameCheck(session comm.IUserSession, req *pb.UserModifynameReq) (errdata *pb.ErrorData) { name := strings.TrimSpace(req.Name) if name == "" || len(name) > 30 { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } return } if ok, _ := wordfilter.Validate(name); !ok { errdata = &pb.ErrorData{ Code: pb.ErrorCode_UserNickSensitive, Title: pb.ErrorCode_UserNickSensitive.ToString(), } } return } func (this *apiComp) Modifyname(session comm.IUserSession, req *pb.UserModifynameReq) (errdata *pb.ErrorData) { var ( user *pb.DBUser err error ) if errdata = this.ModifynameCheck(session, req); errdata != nil { return } uid := session.GetUserId() resp := &pb.UserModifynameResp{Uid: uid, Name: req.Name} name := strings.TrimSpace(req.Name) //验证名称 if !this.module.modelUser.NickNameIsExist(name) { resp.Code = pb.ErrorCode_UserNickNameExist this.sendMsg(session, UserSubTypeModifyName, resp) return } if user, err = this.module.GetUser(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_UserSessionNobeing, Title: pb.ErrorCode_UserSessionNobeing.ToString(), Message: err.Error(), } return } // expand, err := this.module.modelExpand.GetUserExpand(uid) // if err != nil { // errdata = &pb.ErrorData{ // Code: pb.ErrorCode_DBError, // Title: pb.ErrorCode_DBError.ToString(), // Message: err.Error(), // } // return // } //校验名称修改次数 // if expand.ModifynameCount <= 0 { if user.Name != "" { errdata = this.module.ConsumeRes(session, []*cfg.Gameatn{this.module.globalConf.ChangeName}, true) if errdata != nil { return } } // } // //修改名称次数 // left := expand.ModifynameCount - 1 // if left < 0 { // left = 0 // } // mc := map[string]interface{}{ // "modifynameCount": left, // } // if err := this.module.modelExpand.ChangeUserExpand(uid, mc); err != nil { // errdata = &pb.ErrorData{ // Code: pb.ErrorCode_DBError, // Title: pb.ErrorCode_DBError.ToString(), // Message: err.Error(), // } // this.module.Errorf("更新昵称失败 uid:%v name:%v err:%v", uid, req.Name, err) // return // } // 修改名称 if errdata = this.module.modelUser.modifyName(uid, name); errdata != nil { return } //resp.Count = uint32(left) this.sendMsg(session, UserSubTypeModifyName, resp) return }