refactor(server): 会话/访客/设置业务逻辑下沉 internal/service 层,handler 瘦身

- handler 只保留请求绑定、权限检查与响应映射;业务校验顺序、状态码与文案逐字保留
- 新增 service.Error 语义错误,由 handler 统一映射 HTTP 响应
- session 875→361 行、widget 745→321 行、settings 540→73 行
- 自动分配/租户设置(工作时间、欢迎语)/消息校验/黑名单检查/联系方式提取随迁 service 包
- 相关单元测试随迁 service 包,go test ./... 全部通过
This commit is contained in:
yml2213
2026-09-05 14:39:34 +08:00
parent ba3b1534f8
commit 8b9f3d710f
24 changed files with 2158 additions and 1963 deletions
+3 -2
View File
@@ -6,6 +6,7 @@ import (
"github.com/gin-gonic/gin"
"kefu-cloud/server/internal/config"
"kefu-cloud/server/internal/middleware"
"kefu-cloud/server/internal/service"
"kefu-cloud/server/internal/storage"
"kefu-cloud/server/internal/ws"
)
@@ -28,9 +29,9 @@ func SetupRoutes(r *gin.Engine, store storage.ObjectStorage, storageCfg config.S
upload := NewUploadHandler(store, storageCfg)
perm := NewPermissionHandler()
SetImagePublicBase(storageCfg.PublicBase)
service.SetImagePublicBase(storageCfg.PublicBase)
// 访客输入草稿 → 提取联系方式(由 ws 包回调,避免循环依赖)
ws.ProcessDraftContacts = onVisitorDraftContacts
ws.ProcessDraftContacts = service.OnVisitorDraftContacts
api := r.Group("/api")