package routers import ( "fmt" "git.apinb.com/bsm-sdk/core/middleware" "git.apinb.com/heqiapp/platforms/backend/api/internal/logic/platform" "git.apinb.com/heqiapp/platforms/backend/api/internal/models" "github.com/gin-gonic/gin" ) // RegisterPlatform 注册 /heqi/platform/v1 前缀下的平台总后台路由。 func RegisterPlatform(serviceKey string, engine *gin.Engine) { basePath := fmt.Sprintf("/%s/platform/v1", serviceKey) anonymous := engine.Group(basePath) anonymous.GET("/ping/hello", platform.PingHello) anonymous.POST("/auth/login", platform.Login) protected := engine.Group(basePath) protected.Use(middleware.JwtAuth(true)) protected.GET("/auth/profile", platform.CurrentProfile) protected.PUT("/auth/password", platform.ChangePassword) protected.GET("/dashboard/overview", platform.DashboardOverview) registerGasRoute(protected) registerDeliveryRoute(protected) registerStaffRoute(protected) registerUserRoute(protected) registerPlatformRoute(protected) } func registerGasRoute(group *gin.RouterGroup) { resource := group.Group("/gas/gas_basic") resource.GET("", platform.ListGasBasic) resource.POST("", platform.CreateGasBasic) resource.GET("/:identity", platform.GetGasBasic) resource.PUT("/:identity", platform.UpdateGasBasic) resource.PATCH("/:identity/status", func(ctx *gin.Context) { platform.UpdateRecordStatus(ctx, &models.GasBasic{}) }) resource.DELETE("/:identity", func(ctx *gin.Context) { platform.ArchiveRecord(ctx, &models.GasBasic{}) }) } func registerDeliveryRoute(group *gin.RouterGroup) { resource := group.Group("/delivery/delivery_basic") resource.GET("", platform.ListDeliveryBasic) resource.POST("", platform.CreateDeliveryBasic) resource.GET("/:identity", platform.GetDeliveryBasic) resource.PUT("/:identity", platform.UpdateDeliveryBasic) resource.PATCH("/:identity/status", func(ctx *gin.Context) { platform.UpdateRecordStatus(ctx, &models.DeliveryBasic{}) }) resource.DELETE("/:identity", func(ctx *gin.Context) { platform.ArchiveRecord(ctx, &models.DeliveryBasic{}) }) } func registerStaffRoute(group *gin.RouterGroup) { resource := group.Group("/staff") resource.GET("/account", platform.ListStaff) resource.POST("/account", platform.CreateStaff) resource.GET("/:identity", platform.GetStaff) resource.PUT("/:identity", platform.UpdateStaff) resource.PATCH("/:identity/status", func(ctx *gin.Context) { platform.UpdateRecordStatus(ctx, &models.StaffAccount{}) }) resource.DELETE("/:identity", func(ctx *gin.Context) { platform.ArchiveRecord(ctx, &models.StaffAccount{}) }) } func registerUserRoute(group *gin.RouterGroup) { resource := group.Group("/user") resource.GET("/account", platform.ListUser) resource.POST("/account", platform.CreateUser) resource.GET("/:identity", platform.GetUser) resource.PUT("/:identity", platform.UpdateUser) resource.PATCH("/:identity/status", func(ctx *gin.Context) { platform.UpdateRecordStatus(ctx, &models.UserAccount{}) }) resource.DELETE("/:identity", func(ctx *gin.Context) { platform.ArchiveRecord(ctx, &models.UserAccount{}) }) } func registerPlatformRoute(group *gin.RouterGroup) { group.GET("/platform/platfrom_account", platform.ListPlatfromAccount) role := group.Group("/platform/platform_role") role.GET("", platform.ListPlatformRole) role.POST("", platform.CreatePlatformRole) role.GET("/:identity", platform.GetPlatformRole) role.PUT("/:identity", platform.UpdatePlatformRole) role.PATCH("/:identity/status", platform.UpdatePlatformRoleStatus) role.DELETE("/:identity", platform.ArchivePlatformRole) group.GET("/platform/platform_menu", platform.ListPlatformMenu) }