Files
dujiao-next/internal/app/httpserver/middleware/compliance_middleware.go
T

29 lines
969 B
Go

package middleware
import (
complianceapp "github.com/dujiao-next/internal/modules/compliance/application"
"github.com/dujiao-next/internal/platform/http/ginutil"
"github.com/dujiao-next/internal/platform/http/response"
"github.com/gin-gonic/gin"
)
// PaymentComplianceRequired 拦截支付/财务路由:未确认合规声明则阻断。
// - 已确认 → 放行
// - 未确认 + 超管 → 业务码 403 + msg "compliance_required"(前端据此弹窗)
// - 未确认 + 非超管 → 业务码 403 + msg "compliance_required_by_super_admin"(前端跳转提示页)
func PaymentComplianceRequired(cs *complianceapp.Service) gin.HandlerFunc {
return func(c *gin.Context) {
if cs != nil && cs.IsAcknowledged() {
c.Next()
return
}
if ginutil.IsSuperAdmin(c) {
response.Error(c, response.CodeForbidden, "compliance_required")
} else {
response.Error(c, response.CodeForbidden, "compliance_required_by_super_admin")
}
c.Abort()
}
}