Browse Source

云鼎鉴权

qianyi
shanji 3 years ago
parent
commit
fc4d9c5332
  1. 98
      BBWY.Server.API/Startup.cs
  2. 5
      BBWY.Server.Business/Sync/AfterSaleOrderSyncBusiness.cs
  3. 3
      BBWY.Server.Business/Sync/BaseSyncBusiness.cs
  4. 5
      BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdGroupLevelSyncBusiness.cs
  5. 5
      BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdLevelSyncBusiness.cs
  6. 6
      BBWY.Server.Business/Sync/JD/JDPopularizeReportFormCampaignLevelSyncBusiness.cs
  7. 6
      BBWY.Server.Business/Sync/JD/JDPopularizeReportFormOrderLevelSyncBusiness.cs
  8. 6
      BBWY.Server.Business/Sync/JD/JDPopularizeReportFormSkuLevelSyncBusiness.cs
  9. 6
      BBWY.Server.Business/Sync/JD/JDPopularizeSyncBusiness.cs
  10. 6
      BBWY.Server.Business/Sync/OrderSyncBusiness.cs
  11. 6
      BBWY.Server.Business/Sync/ProductSyncBusiness.cs
  12. 2
      BBWY.Server.Business/TestBusiness.cs
  13. 2
      BBWY.Server.Business/Vender/VenderBusiness.cs
  14. 3
      JD.API/Controllers/PlatformSDKController.cs
  15. 8
      JD.API/Filters/YunDingFilter.cs
  16. 1
      JD.API/Startup.cs
  17. 2
      JD.API/appsettings.json

98
BBWY.Server.API/Startup.cs

@ -88,61 +88,61 @@ namespace BBWY.Server.API
services.Configure<GlobalConfig>(Configuration.GetSection("GlobalSetting"));
services.AddMapper(new MappingProfiles());
//services.AddSwaggerGen(c =>
//{
// c.SwaggerDoc("v1", new OpenApiInfo
// {
// Version = "v1.0.0",
// Title = "步步为盈API",
// Description = "注意事项\r\n1.返回参数名称采用大驼峰命名\r\n2.ApiResponse为基础返回对象(Code,Data,Message),接口中所有的返回值均属于Data属性\r\n3.正常返回Code=200"
// });
// // JWT认证
// //c.AddSecurityDefinition(JwtBearerDefaults.AuthenticationScheme, new OpenApiSecurityScheme
// //{
// // Scheme = JwtBearerDefaults.AuthenticationScheme,
// // BearerFormat = "JWT",
// // Type = SecuritySchemeType.ApiKey,
// // Name = "Authorization",
// // In = ParameterLocation.Header,
// // Description = "Authorization:Bearer {your JWT token}<br/>",
// //});
// //c.AddSecurityRequirement(new OpenApiSecurityRequirement
// // {
// // {
// // new OpenApiSecurityScheme{Reference = new OpenApiReference
// // {
// // Type = ReferenceType.SecurityScheme,
// // Id = JwtBearerDefaults.AuthenticationScheme
// // }
// // },
// // new string[] { }
// // }
// // });
// var executingAssembly = Assembly.GetExecutingAssembly();
// var assemblyNames = executingAssembly.GetReferencedAssemblies().Union(new AssemblyName[] { executingAssembly.GetName() }).ToArray();
// Array.ForEach(assemblyNames, (assemblyName) =>
// {
// //var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
// var xmlFile = $"{assemblyName.Name}.xml";
// var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
// if (!File.Exists(xmlPath))
// return;
// c.IncludeXmlComments(xmlPath, true);
// });
//});
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Version = "v1.0.0",
Title = "步步为盈API",
Description = "注意事项\r\n1.返回参数名称采用大驼峰命名\r\n2.ApiResponse为基础返回对象(Code,Data,Message),接口中所有的返回值均属于Data属性\r\n3.正常返回Code=200"
});
// JWT认证
//c.AddSecurityDefinition(JwtBearerDefaults.AuthenticationScheme, new OpenApiSecurityScheme
//{
// Scheme = JwtBearerDefaults.AuthenticationScheme,
// BearerFormat = "JWT",
// Type = SecuritySchemeType.ApiKey,
// Name = "Authorization",
// In = ParameterLocation.Header,
// Description = "Authorization:Bearer {your JWT token}<br/>",
//});
//c.AddSecurityRequirement(new OpenApiSecurityRequirement
// {
// {
// new OpenApiSecurityScheme{Reference = new OpenApiReference
// {
// Type = ReferenceType.SecurityScheme,
// Id = JwtBearerDefaults.AuthenticationScheme
// }
// },
// new string[] { }
// }
// });
var executingAssembly = Assembly.GetExecutingAssembly();
var assemblyNames = executingAssembly.GetReferencedAssemblies().Union(new AssemblyName[] { executingAssembly.GetName() }).ToArray();
Array.ForEach(assemblyNames, (assemblyName) =>
{
//var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlFile = $"{assemblyName.Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
if (!File.Exists(xmlPath))
return;
c.IncludeXmlComments(xmlPath, true);
});
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env,YunDingBusiness yunDingBusiness)
{
yunDingBusiness.RefreshKey();
//app.UseSwagger(c => c.SerializeAsV2 = true)
// .UseSwaggerUI(c =>
// {
// c.SwaggerEndpoint("/swagger/v1/swagger.json", "BBWY API");
// c.RoutePrefix = string.Empty;
// });
app.UseSwagger(c => c.SerializeAsV2 = true)
.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "BBWY API");
c.RoutePrefix = string.Empty;
});
//if (env.IsDevelopment())
//{

5
BBWY.Server.Business/Sync/AfterSaleOrderSyncBusiness.cs

@ -31,13 +31,14 @@ namespace BBWY.Server.Business
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService,
VenderBusiness venderBusiness,YunDingBusiness yunDingBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
venderBusiness,
yunDingBusiness)
{
syncAfterSaleOrderMethodDic = new Dictionary<Enums.Platform, Action<JArray, ShopResponse>>()
{

3
BBWY.Server.Business/Sync/BaseSyncBusiness.cs

@ -21,7 +21,8 @@ namespace BBWY.Server.Business
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService, options)
VenderBusiness venderBusiness,
YunDingBusiness yunDingBusiness) : base(restApiService, options, yunDingBusiness)
{
this.logger = logger;
this.fsql = fsql;

5
BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdGroupLevelSyncBusiness.cs

@ -26,13 +26,14 @@ namespace BBWY.Server.Business.Sync
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService,
VenderBusiness venderBusiness,YunDingBusiness yunDingBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
venderBusiness,
yunDingBusiness)
{
}

5
BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdLevelSyncBusiness.cs

@ -26,13 +26,14 @@ namespace BBWY.Server.Business.Sync
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService,
VenderBusiness venderBusiness, YunDingBusiness yunDingBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
venderBusiness,
yunDingBusiness)
{
}

6
BBWY.Server.Business/Sync/JD/JDPopularizeReportFormCampaignLevelSyncBusiness.cs

@ -25,13 +25,15 @@ namespace BBWY.Server.Business.Sync
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService,
VenderBusiness venderBusiness,
YunDingBusiness yunDingBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
venderBusiness,
yunDingBusiness)
{
}

6
BBWY.Server.Business/Sync/JD/JDPopularizeReportFormOrderLevelSyncBusiness.cs

@ -26,13 +26,15 @@ namespace BBWY.Server.Business.Sync
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService,
VenderBusiness venderBusiness,
YunDingBusiness yunDingBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
venderBusiness,
yunDingBusiness)
{
}

6
BBWY.Server.Business/Sync/JD/JDPopularizeReportFormSkuLevelSyncBusiness.cs

@ -25,13 +25,15 @@ namespace BBWY.Server.Business.Sync
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService,
VenderBusiness venderBusiness,
YunDingBusiness yunDingBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
venderBusiness,
yunDingBusiness)
{
}

6
BBWY.Server.Business/Sync/JD/JDPopularizeSyncBusiness.cs

@ -27,13 +27,15 @@ namespace BBWY.Server.Business.Sync
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService,
VenderBusiness venderBusiness,
YunDingBusiness yunDingBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
venderBusiness,
yunDingBusiness)
{
}

6
BBWY.Server.Business/Sync/OrderSyncBusiness.cs

@ -33,13 +33,15 @@ namespace BBWY.Server.Business
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness,
IMemoryCache memoryCache) : base(restApiService,
IMemoryCache memoryCache,
YunDingBusiness yunDingBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
venderBusiness,
yunDingBusiness)
{
this.memoryCache = memoryCache;
syncOrderMethodDic = new Dictionary<Enums.Platform, Action<JArray, long, string, string, string, string, decimal>>()

6
BBWY.Server.Business/Sync/ProductSyncBusiness.cs

@ -26,13 +26,15 @@ namespace BBWY.Server.Business.Sync
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness,
ProductBusiness productBusiness) : base(restApiService,
ProductBusiness productBusiness,
YunDingBusiness yunDingBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
venderBusiness,
yunDingBusiness)
{
this.productBusiness = productBusiness;
}

2
BBWY.Server.Business/TestBusiness.cs

@ -15,7 +15,7 @@ namespace BBWY.Server.Business
public TestBusiness(RestApiService restApiService,
IOptions<GlobalConfig> options,
FreeSqlMultiDBManager freeSqlMultiDBManager,
VenderBusiness venderBusiness) : base(restApiService, options)
VenderBusiness venderBusiness,YunDingBusiness yunDingBusiness) : base(restApiService, options, yunDingBusiness)
{
this.freeSqlMultiDBManager = freeSqlMultiDBManager;
this.venderBusiness = venderBusiness;

2
BBWY.Server.Business/Vender/VenderBusiness.cs

@ -22,7 +22,7 @@ namespace BBWY.Server.Business
public VenderBusiness(FreeSqlMultiDBManager freeSqlMultiDBManager,
RestApiService restApiService,
IOptions<GlobalConfig> options,
IIdGenerator idGenerator) : base(restApiService, options)
IIdGenerator idGenerator,YunDingBusiness yunDingBusiness) : base(restApiService, options, yunDingBusiness)
{
this.freeSqlMultiDBManager = freeSqlMultiDBManager;
this.idGenerator = idGenerator;

3
JD.API/Controllers/PlatformSDKController.cs

@ -16,6 +16,7 @@ namespace JD.API.API.Controllers
[Produces("application/json")]
[Route("Api/[Controller]/[Action]")]
[ApiController]
[ServiceFilter(typeof(YunDingFilter))]
public class PlatformSDKController : ControllerBase
{
private IEnumerable<PlatformSDKBusiness> platformSDKBusinessList;
@ -242,7 +243,7 @@ namespace JD.API.API.Controllers
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDSopularizeReportFormByAdGroupLevel(request);
}
/// <summary>
/// 查询JD推广报表-订单维度
/// </summary>

8
JD.API/Filters/YunDingFilterAttribute.cs → JD.API/Filters/YunDingFilter.cs

@ -7,13 +7,13 @@ using Microsoft.Extensions.Primitives;
namespace JD.API.Filters
{
public class YunDingFilterAttribute : ActionFilterAttribute
public class YunDingFilter : ActionFilterAttribute
{
private IConfiguration configuration;
private YunDingBusiness yunDingBusiness;
public YunDingFilterAttribute(IConfiguration configuration, YunDingBusiness yunDingBusiness)
public YunDingFilter(IConfiguration configuration, YunDingBusiness yunDingBusiness)
{
this.configuration = configuration;
this.yunDingBusiness = yunDingBusiness;
@ -30,10 +30,10 @@ namespace JD.API.Filters
if (platform == Enums.Platform.)
{
if (!context.HttpContext.Request.Headers.TryGetValue("YunDingKey", out StringValues yundingKey))
throw new BusinessException("YunDingKey获取失败");
throw new BusinessException("身份验证失败");
if (yunDingBusiness.GetKey() != yundingKey.ToString())
throw new BusinessException("YunDingKey验证失败");
throw new BusinessException("身份验证失败");
}
}
}

1
JD.API/Startup.cs

@ -62,6 +62,7 @@ namespace JD.API
//setupAction.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Include;
//setupAction.SerializerSettings.DefaultValueHandling = Newtonsoft.Json.DefaultValueHandling.Include;
});
services.AddSingleton<YunDingFilter>();
services.AddSingleton<RestApiService>();
services.AddSingleton<PlatformSDKBusiness, JDBusiness>();
services.AddSingleton<PlatformSDKBusiness, _1688Business>();

2
JD.API/appsettings.json

@ -9,7 +9,7 @@
"ConnectionStrings": {
"DB": "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=bbwy_test;charset=utf8;sslmode=none;",
},
"IsEnableSwagger": false,
"IsEnableSwagger": true,
"AllowedHosts": "*",
"ValidatePlatformKey": 1
}

Loading…
Cancel
Save