初步完成举报功能

This commit is contained in:
2026-01-21 22:04:12 +08:00
parent 68d7318285
commit 17a2792ac4

View File

@@ -4,6 +4,8 @@ import (
"carrotskin/internal/model" "carrotskin/internal/model"
"context" "context"
"errors" "errors"
"time"
"gorm.io/gorm" "gorm.io/gorm"
) )
@@ -157,7 +159,7 @@ func (r *reportRepository) Review(ctx context.Context, id int64, status model.Re
} }
// 更新举报状态 // 更新举报状态
now := report.CreatedAt // 简化处理,实际应使用当前时间 now := time.Now()
updates := map[string]interface{}{ updates := map[string]interface{}{
"status": status, "status": status,
"reviewer_id": reviewerID, "reviewer_id": reviewerID,
@@ -173,12 +175,14 @@ func (r *reportRepository) Review(ctx context.Context, id int64, status model.Re
func (r *reportRepository) BatchReview(ctx context.Context, ids []int64, status model.ReportStatus, reviewerID int64, reviewNote string) (int64, error) { func (r *reportRepository) BatchReview(ctx context.Context, ids []int64, status model.ReportStatus, reviewerID int64, reviewNote string) (int64, error) {
var affected int64 var affected int64
err := r.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error { err := r.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error {
now := time.Now()
result := tx.Model(&model.Report{}). result := tx.Model(&model.Report{}).
Where("id IN ? AND status = ?", ids, model.ReportStatusPending). Where("id IN ? AND status = ?", ids, model.ReportStatusPending).
Updates(map[string]interface{}{ Updates(map[string]interface{}{
"status": status, "status": status,
"reviewer_id": reviewerID, "reviewer_id": reviewerID,
"review_note": reviewNote, "review_note": reviewNote,
"reviewed_at": &now,
}) })
if result.Error != nil { if result.Error != nil {