ecs/servers/user/handler/inner_user.go

235 lines
6.0 KiB
Go

package handler
import (
"ecs/proto"
"github.com/oylshe1314/framework/http"
"github.com/oylshe1314/framework/util"
)
func (this *InnerHandler) SignUp(msg *http.Message) {
var req = new(proto.MsgUserSignUpReq)
var err = msg.Read(req)
if err != nil {
this.logger.Error("Read message error, ", err)
_ = msg.Reply(proto.ErrMessageError)
return
}
if this.logger.IsDebugEnabled() {
this.logger.Debugf("[%s] <- SignUp, req: %s", msg.R.RemoteAddr, util.ToJsonString(req))
}
user, err := this.userManager.SignUp(&req.UserOrigin, &req.UserAuth)
if err != nil {
this.logger.Error("SignUp error, ", err)
_ = msg.Reply(err)
return
}
var ack = &proto.MsgUserSignUpAck{
UserId: user.UserId,
Platform: user.Platform,
Channel: user.Channel,
Username: user.Username,
CreateTime: user.CreateTime,
}
if this.logger.IsDebugEnabled() {
this.logger.Debugf("[%s] -> SignUp, ack: %s", msg.R.RemoteAddr, util.ToJsonString(ack))
}
_ = msg.Reply(ack)
}
func (this *InnerHandler) Login(msg *http.Message) {
var req = new(proto.MsgUserLoginReq)
var err = msg.Read(req)
if err != nil {
this.logger.Error("Read message error, ", err)
_ = msg.Reply(proto.ErrMessageError)
return
}
if this.logger.IsDebugEnabled() {
this.logger.Debugf("[%s] <- Login, req: %s", msg.R.RemoteAddr, util.ToJsonString(req))
}
user, token, err := this.userManager.Login(&req.UserOrigin, req.UserAuth, req.UserThird)
if err != nil {
this.logger.Error("Login error, ", err)
_ = msg.Reply(err)
return
}
var ack = &proto.MsgUserLoginAck{Token: token, UserId: user.UserId, Username: user.Username, RecentServer: user.RecentServer}
if this.logger.IsDebugEnabled() {
this.logger.Debugf("[%s] -> Login, ack: %s", msg.R.RemoteAddr, util.ToJsonString(ack))
}
_ = msg.Reply(ack)
}
func (this *InnerHandler) TokenVerify(msg *http.Message) {
var req = new(proto.MsgUserTokenVerifyReq)
var err = msg.Read(req)
if err != nil {
this.logger.Error("Read message error, ", err)
_ = msg.Reply(proto.ErrMessageError)
return
}
if this.logger.IsDebugEnabled() {
this.logger.Debugf("[%s] <- Token verify, req: %s", msg.R.RemoteAddr, util.ToJsonString(req))
}
if req.ServerId == 0 {
this.logger.Error("Parameter error, req.ServerId == 0")
_ = msg.Reply(proto.ErrParameterError)
return
}
user, err := this.userManager.TokenVerify(req.Token, req.ServerId)
if err != nil {
this.logger.Error(err)
_ = msg.Reply(proto.ErrInternalError)
return
}
if user == nil {
this.logger.Error("Parameter error, req.ServerId == 0")
_ = msg.Reply(proto.ErrInvalidToken)
return
}
var ack = &proto.MsgUserTokenVerifyAck{
UserId: user.UserId,
Platform: user.Platform,
Channel: user.Channel,
Username: user.Username,
CreateTime: user.CreateTime,
}
if this.logger.IsDebugEnabled() {
this.logger.Debugf("[%s] <- Token verify, ack: %s", msg.R.RemoteAddr, util.ToJsonString(ack))
}
_ = msg.Reply(ack)
}
//func (this *InnerHandler) UserQuery(msg *http.Message) {
// var req = new(proto.MsgUserQueryReq)
// var err = msg.Read(req)
// if err != nil {
// this.logger.Error("Read message error, ", err)
// _ = msg.Reply(proto.RawErrMessageError)
// return
// }
//
// if this.logger.IsDebugEnabled() {
// this.logger.Debugf("[%s] <- User query, req: %s", msg.R.RemoteAddr, util.ToJsonString(req))
// }
//
// total, list, err := this.userManager.PageableQueryUser(req.PageNo, req.PageSize, req.Channel, req.UserId)
// if err != nil {
// this.logger.Error("User query failed, ", err)
// _ = msg.Reply(err)
// return
// }
//
// if err != nil {
// _ = msg.Reply(err)
// return
// }
//
// var nodes = this.httpRpcClient.Nodes("game_1")
//
// var ack = &proto.MsgUserQueryAck{Total: total, List: util.SliceConvert(list, func(user *logic.User) *proto.User {
// var userMsg = &proto.User{
// Id: user.Id,
// UserId: user.UserId,
// Channel: user.Channel,
// Username: user.Username,
// CreateTime: user.CreateTime,
// BanLogin: user.BanLogin,
// BanLoginTime: user.BanLoginTime,
// }
// if user.RecentServer > 0 {
// userMsg.RecentServer = fmt.Sprintf("服务器-%d", user.RecentServer)
// if node := nodes[user.RecentServer]; node != nil && node.Exter != nil {
// svrName, ok := node.Exter.Extra["name"].(string)
// if ok {
// userMsg.RecentServer += ": " + svrName
// }
// }
// }
// if user.ThirdInfo != nil {
// userMsg.ThirdInfo, _ = json.Marshal(user.ThirdInfo)
// }
// return userMsg
// })}
//
// if this.logger.IsDebugEnabled() {
// this.logger.Debugf("[%s] -> CdkeyList, ack: %s", msg.R.RemoteAddr, util.ToJsonString(ack))
// }
//
// _ = msg.Reply(ack)
//}
//
//func (this *InnerHandler) UserOperate(msg *http.Message) {
// var req = new(proto.MsgUserOperateReq)
// var err = msg.Read(req)
// if err != nil {
// this.logger.Error("Read message error, ", err)
// _ = msg.Reply(proto.RawErrMessageError)
// return
// }
//
// if this.logger.IsDebugEnabled() {
// this.logger.Debugf("[%s] <- User kick, req: %s", msg.R.RemoteAddr, util.ToJsonString(req))
// }
//
// switch req.OperateType {
// case 1:
// var operateArg = uint32(0)
// if req.OperateArg != "" {
// err = util.StringToInteger2(req.OperateArg, &operateArg)
// if err != nil {
// this.logger.Error("Parameter error, cannot convert arg to days, ", err)
// _ = msg.Reply(proto.RawErrParameterError)
// return
// }
// }
// if operateArg == 0 {
// operateArg = 10957
// }
// err = this.userManager.Ban(req.UserId, operateArg)
// if err != nil {
// _ = msg.Reply(err)
// return
// }
// case 2:
// err = this.userManager.Ban(req.UserId, 0)
// if err != nil {
// _ = msg.Reply(err)
// return
// }
// case 4:
// err = this.userManager.ResetPassword(req.UserId, req.OperateArg)
// if err != nil {
// _ = msg.Reply(err)
// return
// }
// default:
// this.logger.Error("Parameter error, req.OperateType: ", req.OperateType)
// _ = msg.Reply(proto.RawErrParameterError)
// return
// }
//
// if this.logger.IsDebugEnabled() {
// this.logger.Debugf("[%s] <- User query, ack: %s", msg.R.RemoteAddr, util.ToJsonString(nil))
// }
//
// _ = msg.Reply(nil)
//}