diff --git a/src/EoaServer.Application/Common/Provider/AElfScanDataProvider.cs b/src/EoaServer.Application/Common/Provider/AElfScanDataProvider.cs index 57c8658..c2f186d 100644 --- a/src/EoaServer.Application/Common/Provider/AElfScanDataProvider.cs +++ b/src/EoaServer.Application/Common/Provider/AElfScanDataProvider.cs @@ -1,4 +1,6 @@ +using System; using System.Threading.Tasks; +using AElf.ExceptionHandler; using EoaServer.Commons; using EoaServer.Options; using EoaServer.Token; @@ -7,8 +9,10 @@ using EoaServer.UserAssets; using EoaServer.UserAssets.Dtos; using EoaServer.UserAssets.Provider; +using Google.Protobuf.WellKnownTypes; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; +using Orleans.Providers; using Volo.Abp.Application.Dtos; using Volo.Abp.DependencyInjection; @@ -32,6 +36,7 @@ public AElfScanDataProvider(IHttpClientProvider httpClientProvider, _logger = logger; } + [ExceptionHandler(typeof(Exception), Message = "GetTokenListAsync Error", LogOnly = true)] public async Task> GetTokenListAsync(string chainId, string search) { var url = _aelfScanOptions.BaseUrl + "/" + CommonConstant.AelfScanTokenListApi; @@ -40,6 +45,7 @@ public async Task> GetTokenListAsync(string chai return chainTokenList; } + [ExceptionHandler(typeof(Exception), Message = "GetAddressTokenAssetsAsync Error", LogOnly = true)] public async Task GetAddressTokenAssetsAsync(string chainId, string address) { var url = _aelfScanOptions.BaseUrl + "/" + CommonConstant.AelfScanUserTokenAssetsApi; @@ -48,6 +54,7 @@ public async Task GetAddressTokenAssetsAsync(strin return chainTokenList; } + [ExceptionHandler(typeof(Exception), Message = "GetAddressNftListAsync Error", LogOnly = true)] public async Task GetAddressNftListAsync(string chainId, string address) { var url = _aelfScanOptions.BaseUrl + "/" + CommonConstant.AelfScanUserNFTAssetsApi; @@ -56,6 +63,7 @@ public async Task GetAddressNftListAsync(string chai return chainTokenList; } + [ExceptionHandler(typeof(Exception), Message = "GetTransactionDetailAsync Error", LogOnly = true)] public async Task GetTransactionDetailAsync(string chainId, string transactionId) { var url = _aelfScanOptions.BaseUrl + "/" + CommonConstant.AelfScanTransactionDetailApi; @@ -64,6 +72,7 @@ public async Task GetTransactionDetailAsync(string return txnDto; } + [ExceptionHandler(typeof(Exception), Message = "GetAddressTransactionsAsync Error", LogOnly = true)] public async Task GetAddressTransactionsAsync(string chainId, string address, int skipCount, int maxResultCount) { var baseUrl = _aelfScanOptions.BaseUrl; @@ -77,6 +86,7 @@ public async Task GetAddressTransactionsAsync(string ch return response; } + [ExceptionHandler(typeof(Exception), Message = "GetAddressTransactionsAsync Error", LogOnly = true)] public async Task GetAddressTransfersAsync(string chainId, string address, int tokenType, int skipCount, int maxResultCount, string symbol) { @@ -91,6 +101,7 @@ public async Task GetAddressTransfersAsync(string chai return await _httpClientProvider.GetDataAsync(nftTransfersUrl); } + [ExceptionHandler(typeof(Exception), Message = "GetIndexerTokenInfoAsync Error", LogOnly = true)] public async Task GetIndexerTokenInfoAsync(string chainId, string symbol) { var url = _aelfScanOptions.BaseUrl + "/" + CommonConstant.AelfScanTokenInfoApi; diff --git a/src/EoaServer.Application/Common/Provider/HttpClientProvider.cs b/src/EoaServer.Application/Common/Provider/HttpClientProvider.cs index 1833e00..14ce65e 100644 --- a/src/EoaServer.Application/Common/Provider/HttpClientProvider.cs +++ b/src/EoaServer.Application/Common/Provider/HttpClientProvider.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -41,14 +42,16 @@ public async Task GetAsync(string url, Dictionary headers) var response = await client.GetStringAsync(url); return JsonConvert.DeserializeObject(response); } - - public async Task GetDataAsync(string url) + + public async Task GetDataAsync(string url, int timeout = 1000) { - var response = await _httpClientFactory.CreateClient().GetStringAsync(url); + var client = _httpClientFactory.CreateClient(); + client.Timeout = new TimeSpan(0, 0, 0, 0, timeout); + var response = await client.GetStringAsync(url); var json = JObject.Parse(response); return json["data"].ToObject(); } - + public async Task GetAsync(string url, IDictionary headers) { if (headers == null) diff --git a/src/EoaServer.Application/Common/Provider/IHttpClientProvider.cs b/src/EoaServer.Application/Common/Provider/IHttpClientProvider.cs index 600eb62..44dfe3f 100644 --- a/src/EoaServer.Application/Common/Provider/IHttpClientProvider.cs +++ b/src/EoaServer.Application/Common/Provider/IHttpClientProvider.cs @@ -7,7 +7,7 @@ public interface IHttpClientProvider { Task GetAsync(string url); Task GetAsync(string url, Dictionary headers); - Task GetDataAsync(string url); + Task GetDataAsync(string url, int timeout = 1000); Task PostAsync(string url); Task PostAsync(string url, object paramObj); Task PostAsync(string url, object paramObj, Dictionary headers); diff --git a/src/EoaServer.Application/EoaServer.Application.csproj b/src/EoaServer.Application/EoaServer.Application.csproj index 497d044..ef1e638 100644 --- a/src/EoaServer.Application/EoaServer.Application.csproj +++ b/src/EoaServer.Application/EoaServer.Application.csproj @@ -31,6 +31,7 @@ + diff --git a/src/EoaServer.Application/UserActivity/UserActivityAppService.cs b/src/EoaServer.Application/UserActivity/UserActivityAppService.cs index 6834b24..1b7c416 100644 --- a/src/EoaServer.Application/UserActivity/UserActivityAppService.cs +++ b/src/EoaServer.Application/UserActivity/UserActivityAppService.cs @@ -128,6 +128,10 @@ public async Task GetActivitiesAsync(GetActivitiesRequestDto r } txnChainMap[txn.TransactionId] = txn.ChainIds[0]; var txnDetail = await _aelfScanDataProvider.GetTransactionDetailAsync(txn.ChainIds[0], txn.TransactionId); + if (txnDetail == null) + { + _logger.LogError($"Get transaction detail error. ChainId: {txn.ChainIds[0]}, TransactionId: {txn.TransactionId}"); + } return txnDetail; }).ToList(); diff --git a/src/EoaServer.HttpApi.Host/appsettings.json b/src/EoaServer.HttpApi.Host/appsettings.json index 00c0dc3..c030acd 100755 --- a/src/EoaServer.HttpApi.Host/appsettings.json +++ b/src/EoaServer.HttpApi.Host/appsettings.json @@ -9,9 +9,9 @@ "Configuration": "127.0.0.1" }, "AuthServer": { - "Authority": "http://127.0.0.1:8080", + "Authority": "https://auth-aa-portkey-test.portkey.finance", "RequireHttpsMetadata": "false", - "SwaggerClientId": "EoaServer_App" + "SwaggerClientId": "CAServer_App" }, "StringEncryption": { "DefaultPassPhrase": "gaMgs0gtsqpYZUTn" diff --git a/src/EoaServer.Silo/appsettings.apollo.json b/src/EoaServer.Silo/appsettings.apollo.json index f0b81ff..b1c4e2f 100644 --- a/src/EoaServer.Silo/appsettings.apollo.json +++ b/src/EoaServer.Silo/appsettings.apollo.json @@ -10,5 +10,5 @@ "Timeout": 5000, "StartupTimeout": 30000 }, - "IsApolloEnabled": true + "IsApolloEnabled": false } \ No newline at end of file diff --git a/src/EoaServer.Silo/appsettings.json b/src/EoaServer.Silo/appsettings.json index 2379ba6..9a98abe 100644 --- a/src/EoaServer.Silo/appsettings.json +++ b/src/EoaServer.Silo/appsettings.json @@ -1,6 +1,6 @@ { "Orleans": { - "IsRunningInKubernetes": true, + "IsRunningInKubernetes": false, "ClusterId": "EoaServerSiloCluster", "ServiceId": "EoaServerOrleansBasicService", "AdvertisedIP": "127.0.0.1",