修复麦位任务

This commit is contained in:
hy001 2026-05-09 16:02:55 +08:00
parent c6ba03c407
commit fbe9e922f8
2 changed files with 12 additions and 7 deletions

View File

@ -50,7 +50,7 @@ func (s *Service) ReceiveEvent(ctx context.Context, req EventRequest) (*EventRes
return nil, NewAppError(http.StatusBadRequest, "invalid_event_type", "eventType is required") return nil, NewAppError(http.StatusBadRequest, "invalid_event_type", "eventType is required")
} }
if !isAllowedConditionType(eventType) { if !isAllowedConditionType(eventType) {
return &EventResponse{Processed: false, Updated: 0}, nil return &EventResponse{Processed: false, Updated: 0, Reason: "unsupported_condition_type"}, nil
} }
userID := req.UserID.Int64() userID := req.UserID.Int64()
if userID <= 0 { if userID <= 0 {
@ -67,7 +67,7 @@ func (s *Service) ReceiveEvent(ctx context.Context, req EventRequest) (*EventRes
return nil, err return nil, err
} }
if existingCount > 0 { if existingCount > 0 {
return &EventResponse{Processed: false, Updated: 0}, nil return &EventResponse{Processed: false, Updated: 0, Reason: "duplicate_event"}, nil
} }
bundle, err := s.loadEnabledBundle(ctx, sysOrigin) bundle, err := s.loadEnabledBundle(ctx, sysOrigin)
@ -75,7 +75,7 @@ func (s *Service) ReceiveEvent(ctx context.Context, req EventRequest) (*EventRes
return nil, err return nil, err
} }
if bundle == nil { if bundle == nil {
return &EventResponse{Processed: false, Updated: 0}, nil return &EventResponse{Processed: false, Updated: 0, Reason: "task_center_disabled"}, nil
} }
matchedTasks := make([]model.TaskCenterTaskConfig, 0) matchedTasks := make([]model.TaskCenterTaskConfig, 0)
@ -85,7 +85,7 @@ func (s *Service) ReceiveEvent(ctx context.Context, req EventRequest) (*EventRes
} }
} }
if len(matchedTasks) == 0 { if len(matchedTasks) == 0 {
return &EventResponse{Processed: false, Updated: 0}, nil return &EventResponse{Processed: false, Updated: 0, Reason: "no_matched_task"}, nil
} }
occurredAt := parseOccurredAt(req.OccurredAt, time.Now()) occurredAt := parseOccurredAt(req.OccurredAt, time.Now())
@ -160,7 +160,11 @@ func (s *Service) ReceiveEvent(ctx context.Context, req EventRequest) (*EventRes
return nil, err return nil, err
} }
return &EventResponse{Processed: updated > 0, Updated: updated}, nil reason := ""
if updated == 0 {
reason = "no_updated_task"
}
return &EventResponse{Processed: updated > 0, Updated: updated, Reason: reason}, nil
} }
func (s *Service) loadOrCreateProgressTx(tx *gorm.DB, sysOrigin string, userID int64, task model.TaskCenterTaskConfig, cycleKey string) (model.TaskCenterUserProgress, error) { func (s *Service) loadOrCreateProgressTx(tx *gorm.DB, sysOrigin string, userID int64, task model.TaskCenterTaskConfig, cycleKey string) (model.TaskCenterUserProgress, error) {

View File

@ -193,8 +193,9 @@ type EventRequest struct {
} }
type EventResponse struct { type EventResponse struct {
Processed bool `json:"processed"` Processed bool `json:"processed"`
Updated int `json:"updated"` Updated int `json:"updated"`
Reason string `json:"reason,omitempty"`
} }
type PageResponse[T any] struct { type PageResponse[T any] struct {