106 lines
2.8 KiB
Go
106 lines
2.8 KiB
Go
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)
|
|
go this.module.AsynHandleSession(session.Clone(), func(session comm.IUserSession) {
|
|
this.module.WriteUserLog(session.GetUserId(), comm.GMResDelType, "UserModifynameReq", this.module.globalConf.ChangeName)
|
|
})
|
|
return
|
|
}
|