refactor(di): migrate from setter to constructor injection for logService
- Remove SetLogService methods from user, post, comment, and admin post services - Add logService as constructor parameter to all dependent services - Centralize call-related and message error definitions in app_errors.go - Add ConversationID field to WSEventResponse for improved message tracking - Simplify wire provider functions by removing manual setter calls
This commit is contained in:
@@ -30,8 +30,8 @@ var HandlerSet = wire.NewSet(
|
||||
handler.NewCallHandler,
|
||||
|
||||
// 需要特殊处理的 Handler
|
||||
ProvideUserHandler,
|
||||
ProvidePostHandler,
|
||||
handler.NewUserHandler,
|
||||
handler.NewPostHandler,
|
||||
ProvideMessageHandler,
|
||||
ProvideSystemMessageHandler,
|
||||
ProvideGroupHandler,
|
||||
@@ -39,54 +39,6 @@ var HandlerSet = wire.NewSet(
|
||||
ProvideWSHandler,
|
||||
)
|
||||
|
||||
// ProvideUserHandler 提供用户处理器
|
||||
func ProvideUserHandler(
|
||||
userService service.UserService,
|
||||
activityService service.UserActivityService,
|
||||
postService service.PostService,
|
||||
commentService *service.CommentService,
|
||||
logService *service.LogService,
|
||||
) *handler.UserHandler {
|
||||
h := handler.NewUserHandler(userService, activityService)
|
||||
h.SetLogService(logService)
|
||||
|
||||
// 同时设置到其他服务
|
||||
if ps, ok := postService.(interface{ SetLogService(*service.LogService) }); ok {
|
||||
ps.SetLogService(logService)
|
||||
}
|
||||
if commentService != nil {
|
||||
commentService.SetLogService(logService)
|
||||
}
|
||||
|
||||
return h
|
||||
}
|
||||
|
||||
// ProvidePostHandler 提供帖子处理器
|
||||
func ProvidePostHandler(
|
||||
postService service.PostService,
|
||||
userService service.UserService,
|
||||
channelService service.ChannelService,
|
||||
logService *service.LogService,
|
||||
) *handler.PostHandler {
|
||||
h := handler.NewPostHandler(postService, userService, channelService)
|
||||
if ps, ok := postService.(interface{ SetLogService(*service.LogService) }); ok {
|
||||
ps.SetLogService(logService)
|
||||
}
|
||||
return h
|
||||
}
|
||||
|
||||
// ProvideAdminPostHandler 提供管理端帖子处理器
|
||||
func ProvideAdminPostHandler(
|
||||
postService service.AdminPostService,
|
||||
logService *service.LogService,
|
||||
) *handler.AdminPostHandler {
|
||||
h := handler.NewAdminPostHandler(postService)
|
||||
if ps, ok := postService.(interface{ SetLogService(*service.LogService) }); ok {
|
||||
ps.SetLogService(logService)
|
||||
}
|
||||
return h
|
||||
}
|
||||
|
||||
// ProvideMessageHandler 提供消息处理器
|
||||
func ProvideMessageHandler(
|
||||
chatService service.ChatService,
|
||||
|
||||
Reference in New Issue
Block a user