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 { srv := &Server{ svc: svc, ctl: newController(svc), } srv.jobsSubscribe() return srv } 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) return } 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) } }