XuqmGroup-Server/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/dto/EventBatchRequest.java
XuqmGroup 198dc7f960 feat(bugcollect): implement BugCollect API v1.1.0 full stack
- LogController: 新增 /issues/{id}/events, /issues/{id}/trend, 管理接口
  (resolve/ignore/assign/bulk),queryIssues 改用 level/status/q 参数
- LogService: 全面重写,eventId 幂等、breadcrumbs 存储、affectedUsers 计数、
  Issue status 管理、getIssueEvents/getIssueTrend 独立接口
- Entity: LogIssueEventEntity 增加 eventId/exceptionType/exceptionValue/breadcrumbs;
  LogIssueEntity 增加 status/affectedUsers/assignee;LogEventEntity 增加 eventId
- Repository: LogIssueEventRepository/LogIssueRepository/LogEventRepository 新增
  idempotency/filter/trend/bulk 查询方法
- DTO: IssueActionRequest/IssueTrendResponse 新增;IssueResponse/IssueEventResponse 扩展
- V3 migration: log_issue_events/log_issues/log_events 结构升级

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 15:30:05 +08:00

27 行
985 B
Java

package com.xuqm.bugcollect.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import java.util.List;
public record EventBatchRequest(
@JsonProperty("sentAt") String sentAt,
@JsonProperty("sdk") IssueBatchRequest.SdkInfo sdk,
@JsonProperty("events") @NotEmpty List<EventItem> events
) {
public record EventItem(
@JsonProperty("eventId") String eventId,
@NotBlank @JsonProperty("appKey") String appKey,
@NotBlank String name,
long timestamp,
@JsonProperty("properties") Object properties,
String platform,
String release,
String environment,
@JsonProperty("user") IssueBatchRequest.UserInfo user,
@JsonProperty("device") IssueBatchRequest.DeviceInfo device,
@JsonProperty("sdk") IssueBatchRequest.SdkInfo sdk
) {}
}