| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 清除所有路由缓存(入口和出口类型) |
| | | /// </summary> |
| | | public void ClearRouterCache() |
| | | { |
| | | _cacheService.Remove("Router:AllRouters:In"); |
| | | _cacheService.Remove("Router:AllRouters:Out"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据起点/当前位置、终点获取下一个子节点。 |
| | | /// </summary> |
| | | /// <param name="startPosi">起点/当前位置。</param> |
| | |
| | | // 返回去重后的位置列表 |
| | | return positions.GroupBy(x => x).Select(x => x.Key).ToList(); |
| | | } |
| | | catch |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | ConsoleHelper.WriteErrorLine($"RouterService.QueryAllPositions 查询失败: {ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | |
| | | |
| | | // 添加新的路由信息 |
| | | BaseDal.AddData(routers); |
| | | |
| | | // 重新查询全量路由(此时才包含新增的路由),再写入缓存 |
| | | List<Dt_Router> updatedRouters = BaseDal.QueryData(x => x.InOutType == routerType); |
| | | string cacheKey = $"Router:AllRouters:{(routerType == RouterInOutType.In.ObjToInt() ? "In" : "Out")}"; |
| | | |
| | | try |
| | | { |
| | | _cacheService.AddOrUpdate(cacheKey, updatedRouters); |
| | | } |
| | | catch |
| | | { |
| | | // 缓存更新失败时静默忽略,下次查询会从DB自动重建缓存 |
| | | } |
| | | |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |