Files
nbi_alarm/handle/api/req_cmca_login_seq.go
2023-08-23 17:22:22 +08:00

48 lines
1.2 KiB
Go

package api
import (
"omc/core"
"omc/core/manage"
"omc/core/utils"
"github.com/aceld/zinx/ziface"
"github.com/aceld/zinx/zlog"
"github.com/aceld/zinx/znet"
)
var ReqCMCALoginSeqMsgID uint32 = 12
var ReqCMCALoginSeqMsgType uint32 = 13
var ReqCMCALoginSeqMsgName string = "ackCMCALoginSeq"
// reqCMCALoginSeq CMCA认证方式登录随机码
type ReqCMCALoginSeq struct {
znet.BaseRouter
}
// reqCMCALoginAlarm;user=omc;key=base64Key;cert=cer;type=msg"
func (s *ReqCMCALoginSeq) Handle(request ziface.IRequest) {
// 获取当前请求的通道
m := manage.GetManager(request.GetConnection().GetName())
if m == nil {
zlog.Ins().ErrorF("server internal error")
request.GetConnection().SendMsg(ReqCMCALoginSeqMsgType, core.ResultError(ReqCMCALoginSeqMsgName, "server internal error", ""))
return
}
uid, err := request.GetConnection().GetProperty("UID")
if err != nil {
zlog.Ins().ErrorF("GetProperty UID error %s", err)
request.GetConnection().Stop()
return
}
// seqNo 32位长度 0-9A-Z
seqNo := utils.SeqNo(32)
m.SetSeqNo(uid.(string), seqNo)
// 发送随机码去sha256加密
msgData := map[string]string{
"seqNo": seqNo,
}
request.GetConnection().SendMsg(ReqCMCALoginSeqMsgType, core.Result(ReqCMCALoginSeqMsgName, msgData))
}