diff --git a/backend/internal/router/developer/applications.go b/backend/internal/router/developer/applications.go index 785a9fb..f0a65f3 100644 --- a/backend/internal/router/developer/applications.go +++ b/backend/internal/router/developer/applications.go @@ -242,7 +242,7 @@ func handleCreateApplication(c *gin.Context) { } } - service.LogOperation(c, "create", "application", &app.ID, fmt.Sprintf("创建应用: %s", app.Name), nil) + service.LogOperationWithApp(c, &app.ID, "create", "application", &app.ID, fmt.Sprintf("创建应用: %s", app.Name), nil) response.Success(c, gin.H{ "application": app, @@ -405,7 +405,7 @@ func handleUpdateApplication(c *gin.Context) { return } - service.LogOperation(c, "update", "application", &app.ID, fmt.Sprintf("更新应用: %s", app.Name), nil) + service.LogOperationWithApp(c, &app.ID, "update", "application", &app.ID, fmt.Sprintf("更新应用: %s", app.Name), nil) response.Success(c, app) } diff --git a/backend/internal/router/developer/cards.go b/backend/internal/router/developer/cards.go index fad0a52..03a5fc9 100644 --- a/backend/internal/router/developer/cards.go +++ b/backend/internal/router/developer/cards.go @@ -262,7 +262,7 @@ func handleCreateCardType(c *gin.Context) { return } - service.LogOperation(c, "create", "card_type", &cardType.ID, fmt.Sprintf("创建卡密类型: %s", cardType.Name), nil) + service.LogOperationWithApp(c, &cardType.ApplicationID, "create", "card_type", &cardType.ID, fmt.Sprintf("创建卡密类型: %s", cardType.Name), nil) response.Success(c, cardType) } @@ -329,7 +329,7 @@ func handleUpdateCardType(c *gin.Context) { return } - service.LogOperation(c, "update", "card_type", &cardType.ID, fmt.Sprintf("更新卡密类型: %s", cardType.Name), nil) + service.LogOperationWithApp(c, &cardType.ApplicationID, "update", "card_type", &cardType.ID, fmt.Sprintf("更新卡密类型: %s", cardType.Name), nil) response.Success(c, cardType) } @@ -349,7 +349,7 @@ func handleDeleteCardType(c *gin.Context) { return } - service.LogOperation(c, "delete", "card_type", &cardType.ID, fmt.Sprintf("删除卡密类型: %s", cardType.Name), nil) + service.LogOperationWithApp(c, &cardType.ApplicationID, "delete", "card_type", &cardType.ID, fmt.Sprintf("删除卡密类型: %s", cardType.Name), nil) response.Success(c, nil) } diff --git a/backend/internal/service/log_service.go b/backend/internal/service/log_service.go index 069b620..407375f 100644 --- a/backend/internal/service/log_service.go +++ b/backend/internal/service/log_service.go @@ -94,6 +94,25 @@ func (s *LogService) LogOperation(c *gin.Context, action, resource string, resou return s.CreateLogFromContext(c, params) } +func (s *LogService) LogOperationWithApp(c *gin.Context, applicationID *uint, action, resource string, resourceID *uint, details string, err error) error { + params := LogParams{ + LogType: "operation", + ApplicationID: applicationID, + Action: action, + Resource: resource, + ResourceID: resourceID, + Details: details, + } + + if err != nil { + params.Status = "failed" + params.Level = "error" + params.ErrorMessage = err.Error() + } + + return s.CreateLogFromContext(c, params) +} + func (s *LogService) LogVerification(c *gin.Context, applicationID *uint, appUserID *uint, action, details string, deviceID string, err error) error { params := LogParams{ LogType: "verification", @@ -142,6 +161,10 @@ func LogOperation(c *gin.Context, action, resource string, resourceID *uint, det return logService.LogOperation(c, action, resource, resourceID, details, err) } +func LogOperationWithApp(c *gin.Context, applicationID *uint, action, resource string, resourceID *uint, details string, err error) error { + return logService.LogOperationWithApp(c, applicationID, action, resource, resourceID, details, err) +} + func LogVerification(c *gin.Context, applicationID *uint, appUserID *uint, action, details string, DeviceFingerprint string, err error) error { return logService.LogVerification(c, applicationID, appUserID, action, details, DeviceFingerprint, err) }