diff --git a/idwms/admin.json b/idwms/admin.json index ffdf853..1b44bc4 100644 --- a/idwms/admin.json +++ b/idwms/admin.json @@ -1,38 +1,91 @@ { "App": { - "Urls": ["http://+:5281"], - "CorsOrigins": [ - "https://ideship.com", - "http://localhost:5173" + "Urls": [ + "http://*:5281" ], - "SendStartupNotification": false + "CorsOrigins": [ + "http://localhost:5281", "http://api.nanafa.com/admin" + ] }, + "AllowedHosts": "*", "ConnectionStrings": { - "Default": "Server=mysql;Port=3306;Database=oms;Uid=root;Pwd=${MYSQL_ROOT_PASSWORD};CharSet=utf8mb4;" + "Default": "server=129.204.22.146;database=fake_simple_admin;uid=dev;pwd=itd!@#123;charset=utf8mb4;", + "Rbac": "server=129.204.22.146;database=fake_simple_admin;uid=dev;pwd=itd!@#123;charset=utf8mb4;" }, - "Jwt": { - "SecretKey": "${JWT_SECRET_KEY}", - "Issuer": "SimpleAdmin.Api", - "Audience": "SimpleAdmin.Api", - "ExpiryInMinutes": "480", - "RefreshExpiryInDays": "7", - "ClockSkewMinutes": "5" + "Redis": { + "Host": "129.204.22.146:6379", + "Password": "itd!@#123", + "MaxPoolSize": 1000, + "Database": 0, + "Prefix": "" }, - "JwtSettings": { - "SecretKey": "${JWT_SECRET_KEY}", - "Issuer": "SimpleAdmin.Api", - "Audience": "SimpleAdmin.Api", - "ExpiryInMinutes": "480", - "RefreshExpiryInDays": "7", - "ClockSkewMinutes": "5" + "RabbitMQ": { + "Connections": { + "Default": { + "HostName": "129.204.22.146", + "Port": 5672, + "UserName": "rabbit", + "Password": "itd!@#123", + "DispatchConsumersAsync": true + } + }, + "EventBus": { + "QueueName": "OMS.Api", + "RetryCount": 5 + } }, - "FeiShuNotice": { - "Webhook": "", - "EnableFeiShuExceptionSubscribe": false + "OrderBatch": { + "RabbitMq": { + "Enabled": true, + "MaxRetryCount": 3 + } }, - "ElasticSearch": { - "Uri": "http://elasticsearch:9200", - "Username": "elastic", - "Password": "${ELASTIC_PASSWORD}" + "WeChat": { + "Mp": { + "AppId": "wxd5141ba46c856e1f", + "Secret": "379f51a89419dc36fbb9167feef6f89a", + "Token": "c6ca74013df823c0e1da0feaaaf8bf66", + "EncodingAesKey": "", + "OAuthRedirectBase": "https://oms.nanafa.com" + } + }, + "Oms": { + "TrackService": { + "Enabled": true, + "BaseUrl": "http://api.nanafa.com/track", + "AppKey": "W2606001", + "AppSecret": "ziK8UzlQ39m3kdL346XEBg8nljY8os52", + "TimeoutSeconds": 30 + }, + "Itfx": { + "BaseUrl": "http://api.nanafa.com/itfx", + "TimeoutSeconds": 30 + }, + "PlatformShop": { + "FrontendBaseUrl": "http://localhost:5173", + "Lazada": { + "AppKey": "123631", + "AppSecret": "7vBz2EaD6rIupeGEfwrgkabsTNsXt2ix", + "AuthorizeUrl": "https://auth.lazada.com/oauth/authorize", + "AccessTokenUrl": "https://auth.lazada.com/rest" + }, + "Shopee": { + "PartnerId": 2004112, + "PartnerKey": "2f385d7ea38b087d5d71f7292e06a09c9f19022ca6c3f60ec0110a8214ef7d65", + "HostUrl": "https://openplatform.shopee.cn", + "HostAuthUrl": "https://partner.shopeemobile.com" + }, + "Tiktok": { + "AppKey": "6hc64lc6vl312", + "AppSecret": "5a691a96ee6d844534769bab5c21de1f848fb678", + "HostAuth": "https://auth.tiktok-shops.com", + "HostApi": "https://open-api.tiktokglobalshop.com" + }, + "Temu": { + "AppKey": "4ebbc9190ae410443d65b4c2faca981f", + "AppSecret": "4782d2d827276688bf4758bed55dbdd4bbe79a79", + "HostAuthUrl": "https://openapi-b-us.temu.com/openapi/router" + } + } } -} +} \ No newline at end of file diff --git a/idwms/common.json b/idwms/common.json index 1d05e3f..ae8b12e 100644 --- a/idwms/common.json +++ b/idwms/common.json @@ -1,30 +1,61 @@ { - "Redis": { - "Host": "redis:6379", - "Password": "${REDIS_PASSWORD}", - "Database": 0, - "MaxPoolSize": 50, - "MinPoolSize": 1, - "IdleTimeout": 20000, - "ConnectTimeout": 5000 - }, - "RabbitMQ": { - "Connections": { - "Default": { - "HostName": "rabbitmq", - "Port": 5672, - "UserName": "oms", - "Password": "${RABBITMQ_DEFAULT_PASS}" - } - } + "App": { + "CorsOrigins": [ + "https://ideship.com" + ] }, "Serilog": { "MinimumLevel": { - "Default": "Information", + "Default": "Debug", "Override": { - "Microsoft": "Warning", - "Microsoft.AspNetCore": "Warning" + "Microsoft.AspNetCore": "Information" } - } + }, + "Enrich": [ + "FromLogContext", + "WithMachineName", + "WithProcessId", + "WithThreadId" + ], + "WriteTo": [ + { + "Name": "Async", + "Args": { + "configure": [ + { + "Name": "Console", + "Args": { + "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {SourceContext} - {Message:lj}{NewLine}{Exception}", + "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog" + } + }, + { + "Name": "FeiShu", + "Args": { + "outputTemplate": "{SourceContext} - {Message:lj}{NewLine}{Exception}", + "minimumLogLevel": "Error" + } + } + ] + } + } + ] + }, + "FeiShuNotice": { + "Webhook": "https://open.feishu.cn/open-apis/bot/v2/hook/94e24bce-619d-4b3b-936c-e206353ce802", + "BatchSize": 10, + "BatchIntervalSeconds": 10, + "EnableFeiShuExceptionSubscribe": true, + "Skip40X": false, + "WriteBody": true, + "WriteStack": true, + "MaxLength": 3000 + }, + "JwtSettings": { + "SecretKey": "YourSuperSecretKeyThatIsAtLeast32CharactersLong!", + "Issuer": "SimpleAdmin", + "Audience": "SimpleAdminClient", + "ExpiryInMinutes": 600, + "RefreshExpiryInDays": 7 } -} +} \ No newline at end of file diff --git a/idwms/itfxapi.json b/idwms/itfxapi.json index bc6e67c..8c6db9e 100644 --- a/idwms/itfxapi.json +++ b/idwms/itfxapi.json @@ -1,20 +1,49 @@ { + "Serilog": { + "Properties": { + "ServiceName": "interface-api" + } + }, + "AllowedHosts": "*", "App": { - "Urls": ["http://+:8888"], + "Urls": [ + "http://*:8888" + ], "CorsOrigins": [ - "https://ideship.com", - "http://localhost:5173" + "http://localhost:8888", "http://api.nanafa.com/itfx" ] }, - "ConnectionStrings": { - "Default": "Server=mysql;Port=3306;Database=itfx;Uid=root;Pwd=${MYSQL_ROOT_PASSWORD};CharSet=utf8mb4;" + "InterfaceRelay": { + "FailedNeedPush": ["A007", "A009", "A022", "A015"], + "ServiceProviderDefaultQPS": 10, + "SpinPeriod": 500 }, - "Jwt": { - "SecretKey": "${JWT_SECRET_KEY}", - "Issuer": "InterfaceForward.Api", - "Audience": "InterfaceForward.Api", - "ExpiryInMinutes": "480", - "RefreshExpiryInDays": "7", - "ClockSkewMinutes": "5" + "ConnectionStrings": { + "Default": "server=129.204.22.146;database=interface_forward;uid=dev;pwd=itd!@#123;charset=utf8mb4;" + }, + "Redis": { + "Host": "129.204.22.146:6379", + "Password": "itd!@#123", + "MaxPoolSize": 1000, + "Database": 0, + "Prefix": "" + }, + "RabbitMQ": { + "Connections": { + "Default": { + "HostName": "129.204.22.146", + "Port": 5672, + "UserName": "rabbit", + "Password": "itd!@#123", + "DispatchConsumersAsync": true + } + } + }, + "ElasticSearch": { + "NodeUrls": [ "http://129.204.22.146:9200" ], + "LoginName": "elastic", + "Password": "itd!@#123", + "ShowLogInfo": false, + "IndexPrefix": "" } } diff --git a/idwms/trackapi.json b/idwms/trackapi.json index 8aa6c17..82a58a3 100644 --- a/idwms/trackapi.json +++ b/idwms/trackapi.json @@ -1,20 +1,161 @@ { + "AllowedHosts": "*", "App": { - "Urls": ["http://+:8889"], + "Urls": [ + "http://*:8889" + ], "CorsOrigins": [ - "https://ideship.com", - "http://localhost:5173" + "http://localhost:8889" ] }, - "ConnectionStrings": { - "Default": "Server=mysql;Port=3306;Database=track;Uid=root;Pwd=${MYSQL_ROOT_PASSWORD};CharSet=utf8mb4;" + "TrackApp": { + "TrackRefreshFetchCount": 4, + "OrderPullStatusScanInterval": 60, + "TrackButtomUpScanInterval":600, + "WarningNotifyUrl": "http://xxxx", + "ItfxBaseAddress": "http://api.nanafa.com/itfx/", + "TrackPullTaskLevel": 0, + "TrackPullTaskMinuteInterval": 5 }, - "Jwt": { - "SecretKey": "${JWT_SECRET_KEY}", - "Issuer": "TrackCenter.Api", - "Audience": "TrackCenter.Api", - "ExpiryInMinutes": "480", - "RefreshExpiryInDays": "7", - "ClockSkewMinutes": "5" + "ConnectionStrings": { + "Default": "server=129.204.22.146;database=track_center;uid=dev;pwd=itd!@#123;charset=utf8mb4;" + }, + "Redis": { + "Host": "129.204.22.146:6379", + "Password": "itd!@#123", + "MaxPoolSize": 1000, + "Database": 1, + "Prefix": "" + }, + "RabbitMQ": { + "Connections": { + "Default": { + "HostName": "129.204.22.146", + "Port": 5672, + "UserName": "rabbit", + "Password": "itd!@#123", + "DispatchConsumersAsync": true + } + } + }, + "ElasticSearch": { + "NodeUrls": [ "http://129.204.22.146:9200" ], + "LoginName": "elastic", + "Password": "itd!@#123", + "ShowLogInfo": false, + "IndexPrefix": "" + }, + "Kafka": { + "BootstrapServers": "81.71.47.150:9092", + "Consumer": { + // 会话超时时间ms,超时时间未收到客户端心跳,则会移除该客户端同时触发自平衡 + "SessionTimeoutMs": 45000, + // 超过这个时间消息没有消费,则认为消费失败同时组也认为消费失败,触发自平衡给其他消费者 + "MaxPollIntervalMs": 300000, + // 心跳间隔ms + "HeartbeatIntervalMs": 3000, + // 提取消息的最小字节数1024*64, + "FetchMinBytes": 65536, + // 提取消息的最大字节数 + "FetchMaxBytes": 1048576, + // 等待填充Fetch的最大ms + "FetchWaitMaxMs": 3000 + }, + "Producer": { + // 发送重试次数 + "MessageSendMaxRetries": 3, + // 请求超时ms + "RequestTimeoutMs": 30000, + // 压缩类型 None/Gzip/Snappy/Lz4/Zstd + "CompressionType": "Lz4", + // Gzip 0-9 LZ4 0-12 数值越大压缩效果越好cpu占用越多 + "CompressionLevel": 6, + // 最多允许累计多少ms消息积压 + "LingerMs": 3000, + // 批处理最大尺寸 1024 * 256 字节 + "BatchSize": 262144, + // 批处理最大消息数 + "BatchNumMessages": 2000, + // 生产者队列最大消息数量 + "QueueBufferingMaxMessages": 100000, + // 生产者队列最大尺寸 + "QueueBufferingMaxKbytes": 1048576, + // 分区器 Random/Consistent/ConsistentRandom/Murmur2/Murmur2Random + "Partitioner": "ConsistentRandom" + } + }, + "CAP": { + "FailedRetryCount": 3, + "FailedRetryInterval": 60, + "FallbackWindowLookbackSeconds": 2400, + "PrefetchCount": 1, + "SucceedMessageExpiredAfter": 21600, + "EnableSubscriberParallelExecute": true, + "EnablePublishParallelSend" : false + }, + // 预警任务配置,优先级0最高,可选0,1,2 + "WarningTask": { + // 业务中台系统id + "MiddleSystemId": 9498, + // 预警计算批量大小 + "WarningCalcBatchSize": 1000, + // 预警计算间隔ms + "WarningCalcInterval": 60000, + // 预警计算最大重试次数 + "WarningCalcMaxRetryCount": 3, + // 通知任务优先级 + "ScanWarningNotifyTaskLevel": 1, + // 预警通知任务扫描间隔(小时) + "ScanWarningNotifyTaskHourInterval": 4, + // 回传预警最大重试次数 + "ReturnWarningMaxRetryCount": 3, + // 回传重试推送任务优先级 + "ScanReturnWarningRetryPushTaskLevel": 0, + // 回传重试推送任务扫描间隔(分钟) + "ScanReturnWarningRetryPushTaskMinuteInterval": 3, + // 预警明细生成任务优先级 + "ScanTransportWarningDetailsGenerateTaskLevel": 0, + // 预警明细生成任务扫描间隔(分钟) + "ScanTransportWarningDetailsGenerateTaskMinuteInterval": 5 + }, + "InterfaceRelayParamsConfig": { + "OrderPath": "", + "OrderNoName": "trackNo", + "TrackDetailsPath": "data", + "TrackContentCodeName": "code", + "TrackStatusName": "status", + "TrackContentName": "content", + "TrackPlaceName": "location", + "TrackUtcTimeName": "timeUtc", + "TrackIsoTimeName": "timeIso", + "TrackTimeName": "time", + "TrackTimeZoneName": "timezone", + "TrackExtraNames": "extra", + "GetTrackInterfaceCode": "getTrack", + "PushTrackInterfaceCode": "pushTrack", + "TrackUpdateInterfaceCode": "updateTrack", + "OrderPodPullInterfaceCode": "A059" + }, + "OTel": { + "ExporterUrl": "", + "ExporterTimeoutSeconds":10, //导出超时时间(秒) 默认 10秒 + "ServiceName": "TrackCenter.Api.Test",//服务名称 + "ServiceVersion": "1.0.0",//服务版本 + "SamplerType":"AlwaysOn",// 采样类型 默认 AlwaysOn + //枚举 + //0 AlwaysOn 总是采样 + //1 AlwaysOff 从不采样 + //2 TraceIdRatio 概率采样 与SamplerProbability 字段结合使用 + //3 ParentBasedSampler 与ChildBasedSampler 结合使用 + "SamplerProbability":0.5,// 采样率 10%上报采样 + "EnableStaticWeav":true,//启动静态编织 默认 true + "EnableAspNetCore": true,//启动AspNetCore 默认 true + "EnableHttpClient": true,//启用HTTP请求 默认 true + "EnableSql": true,//启动SQL 默认 true + "EnableSqlParameters": true //启动SQL参数,默认 false + }, + "SignatureValidation": { + "Enabled": true, // 是否启用签名验证 + "MaxTimestampOffset": 300 // 时间戳允许的最大偏差(秒),默认300秒(5分钟) } }