Task 4.1: 包名统一重构 - 重命名 41 个 Java 文件的包名 - 更新所有 import 语句 - 恢复枚举类(FaultCategory、DiagnosisStatus、SourceType) - 更新测试类的 import 重构范围: - domain/entity: 3 个实体类 - domain/model: 2 个数据类 - domain/enums: 3 个枚举类 - repository: 3 个接口 - service/session: 2 个类(接口 + 实现) - config: 9 个配置类 - controller: 2 个控制器 - agent/tool: 4 个工具类 - client: 1 个客户端 - Main.java: 主类 验证结果: - 编译成功,无错误 - 所有测试通过 (27/27) - ApiDocumentRepositoryTest: 7/7 ✅ - CaseLibraryRepositoryTest: 6/6 ✅ - DiagnosisRecordRepositoryTest: 6/6 ✅ - RedisSessionManagerTest: 8/8 ✅ Progress: 21/33 tasks completed (64%)
96 lines
2.7 KiB
Java
96 lines
2.7 KiB
Java
package com.superbiz.agent.domain.entity;
|
|
|
|
import jakarta.persistence.*;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
import com.superbiz.agent.domain.enums.FaultCategory;
|
|
import com.superbiz.agent.domain.enums.SourceType;
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
/**
|
|
* 案例库实体
|
|
* 对应表: case_library
|
|
*/
|
|
@Entity
|
|
@Table(name = "case_library", indexes = {
|
|
@Index(name = "idx_fault_category", columnList = "fault_category"),
|
|
@Index(name = "idx_error_code", columnList = "error_code"),
|
|
@Index(name = "idx_fault_source", columnList = "fault_source"),
|
|
@Index(name = "idx_diagnosis_id", columnList = "diagnosis_id"),
|
|
@Index(name = "idx_reference_count", columnList = "reference_count"),
|
|
@Index(name = "idx_created_at", columnList = "created_at")
|
|
})
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
public class CaseLibrary {
|
|
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
private Long id;
|
|
|
|
@Column(name = "case_id", unique = true, nullable = false, length = 64)
|
|
private String caseId;
|
|
|
|
// 来源关联
|
|
@Column(name = "diagnosis_id", length = 64)
|
|
private String diagnosisId;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Column(name = "source_type", length = 16, columnDefinition = "VARCHAR(16)")
|
|
private SourceType sourceType = SourceType.AUTO;
|
|
|
|
// 案例分类
|
|
@Enumerated(EnumType.STRING)
|
|
@Column(name = "fault_category", length = 32, columnDefinition = "VARCHAR(32)")
|
|
private FaultCategory faultCategory;
|
|
|
|
@Column(name = "fault_source", length = 128)
|
|
private String faultSource;
|
|
|
|
@Column(name = "fault_target", length = 256)
|
|
private String faultTarget;
|
|
|
|
@Column(name = "error_code", length = 64)
|
|
private String errorCode;
|
|
|
|
// 案例内容
|
|
@Column(name = "title", nullable = false, length = 256)
|
|
private String title;
|
|
|
|
@Column(name = "root_cause", nullable = false, columnDefinition = "TEXT")
|
|
private String rootCause;
|
|
|
|
@Column(name = "solution", nullable = false, columnDefinition = "TEXT")
|
|
private String solution;
|
|
|
|
// 简单统计
|
|
@Column(name = "reference_count")
|
|
private Integer referenceCount = 0;
|
|
|
|
// 元数据
|
|
@Column(name = "created_by", length = 64)
|
|
private String createdBy;
|
|
|
|
@Column(name = "created_at", nullable = false, updatable = false)
|
|
private LocalDateTime createdAt;
|
|
|
|
@Column(name = "updated_at")
|
|
private LocalDateTime updatedAt;
|
|
|
|
@PrePersist
|
|
protected void onCreate() {
|
|
createdAt = LocalDateTime.now();
|
|
updatedAt = LocalDateTime.now();
|
|
}
|
|
|
|
@PreUpdate
|
|
protected void onUpdate() {
|
|
updatedAt = LocalDateTime.now();
|
|
}
|
|
}
|