2025-04-30 15:46:14 +08:00
|
|
|
package server
|
|
|
|
|
2025-05-05 10:30:33 +08:00
|
|
|
import (
|
|
|
|
"admin/apps/user/model"
|
|
|
|
"admin/apps/user/service"
|
|
|
|
"admin/internal/event"
|
|
|
|
"admin/lib/xlog"
|
|
|
|
"encoding/json"
|
|
|
|
)
|
2025-04-30 15:46:14 +08:00
|
|
|
|
|
|
|
type Server struct {
|
|
|
|
svc *service.Service
|
|
|
|
ctl *controller
|
|
|
|
}
|
|
|
|
|
|
|
|
func New(svc *service.Service) *Server {
|
2025-05-07 15:03:19 +08:00
|
|
|
srv := &Server{
|
2025-04-30 15:46:14 +08:00
|
|
|
svc: svc,
|
|
|
|
ctl: newController(svc),
|
|
|
|
}
|
2025-05-07 15:03:19 +08:00
|
|
|
srv.jobsSubscribe()
|
|
|
|
return srv
|
2025-04-30 15:46:14 +08:00
|
|
|
}
|
2025-05-05 10:30:33 +08:00
|
|
|
|
|
|
|
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)
|
2025-05-07 15:03:19 +08:00
|
|
|
return
|
2025-05-05 10:30:33 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
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)
|
|
|
|
}
|
|
|
|
}
|