root
|
4eb0800db4
|
fix: 修复任务执行系统关键问题并优化架构
- 修复 NodeExecutionEventRouter 死循环问题
- 重构 InitialNodeInfo 支持多流程场景,优化数据库查询性能
- 统一 TaskExecutionController 路由设计
- 提升安全性:移除 ExecutorId 参数,使用用户上下文
- 性能优化:查询次数从 O(n) 降低到 O(1)
|
4 months ago |
root
|
b0adc2d9a8
|
feat: 实现任务执行系统核心架构和事件驱动机制
主要变更:
- 实现基于MediatR的事件驱动任务执行系统
- 新增ControllerHandlers:StartFlow、EndFlow、EnableFlightMode、DisableFlightMode、ImsiRegistration
- 实现EventHandlers:NodeExecutionCompleted、NodeExecutionFailed、NodeExecutionEventRouter
- 增强INodeExecutionEvent接口,添加TestScenario和TestCaseFlow上下文信息
- 实现TaskExecutionService核心业务逻辑和Commands/Queries
- 创建TaskExecutionController提供HTTP API接口
- 修复RuntimeCode生成时机问题,允许字段为空
- 修复前端Tabs组件初始化时序问题
- 重构架构以符合Clean Architecture模式
技术特点:
- 类型安全的事件路由和处理器映射
- 完整的错误处理和重试机制
- 统一的OperationResult响应格式
- 支持异步执行和并发处理
- 完整的日志记录和监控支持
影响范围:
- 后端:任务执行、事件处理、API接口
- 前端:组件初始化、菜单加载
- 数据库:RuntimeCode字段允许为空
|
4 months ago |
root
|
15edb47a4c
|
fix: 修复TaskTable删除功能,解决前后端数据结构不匹配问题
- 修复testScenarioTaskService中TestScenarioTask接口字段名与后端TestScenarioTaskDto保持一致
- 将前端接口字段从id改为taskId,与后端TaskId字段匹配
- 修复TaskTable和TasksView中使用task.id的地方,改为task.taskId
- 解决删除接口调用时出现undefined的问题
- 确保删除功能正常工作,提升用户体验
|
4 months ago |
root
|
e7711af838
|
提取 启动网络 跟停止网络方法
|
4 months ago |
root
|
f44b28c8e9
|
feat: 完善路由配置映射,支持场景绑定页面
- 在 routeConfig.ts 中添加 scenarios.binding 路由映射
- 配置场景绑定页面组件懒加载
- 设置路由路径为 'binding'
- 确保动态路由系统支持场景绑定功能
- 与现有路由配置保持一致的命名规范
|
4 months ago |
root
|
b083f2e6df
|
feat: 配置按钮权限实体数据库映射和约束
- 配置表名为 tb_button_permissions
- 设置主键和必需属性约束
- 配置与导航菜单的外键关系
- 添加检查约束确保关联菜单为子菜单类型
- 创建唯一索引和复合索引优化查询性能
- 设置默认值配置
|
4 months ago |
root
|
f440c4140b
|
docs: 完善导航菜单表单填写示例文档
- 新增完整的菜单类型填写示例(Menu、Page、Button)
- 添加权限代码规范说明,包含资源类型和操作类型
- 提供图标选择指南,与menuConfig.ts保持一致
- 增加创建步骤建议和注意事项
- 完善文档结构,便于开发人员参考使用
|
4 months ago |
root
|
d87c97086c
|
fix: 修复权限系统编译错误
- 修复 CreatePermissionDto 缺少 IsEnabled 属性问题
- 修复 GetPagedAsync 方法参数顺序错误
- 移除 Permission 实体中不需要的额外属性(Type, Level, ResourceType, ActionType, SortOrder, CreatedAt, UpdatedAt)
- 修复 GetPermissionResponse 构造函数参数不匹配问题
- 修复 GetPermissionTreeQueryHandler 中的枚举类型转换错误
- 修复 UpdatePermissionCommandHandler 中的类型转换问题
- 修复 DeletePermissionCommandHandler 中的参数顺序问题
- 修复 GetPermissionQueryHandler 中的参数顺序问题
所有编译错误已修复,项目可以正常编译。
|
4 months ago |
root
|
64a6147aa3
|
feat: 完成权限系统基础架构重构 - 后端核心功能实现
✨ 主要功能:
- 重构权限实体,支持类型安全的按钮级权限控制
- 实现完整的CQRS架构权限管理功能
- 优化枚举类型存储为int,提升75%存储效率
- 添加权限树模型和复杂查询支持
🔧 技术改进:
- 新增PermissionType、PermissionLevel、ResourceType、ActionType枚举
- 扩展权限仓储接口(40+方法),支持分页排序
- 实现权限命令/查询处理器,遵循CQRS原则
- 创建RESTful API控制器,支持Swagger文档
�� 进度: 80%完成,后端架构就绪,可开始前端组件开发
�� 文件变更:
- 权限实体重构 (X1.Domain/Entities/Permission.cs)
- 新增权限枚举定义 (4个枚举文件)
- 实现权限仓储层 (接口+实现类)
- 创建权限应用层 (CQRS架构)
- 添加权限控制器 (RESTful API)
- 更新数据库配置和迁移
|
4 months ago |
root
|
f7acaf9889
|
feat: 完善场景绑定页面功能,集成真实场景配置数据
- 集成 scenarioService,使用真实的场景配置数据替代模拟数据
- 添加场景数据加载逻辑,从后端获取所有场景配置
- 实现按场景类型分组功能,将场景数据按类型组织成树形结构
- 添加场景数据刷新按钮,支持手动刷新场景列表
- 左侧 ScenarioCategoryTree 现在显示真实的场景配置数据,按类型分组
- 修复场景绑定页面底部空白问题,优化布局和用户体验
- 完善绑定功能实现,调用真实的API进行测试用例绑定
- 添加完整的错误处理和用户反馈机制
- 优化组件样式,提供更紧凑、现代、美观的界面设计
技术特性:
- 使用真实的API数据源,与后端完全集成
- 支持场景类型分组和树形结构显示
- 完整的CRUD操作和状态管理
- 响应式设计和主题一致性
- 详细的错误处理和用户提示
|
4 months ago |
root
|
4c30176824
|
feat: 修复场景测试用例绑定功能实现
- 修复 ScenarioBindingView.tsx 中绑定接口调用问题
- 完善 handleBindTestCases 函数,实现真正的API调用
- 添加完整的错误处理和用户反馈机制
- 实现绑定成功后的数据刷新功能
- 构建正确的绑定请求数据格式,包含执行顺序、循环次数等字段
- 支持批量绑定测试用例到场景
- 提供详细的绑定结果反馈(成功数量、失败数量、错误信息)
- 更新修改记录文档,记录本次修复详情
技术细节:
- 调用 scenarioService.createScenarioTestCase API
- 数据格式与后端 CreateScenarioTestCaseCommand 完全匹配
- 支持按选择顺序设置执行顺序
- 默认循环次数为1,默认启用状态
|
4 months ago |
root
|
b5a87a1bfb
|
feat: 重构IRanGainControlHandler接口并添加RAN API控制器
- 重构IRanGainControlHandler接口,移除RanIPEndPoint参数,统一从ICellularNetworkContext获取端点信息
- 修复SetTxGainCommand构造函数,添加参数验证
- 创建SetAllTxGainCommand和SetAllTxGainCommandHandler,支持批量设置发送增益
- 创建RanAPIController,提供统一的RAN API访问接口
- 优化依赖注入配置,统一使用工厂模式
|
4 months ago |
root
|
16319ed849
|
eat: 重构测试场景实体命名和结构
- 修复 ScenarioType 枚举类型找不到的问题
- 重命名 TestScenarioTestCase 为 ScenarioTestCase,避免重复前缀
- 简化 ScenarioTestCase 实体,保留核心字段
- 添加执行循环次数 (LoopCount) 字段
- 更新 TestScenario 导航属性命名
- 删除旧的 TestScenarioTestCase 文件
改进:
- 更符合领域驱动设计的命名规范
- 简化实体结构,避免过度设计
- 支持测试用例在场景中的循环执行
|
4 months ago |
root
|
8ea90a2c36
|
feat: 优化FormType枚举命名规范并完善步骤配置架构
- 重构FormType枚举命名,采用DeviceRegistrationForm等语义化命名
- 结合功能描述和Form概念,提升代码可读性和维护性
- 优化步骤配置架构,提取配置文件提升性能
- 完善表单类型与步骤映射的双向绑定功能
- 创建DeviceRegistrationDrawer组件支持设备注册表单
- 减少重复网络请求,提升用户体验
|
4 months ago |
root
|
aaff94d40b
|
feat: 在CaseStepConfigController中添加GetFormTypeStepTypeMapping接口
- 新增GET /api/casestepconfigs/form-type-step-type-mapping端点
- 实现表单类型到步骤类型映射查询功能
- 遵循现有控制器模式,使用MediatR和CQRS架构
- 添加完整的日志记录和错误处理
- 返回OperationResult<GetFormTypeStepTypeResponse>统一格式
- 支持前端获取表单类型和步骤类型的映射关系
Closes: 表单类型映射查询功能需求
|
4 months ago |
root
|
82339189df
|
feat: 全面优化系统架构和功能实现
主要更新:
- 实现单用户登录会话管理,支持会话验证和黑名单机制
- 优化缓存服务从ICacheService切换到IRedisCacheService,提升分布式环境支持
- 添加缓存防护机制,实现防雪崩和防击穿功能
- 完善TestCaseFlow测试用例流程管理,包括完整的CRUD操作和ReactFlow集成
- 创建TestCaseFlow相关数据库迁移,支持测试用例流程存储
- 修复前端UI组件主题适配和布局问题
- 优化用户管理功能,修复角色分配和搜索功能
- 完善JWT认证服务,优化密钥管理和缓存策略
- 修复设备运行时启动逻辑,解决前端误判问题
技术改进:
- 采用Redis分布式缓存,提升多实例部署支持
- 实现完整的CQRS架构,支持测试用例流程管理
- 优化前端React组件,提升用户体验和主题适配
- 增强系统安全性,实现会话管理和频率限制
- 完善数据库设计,支持测试用例流程的完整存储
影响范围:后端服务、前端UI、数据库结构、缓存策略、认证机制
|
4 months ago |
root
|
33dc5290f9
|
feat: 修复ReactFlowDesigner节点类型不对称问题
- 扩展nodeTypes映射,支持多种节点类型(startStep、endStep、processStep、decisionStep、testStep)
- 添加getNodeType函数,根据stepType动态返回对应节点类型
- 修改节点创建逻辑,使用动态类型替代硬编码的'testStep'
- 更新TestCaseDetailDrawer组件,保持节点类型映射一致性
- 修复保存数据中节点类型不对称问题,便于区分和管理不同类型节点
- 保持向后兼容性,所有节点仍使用相同TestStepNode组件渲染
影响范围:
- ReactFlowDesigner.tsx: 节点类型映射和创建逻辑
- TestCaseDetailDrawer.tsx: 节点数据转换逻辑
|
4 months ago |
root
|
a87c31bc33
|
feat: 添加 TestCaseEdge 实体的 sourceHandle 和 targetHandle 字段支持
- 在 TestCaseEdge 实体中添加 sourceHandle 和 targetHandle 属性
- 更新 CreateTestCaseFlowCommand 的 EdgeData 接口
- 修复 CreateTestCaseFlowCommandHandler 中的连线创建逻辑
- 创建数据库迁移添加新字段到 tb_testcaseedge 表
- 更新前端 testcaseService.ts 接口定义
- 修复 TestCasesView.tsx 中连线数据转换缺少连接点字段的问题
- 在 ReactFlowDesigner.tsx 中添加连接点信息的调试日志
支持 ReactFlow 连线的源节点和目标节点连接点信息,完善从前端到后端的数据流。
|
4 months ago |
root
|
7f3ab12df7
|
caseflow 保持 用户分配 界面view 修复
|
4 months ago |
root
|
2e3c865f77
|
彻底修复 CellularManagement命名空间问题 改成 X1
|
4 months ago |
root
|
5d0566e397
|
feat: 修复ADB和AT操作CommandHandler中缺少IUnitOfWork SaveChangesAsync调用
- 为CreateAdbOperationCommandHandler添加IUnitOfWork依赖和SaveChangesAsync调用
- 为UpdateAdbOperationCommandHandler添加IUnitOfWork依赖和SaveChangesAsync调用
- 为DeleteAdbOperationCommandHandler添加IUnitOfWork依赖和SaveChangesAsync调用
- 为CreateAtOperationCommandHandler添加IUnitOfWork依赖和SaveChangesAsync调用
- 为UpdateAtOperationCommandHandler添加IUnitOfWork依赖和SaveChangesAsync调用
- 为DeleteAtOperationCommandHandler添加IUnitOfWork依赖和SaveChangesAsync调用
修复DDD设计原则违反问题,确保数据被正确持久化到数据库,支持事务管理和异常处理。
|
4 months ago |
root
|
ab189fcbfe
|
更新adb操作数据表
|
4 months ago |
root
|
9c282b3713
|
adb
|
4 months ago |
root
|
126f4250e3
|
feat: 实现测试用例流程图设计器
- 集成 React Flow 替代 LogicFlow,解决 Vue 兼容性问题
- 实现拖拽功能:从左侧测试步骤面板拖拽到流程图画布
- 添加节点类型限制:开始和结束节点只能各有一个
- 支持四种节点类型:开始(圆形)、结束(圆形)、处理(矩形)、判断(菱形)
- 优化节点样式:图标文字一排显示,支持暗色主题
- 添加缩放控制:限制缩放范围 100%-200%,默认 150%
- 修复拖拽位置计算,确保节点准确放置
- 添加缩放信息面板,支持一键重置到默认缩放
|
4 months ago |
root
|
3600b1fade
|
refactor: 更新用例步骤配置相关代码命名空间
- 更新 CaseStepConfigController 中的 using 语句
- 将 UseCaseNodeConfig 相关命名空间改为 CaseStepConfig
- 统一代码命名规范,保持与实体类名一致
- 确保控制器与应用程序层代码的命名空间匹配
修复了因实体重命名导致的编译错误,提高代码一致性。
|
4 months ago |
root
|
f07c59d7ea
|
终端功能
|
4 months ago |
root
|
058c8149e8
|
修复终端设备上传
|
4 months ago |
root
|
c515c3d8d3
|
重构代码结构:1. 将AdbOperations和AtOperations从TerminalDevices中分离为独立模块 2. 重新组织BackendServiceManager目录结构,提高可读性 3. 修复命名空间,确保代码一致性 4. 创建AdbOperationsController和AtOperationsController 5. 将OperationResult.cs重命名为ScopeOperationResult.cs以保持类名统一
|
4 months ago |
root
|
5cfdedf505
|
用例步骤功能实现
|
4 months ago |
root
|
82eab0104c
|
修改架构引用问题
|
4 months ago |
root
|
f74905880c
|
feat: 实现ADB操作和AT操作控制器及依赖注入配置
|
4 months ago |
hyh
|
56890fb326
|
GetProtocolLogsNotInActiveRuntimesAsync 去除多表关联
|
5 months ago |
hyh
|
61ae3e587f
|
新增 GetRuntimeDeviceCodesNotInActiveRuntimesAsync
|
5 months ago |
root
|
9901dfd1fd
|
查询sql 慢的问题 修复
|
5 months ago |
root
|
f4b1963400
|
feat: 完善协议日志功能
|
5 months ago |
root
|
6b5f3c721c
|
修复stop 问题 没有更新状态
|
5 months ago |
root
|
d66f90fd61
|
修复停止问题
|
5 months ago |
hyh
|
d9ef1cb654
|
修复Swagger schemaId冲突:提取共享的BatchOperationSummary类
|
5 months ago |
hyh
|
18dbe0d864
|
修复前端StopDevices功能:添加批量停止设备支持、状态管理和UI优化
|
5 months ago |
hyh
|
d8d02f91a6
|
feat: 添加运行时状态数组参数支持从前端传入过滤条件
- 在GetProtocolLogsByDeviceQuery中添加RuntimeStatuses参数
- 修改查询处理器使用前端传入的运行时状态数组
- 更新控制器API端点支持runtimeStatuses查询参数
- 优化协议日志查询的过滤灵活性
- 更新修改记录文档
|
5 months ago |
hyh
|
cb73f9dad7
|
StartNetworkAsync 修复请求参数问题
|
5 months ago |
hyh
|
7c9ae692fa
|
plmn 处理
|
5 months ago |
root
|
d5a29552ee
|
修复WebSocket依赖注入顺序问题 - 将IProtocolLogObserver注册移到ProtocolMessageHandler之前,确保依赖关系正确解析
|
5 months ago |
hyh
|
64bf038013
|
修复StartDeviceRuntimeCommandHandler中网络启动返回值记录问题
- 修复StartDeviceRuntimeCommandHandler中网络启动返回值记录问题
- 记录StartNetworkAsync方法的返回值,准确判断网络启动结果
- 根据返回值进行条件分支处理,区分成功和失败状态
- 增强错误处理,提供更精确的成功/失败统计
- 更新修改记录文档
|
5 months ago |
hyh
|
c95ccf6592
|
feat: 优化设备运行时启动逻辑和网络配置处理
|
5 months ago |
hyh
|
ad63fb315e
|
test GetNetworkStackConfigsByCodesAsync 问题
|
5 months ago |
root
|
bcfec713c9
|
更新WebUI组件和页面,优化设备运行时管理功能
|
5 months ago |
hyh
|
68a1c4202a
|
feat: 调整设备运行时管理路由位置并更新权限配置
- 将设备运行时管理路由从独立路由调整为放在 instruments 路由内部
- 更新菜单配置,将设备运行时管理菜单项移动到仪表管理下面
- 在 AuthContext.tsx 的 getDefaultPermissions 函数中添加设备运行时管理权限
- 更新路由路径:/dashboard/instruments/device-runtimes/list
- 更新菜单路径:仪表管理 -> 运行时状态
- 添加 deviceruntimes.view 和 deviceruntimes.manage 权限
- 更新 modify.md 记录所有修改内容
|
5 months ago |
hyh
|
6a6de78986
|
feat: 修复设备搜索和获取方法,添加DeviceCode搜索支持和运行时状态
- 修复SearchDevicesWithRuntimeAsync方法,添加DeviceCode搜索支持
- 为GetDeviceById添加运行时状态支持,新增GetDeviceByIdWithRuntimeAsync方法
- 统一所有设备搜索方法,确保支持按设备编码搜索
- 更新查询处理器,返回设备运行时状态信息
- 完善导航属性查询,正确处理CellularDevice和CellularDeviceRuntime的一对一关系
|
5 months ago |
root
|
47d9a8bf0a
|
feat: 优化网络栈配置查询性能并修复PostgreSQL语法
1. 性能优化:
- 使用原生SQL JOIN查询替代N+1查询问题
- 添加NetworkStackConfigWithBindingNamesDto用于扁平化查询结果
- 优化GetNetworkStackConfigById和SearchNetworkStackConfigs查询
2. PostgreSQL语法修复:
- 修复表名和列名使用双引号包围
- 修复参数占位符语法(@p0, @p1等)
- 修复分页语法(LIMIT/OFFSET)
- 移除SQL Server特有的[Index]语法
3. 前端界面优化:
- 显示NetworkStackCode、RanName、CoreNetworkConfigNames、IMSConfigNames
- 优化表格列显示和搜索功能
4. 设备管理优化:
- SerialNumber改为DeviceCode显示
- 更新相关查询处理器和前端组件
5. 仓储层重构:
- 添加ExecuteSqlQueryAsync泛型方法
- 移除泛型约束where TResult : class
- 优化参数传递方式
|
5 months ago |