feat: 添加举报功能支持
- 新增 Report 数据模型、DTO、Repository、Service 层 - 实现用户端举报 API (POST /api/v1/reports) - 实现管理端举报管理 API (列表、详情、处理、批量处理) - 添加举报自动隐藏机制(达到阈值自动隐藏内容) - 集成系统通知(举报处理结果通知) - 更新路由和 Wire 依赖注入配置 Made-with: Cursor
This commit is contained in:
@@ -35,6 +35,8 @@ type Router struct {
|
||||
qrcodeHandler *handler.QRCodeHandler
|
||||
materialHandler *handler.MaterialHandler
|
||||
callHandler *handler.CallHandler
|
||||
reportHandler *handler.ReportHandler
|
||||
adminReportHandler *handler.AdminReportHandler
|
||||
wsHandler *handler.WSHandler
|
||||
logService *service.LogService
|
||||
jwtService *service.JWTService
|
||||
@@ -67,6 +69,8 @@ func New(
|
||||
qrcodeHandler *handler.QRCodeHandler,
|
||||
materialHandler *handler.MaterialHandler,
|
||||
callHandler *handler.CallHandler,
|
||||
reportHandler *handler.ReportHandler,
|
||||
adminReportHandler *handler.AdminReportHandler,
|
||||
logService *service.LogService,
|
||||
activityService service.UserActivityService,
|
||||
casbinService service.CasbinService,
|
||||
@@ -102,6 +106,8 @@ func New(
|
||||
qrcodeHandler: qrcodeHandler,
|
||||
materialHandler: materialHandler,
|
||||
callHandler: callHandler,
|
||||
reportHandler: reportHandler,
|
||||
adminReportHandler: adminReportHandler,
|
||||
logService: logService,
|
||||
jwtService: jwtService,
|
||||
casbinService: casbinService,
|
||||
@@ -356,6 +362,15 @@ func (r *Router) setupRoutes() {
|
||||
messages.POST("/delete_msg", r.messageHandler.HandleDeleteMsg)
|
||||
}
|
||||
|
||||
// 举报路由
|
||||
if r.reportHandler != nil {
|
||||
reports := v1.Group("/reports")
|
||||
reports.Use(authMiddleware)
|
||||
{
|
||||
reports.POST("", r.reportHandler.Create)
|
||||
}
|
||||
}
|
||||
|
||||
// 通知路由
|
||||
notifications := v1.Group("/notifications")
|
||||
{
|
||||
@@ -557,6 +572,14 @@ func (r *Router) setupRoutes() {
|
||||
admin.PUT("/materials/:id", r.materialHandler.AdminUpdateMaterial)
|
||||
admin.DELETE("/materials/:id", r.materialHandler.AdminDeleteMaterial)
|
||||
}
|
||||
|
||||
// 举报管理
|
||||
if r.adminReportHandler != nil {
|
||||
admin.GET("/reports", r.adminReportHandler.List)
|
||||
admin.GET("/reports/:id", r.adminReportHandler.Detail)
|
||||
admin.PUT("/reports/:id/handle", r.adminReportHandler.Handle)
|
||||
admin.POST("/reports/batch-handle", r.adminReportHandler.BatchHandle)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user