235 lines
6.0 KiB
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)
|
|
//}
|