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%)
89 lines
1.6 KiB
Java
89 lines
1.6 KiB
Java
package com.superbiz.agent.domain.model;
|
||
|
||
import lombok.AllArgsConstructor;
|
||
import lombok.Builder;
|
||
import lombok.Data;
|
||
import lombok.NoArgsConstructor;
|
||
|
||
import java.io.Serializable;
|
||
import java.time.LocalDateTime;
|
||
import java.util.ArrayList;
|
||
import java.util.List;
|
||
|
||
/**
|
||
* 会话上下文数据类
|
||
* 存储在 Redis 中的会话数据
|
||
*/
|
||
@Data
|
||
@Builder
|
||
@NoArgsConstructor
|
||
@AllArgsConstructor
|
||
public class SessionContext implements Serializable {
|
||
|
||
private static final long serialVersionUID = 1L;
|
||
|
||
/**
|
||
* 会话ID
|
||
*/
|
||
private String sessionId;
|
||
|
||
/**
|
||
* 用户ID
|
||
*/
|
||
private String userId;
|
||
|
||
/**
|
||
* 业务ID(订单号/请求ID等)
|
||
*/
|
||
private String businessId;
|
||
|
||
/**
|
||
* 链路追踪ID
|
||
*/
|
||
private String traceId;
|
||
|
||
/**
|
||
* 会话状态(ACTIVE/COMPLETED/EXPIRED)
|
||
*/
|
||
private String status;
|
||
|
||
/**
|
||
* 工具调用历史
|
||
*/
|
||
@Builder.Default
|
||
private List<ToolCall> toolCalls = new ArrayList<>();
|
||
|
||
/**
|
||
* 会话创建时间
|
||
*/
|
||
private LocalDateTime createdAt;
|
||
|
||
/**
|
||
* 最后活跃时间
|
||
*/
|
||
private LocalDateTime lastActiveAt;
|
||
|
||
/**
|
||
* 会话过期时间(秒)
|
||
*/
|
||
private Long ttl;
|
||
|
||
/**
|
||
* 添加工具调用记录
|
||
*/
|
||
public void addToolCall(ToolCall toolCall) {
|
||
if (this.toolCalls == null) {
|
||
this.toolCalls = new ArrayList<>();
|
||
}
|
||
this.toolCalls.add(toolCall);
|
||
this.lastActiveAt = LocalDateTime.now();
|
||
}
|
||
|
||
/**
|
||
* 更新最后活跃时间
|
||
*/
|
||
public void updateLastActiveTime() {
|
||
this.lastActiveAt = LocalDateTime.now();
|
||
}
|
||
}
|