package system import ( "net/http" "management/internal/erpserver/biz" "management/internal/pkg/middleware" "management/internal/pkg/redis" "management/internal/pkg/session" "management/internal/pkg/tpl" ) type SystemHandler interface { Home(w http.ResponseWriter, req *http.Request) Dashboard(w http.ResponseWriter, req *http.Request) UserHandler() UserHandler MenuHandler() MenuHandler RoleHandler() RoleHandler DepartmentHandler() DepartmentHandler ConfigHandler() ConfigHandler AuditHandler() AuditHandler LoginLogHandler() LoginLogHandler CategoryHandler() CategoryHandler } type systemHandler struct { render tpl.Renderer redis redis.IRedis session session.ISession biz biz.IBiz mi middleware.IMiddleware } var _ SystemHandler = (*systemHandler)(nil) func NewSystemHandler(render tpl.Renderer, redis redis.IRedis, session session.ISession, biz biz.IBiz, mi middleware.IMiddleware) *systemHandler { return &systemHandler{ render: render, redis: redis, session: session, biz: biz, mi: mi, } } func (h *systemHandler) UserHandler() UserHandler { return NewUserHandler(h.render, h.session, h.biz, h.mi) } func (h *systemHandler) MenuHandler() MenuHandler { return NewMenuHandler(h.render, h.session, h.biz) } func (h *systemHandler) RoleHandler() RoleHandler { return NewRoleHandler(h.render, h.biz) } func (h *systemHandler) DepartmentHandler() DepartmentHandler { return NewDepartmentHandler(h.render, h.biz) } func (h *systemHandler) ConfigHandler() ConfigHandler { return NewConfigHandler(h.render, h.redis, h.biz) } func (h *systemHandler) AuditHandler() AuditHandler { return NewAuditHandler(h.render, h.biz) } func (h *systemHandler) LoginLogHandler() LoginLogHandler { return NewLoginLogHandler(h.render, h.biz) } func (h *systemHandler) CategoryHandler() CategoryHandler { return NewCategoryHandler(h.render, h.biz) }