2025-05-05 10:30:33 +08:00

47 lines
1.0 KiB
Go

package server
import (
"admin/apps/user/model"
"admin/apps/user/service"
"admin/internal/event"
"admin/lib/xlog"
"encoding/json"
)
type Server struct {
svc *service.Service
ctl *controller
}
func New(svc *service.Service) *Server {
return &Server{
svc: svc,
ctl: newController(svc),
}
}
func (srv *Server) jobsSubscribe() {
event.GetMgrInstance().Subscribe("user", event.EventTopic_UserExecute, srv.subscriberHandlerUserExecute)
}
func (srv *Server) subscriberHandlerUserExecute(msg *event.Msg) {
po := new(model.History)
msgHistory := &event.EventPayload_UserExecute{}
err := json.Unmarshal(msg.Payload, msgHistory)
if err != nil {
xlog.Errorf("unmarshal msg(%+v) err:%v", string(msg.Payload), err)
}
po.UserId = msgHistory.UserId
po.UserName = msgHistory.UserName
po.ProjectId = msgHistory.ProjectId
po.Resource = msgHistory.Resource
po.Method = msgHistory.Method
po.Data = string(msg.Payload)
err = po.Create()
if err != nil {
xlog.Errorf("create user execute(%+v) err:%v", string(msg.Payload), err)
}
}