2025-04-01 14:13:41 +08:00

80 lines
1.9 KiB
Go

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)
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) Home(w http.ResponseWriter, r *http.Request) {
h.render.HTML(w, r, "home/home.tmpl", nil)
}
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)
}