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:
@@ -12,12 +12,13 @@ import (
|
||||
"kefu-cloud/server/internal/config"
|
||||
"kefu-cloud/server/internal/media"
|
||||
"kefu-cloud/server/internal/middleware"
|
||||
"kefu-cloud/server/internal/service"
|
||||
"kefu-cloud/server/internal/storage"
|
||||
)
|
||||
|
||||
type UploadHandler struct {
|
||||
store storage.ObjectStorage
|
||||
cfg config.StorageConfig
|
||||
store storage.ObjectStorage
|
||||
cfg config.StorageConfig
|
||||
}
|
||||
|
||||
func NewUploadHandler(store storage.ObjectStorage, cfg config.StorageConfig) *UploadHandler {
|
||||
@@ -45,8 +46,9 @@ func (h *UploadHandler) WidgetUploadImage(c *gin.Context) {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"code": 400, "message": "会话参数错误"})
|
||||
return
|
||||
}
|
||||
session, ok := loadVisitorSession(c, sid, token)
|
||||
if !ok {
|
||||
session, err := service.WidgetSession(sid, token)
|
||||
if err != nil {
|
||||
respondServiceError(c, err)
|
||||
return
|
||||
}
|
||||
if session.Status == "ended" || session.Status == "archived" {
|
||||
|
||||
Reference in New Issue
Block a user