Commit 802b022a by 赵剑炜

1

parent 66541c73
......@@ -303,11 +303,6 @@
Elasticsearch配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.RateLimitConfig">
<summary>
AspNetCoreRateLimit配置
......@@ -358,36 +353,6 @@
全局路由模板
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.IsEnabled">
<summary>
是否启用
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.AppId">
<summary>
AppId
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.MetaServer">
<summary>
MetaServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.ConfigServer">
<summary>
ConfigServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.Env">
<summary>
Env
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.CapConfig">
<summary>
Cap分布式事务配置
......
//-----------------------------------------------------------------------
// <Copyright>
// * Copyright (C) 2022 Admin All Rights Reserved
// </Copyright>
//-----------------------------------------------------------------------
using Admin.Net.Common.Class.Excel;
using Junmp.Platform.Common.Utility;
using System;
using System.Collections.Generic;
using System.Reflection;
namespace Admin.Net.Common.Class.Extensions
{
/// <summary>
/// List导出拓展类
/// </summary>
public static class ListExport
{
/// <summary>
/// 导出字典集
/// </summary>
/// <typeparam name="T">数据类型</typeparam>
/// <param name="list">集合</param>
/// <returns>字典集</returns>
public static List<Dictionary<String, Object>> Export<T>(this List<T> list)
{
var dictionaryList = new List<Dictionary<String, Object>>();
foreach (var item in list)//遍历集合
{
var dictionary = new Dictionary<String, Object>();
var properties = item.GetType().GetProperties();//获得元素属性
foreach (var property in properties)//遍历元素的属性
{
if (!property.IsDefined(typeof(ExcelExportAttribute), false))
{
continue;
}
var attributes = property.GetCustomAttributes();//获得元素Custom Attribute
foreach (var attribute in attributes)//遍历元素的Custom Attribute
{
if (attribute.GetType().Equals(typeof(ExcelExportAttribute)))
{
var fieldName = ((ExcelExportAttribute)attribute).FieldName;//获得列名
var fieldValue = item.GetType().GetProperty(property.Name).GetValue(item);//获得列值
var textEnum = ((ExcelExportAttribute)attribute).TextEnum;//获得类型枚举
if (!String.IsNullOrEmpty(textEnum))
{
Dictionary<String, String> dic = textEnum.ToDictionary();
if (dic.ContainsKey(fieldValue.ToString()))
{
fieldValue = dic[fieldValue.ToString()];
}
}
dictionary.Add(fieldName, fieldValue);//添加到字典
break;
}
}
}
dictionaryList.Add(dictionary);
}
return dictionaryList;
}
}
}
//-----------------------------------------------------------------------
// <Copyright>
// * Copyright (C) 2022 Admin All Rights Reserved
// </Copyright>
//-----------------------------------------------------------------------
using System.Collections.Generic;
namespace Admin.Net.Common.Class.Extensions
{
/// <summary>
/// list删除扩展
/// </summary>
public static class ListRemove
{
/// <summary>
/// list删除
/// </summary>
/// <typeparam name="T">泛型数据类型</typeparam>
/// <param name="list">数据集合</param>
/// <param name="arr">删除的数据集合</param>
/// <returns>集合</returns>
public static List<T> RemoveRange<T>(this List<T> list, List<T> arr)
{
foreach (var item in arr)
{
list.Remove(item);
}
return list;
}
}
}
......@@ -4,18 +4,38 @@
// </Copyright>
//-----------------------------------------------------------------------
using Admin.Net.Common.Class.Excel;
using AngleSharp.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
namespace Admin.Net.Common.Class.Extensions
{
/// <summary>
/// list排序扩展
/// list操作扩展
/// </summary>
public static class ListSort
{
/// <summary>
/// list删除
/// </summary>
/// <typeparam name="T">泛型数据类型</typeparam>
/// <param name="list">数据集合</param>
/// <param name="arr">删除的数据集合</param>
/// <returns>集合</returns>
public static List<T> RemoveRange<T>(this List<T> list, List<T> arr)
{
foreach (var item in arr)
{
list.Remove(item);
}
return list;
}
/// <summary>
/// List排序
/// </summary>
......@@ -54,5 +74,57 @@ namespace Admin.Net.Common.Class.Extensions
}
return list;
}
/// <summary>
/// 导出字典集
/// </summary>
/// <typeparam name="T">数据类型</typeparam>
/// <param name="list">集合</param>
/// <returns>字典集</returns>
public static List<Dictionary<String, Object>> Export<T>(this List<T> list)
{
var dictionaryList = new List<Dictionary<String, Object>>();
foreach (var item in list)//遍历集合
{
var dictionary = new Dictionary<String, Object>();
var properties = item.GetType().GetProperties();//获得元素属性
foreach (var property in properties)//遍历元素的属性
{
if (!property.IsDefined(typeof(ExcelExportAttribute), false))
{
continue;
}
var attributes = property.GetCustomAttributes();//获得元素Custom Attribute
foreach (var attribute in attributes)//遍历元素的Custom Attribute
{
if (attribute.GetType().Equals(typeof(ExcelExportAttribute)))
{
var fieldName = ((ExcelExportAttribute)attribute).FieldName;//获得列名
var fieldValue = item.GetType().GetProperty(property.Name).GetValue(item);//获得列值
var textEnum = ((ExcelExportAttribute)attribute).TextEnum;//获得类型枚举
if (!String.IsNullOrEmpty(textEnum))
{
Dictionary<String, String> dic = textEnum.ToDictionary();
if (dic.ContainsKey(fieldValue.ToString()))
{
fieldValue = dic[fieldValue.ToString()];
}
}
dictionary.Add(fieldName, fieldValue);//添加到字典
break;
}
}
}
dictionaryList.Add(dictionary);
}
return dictionaryList;
}
}
}
using RabbitMQ.Client.Events;
using RabbitMQ.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Junmp.Platform.Common.Class.RabbitMQ
{
/// <summary>
/// RabbitMQ 客户端定义。
/// </summary>
public class MqConfigInfo
{
private static ConnectionFactory? _factory;
public static ConnectionFactory GetFactory()
{
if (_factory == null)
{
ConnectionFactory factory = new ConnectionFactory();
factory.Uri = new Uri("amqp://guest:guest@127.0.0.1:5672/");
_factory = factory;
}
return _factory;
}
}
}
......@@ -110,10 +110,6 @@ namespace Junmp.Platform.Common.Global
/// </summary>
public static ElasticsearchConfig ElasticsearchConfig { get; set; }
/// <summary>
/// Apollo客户端配置
/// </summary>
public static ApolloConfig ApolloConfig { get; set; }
/// <summary>
/// AspNetCoreRateLimit配置
......
//-----------------------------------------------------------------------
// <Copyright>
// * Copyright (C) 2022 Admin All Rights Reserved
// </Copyright>
//-----------------------------------------------------------------------
using System;
namespace Junmp.Platform.Common.Global
{
/// <summary>
/// Apollo客户端配置
/// </summary>
public class ApolloConfig
{
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnabled { get; set; }
/// <summary>
/// AppId
/// </summary>
public String AppId { get; set; }
/// <summary>
/// MetaServer
/// </summary>
public String MetaServer { get; set; }
/// <summary>
/// ConfigServer
/// </summary>
public String[] ConfigServer { get; set; }
/// <summary>
/// Env
/// </summary>
public String Env { get; set; }
}
}
......@@ -303,11 +303,6 @@
Elasticsearch配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.RateLimitConfig">
<summary>
AspNetCoreRateLimit配置
......@@ -358,36 +353,6 @@
全局路由模板
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.IsEnabled">
<summary>
是否启用
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.AppId">
<summary>
AppId
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.MetaServer">
<summary>
MetaServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.ConfigServer">
<summary>
ConfigServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.Env">
<summary>
Env
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.CapConfig">
<summary>
Cap分布式事务配置
......
c37ca836ad7f1bbd701c8bde186367514188ef9f
6d6d313e235cde70fe58917405145a3de68e068d
......@@ -303,11 +303,6 @@
Elasticsearch配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.RateLimitConfig">
<summary>
AspNetCoreRateLimit配置
......@@ -358,36 +353,6 @@
全局路由模板
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.IsEnabled">
<summary>
是否启用
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.AppId">
<summary>
AppId
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.MetaServer">
<summary>
MetaServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.ConfigServer">
<summary>
ConfigServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.Env">
<summary>
Env
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.CapConfig">
<summary>
Cap分布式事务配置
......
......@@ -303,11 +303,6 @@
Elasticsearch配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.RateLimitConfig">
<summary>
AspNetCoreRateLimit配置
......@@ -358,36 +353,6 @@
全局路由模板
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.IsEnabled">
<summary>
是否启用
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.AppId">
<summary>
AppId
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.MetaServer">
<summary>
MetaServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.ConfigServer">
<summary>
ConfigServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.Env">
<summary>
Env
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.CapConfig">
<summary>
Cap分布式事务配置
......
......@@ -303,11 +303,6 @@
Elasticsearch配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.RateLimitConfig">
<summary>
AspNetCoreRateLimit配置
......@@ -358,36 +353,6 @@
全局路由模板
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.IsEnabled">
<summary>
是否启用
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.AppId">
<summary>
AppId
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.MetaServer">
<summary>
MetaServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.ConfigServer">
<summary>
ConfigServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.Env">
<summary>
Env
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.CapConfig">
<summary>
Cap分布式事务配置
......
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Junmp.Platform.Common.Class.Exceptions;
using Junmp.Platform.Common.Global;
using Admin.Net.WebApi.AppCode.AuthorizationFilter;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
namespace Admin.Net.WebApi.Controllers.CoreControllers
{
[ActionAuthorization]
[ApiController]
[Route(AdminGlobalContext.RouteTemplate)]
public class AdminApolloController : ControllerBase
{
/// <summary>
/// 输出实例
/// </summary>
private readonly ILogger<AdminApolloController> logger;
/// <summary>
/// 全局配置
/// </summary>
private readonly IConfiguration configuration;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="logger">输出实例</param>
/// <param name="configuration">全局配置</param>
public AdminApolloController(ILogger<AdminApolloController> logger, IConfiguration configuration)
{
this.logger = logger;
this.configuration = configuration;
}
/// <summary>
/// 获取
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
[HttpGet]
public IActionResult Get(string key)
{
if (string.IsNullOrWhiteSpace(key))
{
throw new CustomException("key can not be empty");
}
var value = configuration[key];
if (string.IsNullOrWhiteSpace(value))
{
throw new CustomException("value is null");
}
logger.LogInformation($"Apollo:{key},{value}");
return Ok(value);
}
}
}
......@@ -188,30 +188,6 @@
<param name="userName">用户名</param>
<returns>JwtSecurityToken</returns>
</member>
<member name="F:Admin.Net.WebApi.Controllers.CoreControllers.AdminApolloController.logger">
<summary>
输出实例
</summary>
</member>
<member name="F:Admin.Net.WebApi.Controllers.CoreControllers.AdminApolloController.configuration">
<summary>
全局配置
</summary>
</member>
<member name="M:Admin.Net.WebApi.Controllers.CoreControllers.AdminApolloController.#ctor(Microsoft.Extensions.Logging.ILogger{Admin.Net.WebApi.Controllers.CoreControllers.AdminApolloController},Microsoft.Extensions.Configuration.IConfiguration)">
<summary>
构造函数
</summary>
<param name="logger">输出实例</param>
<param name="configuration">全局配置</param>
</member>
<member name="M:Admin.Net.WebApi.Controllers.CoreControllers.AdminApolloController.Get(System.String)">
<summary>
获取
</summary>
<param name="key"></param>
<returns></returns>
</member>
<member name="F:Admin.Net.WebApi.Controllers.CoreControllers.AdminCaptchaController.lazyCaptcha">
<summary>
Lazy.Captcha接口实例
......
......@@ -65,17 +65,6 @@ namespace Admin.Net.WebApi
#endregion
#region 注册Apollo客户端配置
var apolloSection = config.Build().GetSection("ApolloConfig");
var apolloConfig = apolloSection.Get<ApolloConfig>();
if (apolloConfig.IsEnabled)
{
LogManager.UseConsoleLogging(LogLevel.Trace);
config.AddApollo(apolloSection).AddDefault();
}
#endregion
#region 注册AspNetCoreRateLimit组件配置
......
......@@ -443,7 +443,6 @@ namespace Admin.Net.WebApi
AdminGlobalContext.SystemConfig = Configuration.GetSection("SystemConfig").Get<SystemConfig>();
AdminGlobalContext.Configuration = Configuration;
AdminGlobalContext.RedisConfig = Configuration.GetSection("RedisConfig").Get<RedisConfig>();
AdminGlobalContext.LogConfig = Configuration.GetSection("LogConfig").Get<LogConfig>();
AdminGlobalContext.MailConfig = Configuration.GetSection("MailConfig").Get<MailConfig>();
AdminGlobalContext.DirectoryConfig = Configuration.GetSection("DirectoryConfig").Get<DirectoryConfig>();
......@@ -458,7 +457,6 @@ namespace Admin.Net.WebApi
AdminGlobalContext.RabbitMQConfig = Configuration.GetSection("RabbitMQConfig").Get<RabbitMQConfig>();
AdminGlobalContext.MongoDBConfig = Configuration.GetSection("MongoDBConfig").Get<MongoDBConfig>();
AdminGlobalContext.ElasticsearchConfig = Configuration.GetSection("ElasticsearchConfig").Get<ElasticsearchConfig>();
AdminGlobalContext.ApolloConfig = Configuration.GetSection("ApolloConfig").Get<ApolloConfig>();
AdminGlobalContext.RateLimitConfig = Configuration.GetSection("RateLimitConfig").Get<RateLimitConfig>();
AdminGlobalContext.MiniProfilerConfig = Configuration.GetSection("MiniProfilerConfig").Get<MiniProfilerConfig>();
AdminGlobalContext.CapConfig = Configuration.GetSection("CapConfig").Get<CapConfig>();
......
......@@ -303,11 +303,6 @@
Elasticsearch配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.AdminGlobalContext.RateLimitConfig">
<summary>
AspNetCoreRateLimit配置
......@@ -358,36 +353,6 @@
全局路由模板
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.ApolloConfig">
<summary>
Apollo客户端配置
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.IsEnabled">
<summary>
是否启用
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.AppId">
<summary>
AppId
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.MetaServer">
<summary>
MetaServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.ConfigServer">
<summary>
ConfigServer
</summary>
</member>
<member name="P:Junmp.Platform.Common.Global.ApolloConfig.Env">
<summary>
Env
</summary>
</member>
<member name="T:Junmp.Platform.Common.Global.CapConfig">
<summary>
Cap分布式事务配置
......
......@@ -188,30 +188,6 @@
<param name="userName">用户名</param>
<returns>JwtSecurityToken</returns>
</member>
<member name="F:Admin.Net.WebApi.Controllers.CoreControllers.AdminApolloController.logger">
<summary>
输出实例
</summary>
</member>
<member name="F:Admin.Net.WebApi.Controllers.CoreControllers.AdminApolloController.configuration">
<summary>
全局配置
</summary>
</member>
<member name="M:Admin.Net.WebApi.Controllers.CoreControllers.AdminApolloController.#ctor(Microsoft.Extensions.Logging.ILogger{Admin.Net.WebApi.Controllers.CoreControllers.AdminApolloController},Microsoft.Extensions.Configuration.IConfiguration)">
<summary>
构造函数
</summary>
<param name="logger">输出实例</param>
<param name="configuration">全局配置</param>
</member>
<member name="M:Admin.Net.WebApi.Controllers.CoreControllers.AdminApolloController.Get(System.String)">
<summary>
获取
</summary>
<param name="key"></param>
<returns></returns>
</member>
<member name="F:Admin.Net.WebApi.Controllers.CoreControllers.AdminCaptchaController.lazyCaptcha">
<summary>
Lazy.Captcha接口实例
......
d3c6f590ff6c04d9032170c8ed98dd6363b3130b
d725892c7b534fd631efe4b61d840480f484ff1b
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论