package system import ( v1 "management/internal/erpserver/service/v1" "github.com/drhin/logger" "github.com/gin-gonic/gin" ) type Config struct { Log *logger.Logger MenuService v1.MenuService AuditLogService v1.AuditLogService ConfigService v1.ConfigService LoginLogService v1.LoginLogService RoleService v1.RoleService UserService v1.UserService DepartmentService v1.DepartmentService } func Routes(r *gin.RouterGroup, cfg Config) { auditApp := NewAuditApp(cfg.AuditLogService) loginLogApp := NewLoginLogApp(cfg.LoginLogService) configApp := NewConfigApp(cfg.ConfigService) roleApp := NewRoleApp(cfg.RoleService, cfg.MenuService) userApp := NewUserApp(cfg.Log, cfg.UserService, cfg.RoleService, cfg.DepartmentService) menuApp := NewMenuApp(cfg.MenuService) systemRouter := r.Group("/system") { // 审计日志 systemRouter.GET("/audit_log", auditApp.List) // 登陆日志 systemRouter.GET("/login_log", loginLogApp.List) // 配置 systemRouter.POST("/config", configApp.Create) systemRouter.PUT("/config/:id", configApp.Update) systemRouter.GET("/config/:id", configApp.Get) systemRouter.GET("/config", configApp.List) systemRouter.POST("/refresh_cache", configApp.Refresh) systemRouter.POST("/reset_pear", configApp.ResetPear) // 用户 systemRouter.POST("/user", userApp.Create) systemRouter.PUT("/user", userApp.Update) systemRouter.GET("/user/:id", userApp.Get) systemRouter.GET("/user", userApp.List) // 角色 systemRouter.POST("/role", roleApp.Create) systemRouter.PUT("/role/:id", roleApp.Update) systemRouter.GET("/role/:id", roleApp.Get) systemRouter.GET("/role", roleApp.List) systemRouter.POST("/role/refresh_cache", roleApp.Refresh) systemRouter.POST("/role/rebuild_parent_path", roleApp.RebuildParentPath) systemRouter.POST("/role/refresh_role_menus", roleApp.RefreshRoleMenus) systemRouter.POST("/role/set_menu", roleApp.setMenu) // 菜单 systemRouter.GET("/permission_menu", menuApp.Menus) } }