refactor(sitecode): 统一各模块分销站点编码解析为公共包

- 新增 internal/sitecode 包:FromRequest 头优先解析、FromQueryThenHeader
  探测接口专用、ExtractHost/IsLocalHost 提取 Host 域名
- 替换 auth/order/listing/chat/notification/withdrawal/wallet/distribution
  八模块 17 处各自内联的解析逻辑,统一优先级与 TrimSpace 行为
- 修复 notification 漏 TrimSpace、探测接口会话头压过显式 query、
  GetPublicSiteInfo 把 localhost Host 当站点域名查库等不一致
- 顺手清理 auth 中无引用的 extractHost 死代码
- gofmt 修复 withdrawal/presenter、chat/file/payment 测试四个历史遗留格式问题
This commit is contained in:
yml2213
2026-09-17 14:54:38 +08:00
parent 69774458b0
commit 8dc21d2757
16 changed files with 236 additions and 119 deletions
@@ -3,6 +3,7 @@ package order
import (
"strings"
"hfb_sys/backend/internal/sitecode"
"hfb_sys/backend/pkg/response"
"github.com/gin-gonic/gin"
@@ -20,7 +21,7 @@ func (h *Handler) Create(c *gin.Context) {
return
}
if strings.TrimSpace(req.DistributionSiteCode) == "" {
req.DistributionSiteCode = strings.TrimSpace(c.GetHeader("X-Distribution-Site-Code"))
req.DistributionSiteCode = sitecode.FromRequest(c)
}
item, err := h.service.Create(c.Request.Context(), userID, req)
if err != nil {
@@ -37,7 +38,7 @@ func (h *Handler) List(c *gin.Context) {
return
}
page, pageSize := parsePagination(c)
siteCode := strings.TrimSpace(firstNonEmpty(c.GetHeader("X-Distribution-Site-Code"), c.Query("distribution_site_code"), c.Query("site_code")))
siteCode := sitecode.FromRequest(c)
items, err := h.service.ListForUser(c.Request.Context(), userID, page, pageSize, siteCode)
if err != nil {
writeOrderError(c, err)
@@ -53,7 +54,7 @@ func (h *Handler) ListSellerHandoffs(c *gin.Context) {
return
}
page, pageSize := parsePagination(c)
siteCode := strings.TrimSpace(firstNonEmpty(c.GetHeader("X-Distribution-Site-Code"), c.Query("distribution_site_code"), c.Query("site_code")))
siteCode := sitecode.FromRequest(c)
items, err := h.service.ListSellerHandoffs(c.Request.Context(), userID, SellerHandoffQuery{
Page: page,
PageSize: pageSize,
@@ -77,7 +78,7 @@ func (h *Handler) Detail(c *gin.Context) {
if !ok {
return
}
siteCode := strings.TrimSpace(firstNonEmpty(c.GetHeader("X-Distribution-Site-Code"), c.Query("distribution_site_code"), c.Query("site_code")))
siteCode := sitecode.FromRequest(c)
item, err := h.service.FindForUser(c.Request.Context(), userID, id, siteCode)
if err != nil {
writeOrderError(c, err)