go_dreamfactory/modules/user/api_modifyname.go
2022-07-21 19:45:00 +08:00

65 lines
1.5 KiB
Go

package user
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto"
)
func (this *apiComp) ModifynameCheck(session comm.IUserSession, req *pb.UserModifynameReq) (code pb.ErrorCode) {
if req.Name == "" || len(req.Name) > 6 {
code = pb.ErrorCode_ReqParameterError
}
return
}
func (this *apiComp) Modifyname(session comm.IUserSession, req *pb.UserModifynameReq) (code pb.ErrorCode, data proto.Message) {
if code = this.ModifynameCheck(session, req); code != pb.ErrorCode_Success {
return
}
//验证名称
if this.module.modelUser.NickNameIsExist(req.Name) {
code = pb.ErrorCode_NameExist
return
}
expand, err := this.module.modelUser.GetUserExpand(session.GetSessionId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
//校验名称修改次数
if expand.ModifynameCount <= 0 {
//TODO 从全局配置从读取消耗道具
if code = this.module.ConsumeRes(session, []*cfg.Game_atn{
{
A: "attr",
T: "gold",
N: 5000,
},
}, true); code != pb.ErrorCode_Success {
return
}
}
//修改名称次数
mc := map[string]interface{}{
"modifynameCount": expand.ModifynameCount - 1,
}
if err := this.module.modelUser.ChanageUserExpand(session.GetUserId(), mc); err != nil {
code = pb.ErrorCode_DBError
return
}
// 修改名称
if code = this.module.modelUser.modifyName(session.GetUserId(), req.Name); code != pb.ErrorCode_Success {
return
}
return
}