package com.battery.business.domain; import java.io.Serializable; import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonFormat; /** 一次控制台数据编辑、导入或删除行为,对应表 t_test_data_revision_action;只追加,不提供修改或删除能力。 */ public class TTestDataRevisionAction implements Serializable { private static final long serialVersionUID = 1L; /** 修订主键,一次用户行为对应一条修订。 */ private Long actionId; /** 被修订数据所属测试主键。 */ private Long testId; /** * 修订的数据类型:REALTIME 实时、STEP 工步、CYCLE 循环; * 三 Sheet 一键导入在提交入参中使用 ALL,落库时按各 Sheet 分别记为三类中的一种。 */ private String dataType; /** 操作类型:EDIT 编辑、IMPORT 导入、DELETE 物理删除。 */ private String operationType; /** 操作范围摘要,例如“导入 3 条实时数据”。 */ private String scopeSummary; /** 目标记录身份数组的 JSON,用于定位本次行为涉及的记录。 */ private String identitySummary; /** 变化内容摘要的 JSON;删除行为保存删除前内容,不额外记录改动项。 */ private String changesSummary; /** 操作前完整内容的 JSON,用于追溯已物理删除的数据。 */ private String beforeContentJson; /** 详情展示数量由持久化层统计,非编辑无需加载完整身份数组;不写入审计事实。 */ private Long affectedRecordCount; /** 操作人填写的修订原因,必填。 */ private String reason; /** 操作人用户 ID,取当前登录会话。 */ private Long operatorId; /** 操作人显示名称,随修订事实一起保存,不随用户改名变化。 */ private String operatorName; /** 修订发生时间,以 UTC 保存。 */ @JsonFormat(shape = JsonFormat.Shape.NUMBER) private Date createdAtUtc; /** 查询展示字段:来源测试名称。 */ private String testName; /** 返回测试控制台时使用的后端接收状态。 */ private String testReceptionStatus; /** 查询条件:修订时间起始值。 */ @JsonIgnore @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private Date beginCreatedAt; /** 查询条件:修订时间结束值。 */ @JsonIgnore @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private Date endCreatedAt; /** 本次提交结果,不持久化到修订事实。 */ private int importedCount; /** 本次提交跳过的重复记录数,不持久化到修订事实。 */ private int skippedCount; /** 本次提交生成的全部修订编号,仅用于提交响应,不持久化。 */ @JsonIgnore private java.util.List actionIds = java.util.List.of(); public java.util.List getActionIds() { return actionIds; } public void setActionIds(java.util.List value) { actionIds = value; } public int getImportedCount() { return importedCount; } public void setImportedCount(int value) { importedCount = value; } public int getSkippedCount() { return skippedCount; } public void setSkippedCount(int value) { skippedCount = value; } public Long getActionId() { return actionId; } public void setActionId(Long value) { actionId = value; } public Long getTestId() { return testId; } public void setTestId(Long value) { testId = value; } public String getDataType() { return dataType; } public void setDataType(String value) { dataType = value; } public String getOperationType() { return operationType; } public void setOperationType(String value) { operationType = value; } public String getScopeSummary() { return scopeSummary; } public void setScopeSummary(String value) { scopeSummary = value; } public String getIdentitySummary() { return identitySummary; } public void setIdentitySummary(String value) { identitySummary = value; } public String getChangesSummary() { return changesSummary; } public Long getAffectedRecordCount() { return affectedRecordCount; } public void setAffectedRecordCount(Long value) { affectedRecordCount = value; } public String getBeforeContentJson() { return beforeContentJson; } public void setBeforeContentJson(String value) { beforeContentJson = value; } public void setChangesSummary(String value) { changesSummary = value; } public String getReason() { return reason; } public void setReason(String value) { reason = value; } public Long getOperatorId() { return operatorId; } public void setOperatorId(Long value) { operatorId = value; } public String getOperatorName() { return operatorName; } public void setOperatorName(String value) { operatorName = value; } public Date getCreatedAtUtc() { return createdAtUtc; } public void setCreatedAtUtc(Date value) { createdAtUtc = value; } public String getTestName() { return testName; } public void setTestName(String value) { testName = value; } public String getTestReceptionStatus() { return testReceptionStatus; } public void setTestReceptionStatus(String value) { testReceptionStatus = value; } public Date getBeginCreatedAt() { return beginCreatedAt; } public void setBeginCreatedAt(Date value) { beginCreatedAt = value; } public Date getEndCreatedAt() { return endCreatedAt; } public void setEndCreatedAt(Date value) { endCreatedAt = value; } }