Commit Graph

249 Commits

Author SHA1 Message Date
anjoy8
0d967086d9 🉑 feat: add request access etc. log 2023-06-21 17:35:13 +08:00
LemonNoCry
bb0150e96a
🎨 不关闭底层流 2023-06-19 16:43:29 +08:00
LemonNoCry
a338c56e7a
🎨 优化吞异常问题、优化HttpResponse Body读取问题
1.处理掉中间件过度try catch 吞掉异常,建议直接往上抛不要过度try
2.优雅处理HttpResponse读取问题,原生[HttpResponseStream]实际上只是个包装类,内部包装了[HttpResponsePipeWriter]来进行写入响应数据,由此封装一个[FluentHttpResponseStream],内部扩展使用[MemoryStream]来读取
2023-06-12 17:45:15 +08:00
LemonNoCry
60cade83d4
🎨 优化AOP缓存 2023-06-12 11:16:45 +08:00
anjoy8
6e182954c4 Merge branch 'master' into feature/cache 2023-06-10 12:04:20 +08:00
LemonNoCry
04d3cd4865
⬆️ 升级SqlSugar依赖 5.1.3.49 -> 5.1.4.83
优化Aop Sql日志记录
原有的UtilMethods.GetSqlString 有较大的性能影响,参数越多影响越大
使用最新的建议的 UtilMethods.GetNativeSql

参考 https://www.donet5.com/home/doc?masterId=1&typeId=1204
2023-06-10 11:59:11 +08:00
LemonNoCry
7013471466
🐛 优化一个已知的DynamicLambda解析错误
在双引号后又空格会解析错误
2023-06-10 11:53:35 +08:00
LemonNoCry
7629527ee9
🎨 缓存的完善优化
1.统一封装基于微软分布式缓存接口IDistributedCache使用
2.IDistributedCache只适合普通的缓存使用,如果要使用redis队列、订阅redis消息等,就要使用redis原生库
3.增加缓存管理接口[Systems/CacheManageController]
4.目前支持内存、redis缓存实现,理论可随意扩展甚至自定义实现
5.默认使用内存缓存,可在appsetting.json中配置Redis

切换到IDistributedCache好处如下
默认session使用IDistributedCache进行存储,如果你搭配使用IDistributedCache+外部缓存(如Redis),可实现应用程序重启session不丢失
更直观就是,调试的时候登录swagger后即使重启调试也无需在登陆
2023-06-01 17:54:54 +08:00
LemonNoCry
1c700fd90d
优化多次解析Token重复添加Claims 2023-05-26 15:20:26 +08:00
LemonNoCry
0cea9672b5
优化Swagger
1.swagger登录可以用用户账号登录,如果登录成功 token存在session中 之前默认admin感觉没什么用 当然也可以扩展User 加个字段是否开发者帐户等类似的
2.优化权限校验 优先读取Header->没有读取Session 中token解析用户
2023-05-24 11:19:36 +08:00
ansonzhang
a979d36461
Update NumberConverter.cs 2023-05-21 19:23:01 +08:00
ansonzhang
f0bbf06c47
Update SqlsugarAop.cs 2023-05-21 18:22:28 +08:00
LemonNoCry
e9f1ef5c01
增加数据库管理 2023-05-11 18:07:02 +08:00
anjoy8
8183be9d58 feat: change maindb sort 2023-05-08 16:55:41 +08:00
LemonNoCry
48a4adcd37
优化Http日志,记录RequestBody 2023-05-06 09:47:20 +08:00
anjoy8
8662047671 feat: new user login 2023-05-05 18:11:24 +08:00
LemonNoCry
50a936bdeb 增加IOption配置
原有AppSetting 手写字符串去读取,极容易出错,扩展性也低:如果要修改或者增加值 就要到处都写
保留AppSetting基础上增加IOption方便读取配置,可反序列对象

增加IConfigurableOptions接口
可参考SeqOptions配置
配置文件名为Option或Options结尾,匹配时会忽略Option或Options

SeqOptions->对应 AppSetting中Seq节点

可直接在控制器中注入使用 参考ValuesController
 private readonly SeqOptions _seqOptions;
cto(IOptions<SeqOptions> seqOptions){
    _seqOptions = seqOptions.Value;
}
2023-04-22 11:10:30 +08:00
LemonNoCry
7b8d60d9d0 优化Http消息模版 增加亿些附加属性 2023-04-14 11:20:10 +08:00
anjoy8
cf97167537 Update DBSeed.cs 2023-04-08 20:33:42 +08:00
anjoy8
d96149d653 Merge branch 'master' into feat/serilog 2023-04-08 17:37:48 +08:00
LemonNoCry
7c4b76aeea Serilog log to db 2023-04-06 22:40:05 +08:00
anjoy8
070e441bc0 feat: 🉑 change api param 2023-04-02 15:16:37 +08:00
LemonNoCry
0d2a95e0e9 初步调整Serilog 2023-04-01 23:25:56 +08:00
Lemon.NoCry
f785d50770 🎨 优化雪花id使用 2023-04-01 21:29:34 +08:00
hudingwen
0ed67675a6 权限分配保存逻辑优化
sqlsugarAop逻辑完善
2023-03-31 22:04:40 +08:00
anjoy8
d1f4ed1b15 Merge branch 'pr/339' into feat/id_long 2023-03-30 16:23:38 +08:00
anjoy8
7b1f3a4c74 feat: ✈️ change id to long 2023-03-30 15:49:30 +08:00
Nine
67efee3ee1 Sqlsugar 分表 CRUD demo 2023-03-30 15:38:17 +08:00
ansonzhang
77bd073d3f
Merge pull request #336 from hudingwen/master
调度服务添加日志子表方便查询
2023-02-28 18:35:17 +08:00
hudingwen
56082ca0ec 主要优化
1.添加调度日志子表
2.添加调度日志查询
3.添加调度日志折线图查询
4.完善调度按循环次数执行任务完成后不自动结束任务导致下次启动项目会重复执行调度任务
2023-02-27 20:34:57 +08:00
anjoy8
1f1525640c Fixed #334 BUG 2023-02-25 14:02:29 +08:00
Lemon.NoCry
bd484137a6 🎨 完美优雅的处理多租户-分表方案
1.扩展原有的MultiTenantAttribute 标识多库、多表
2.扩展原有的种子数据生成 用于多表的种子数据
3.巧妙优雅使用Sqlsugar表映射 解决多租户分表问题,原有代码无需改动 登录用户如果是租户用户自动切换到租户分表

目前来看(如果想要升级业务 扩展SAAS)
多表方案:代码侵入最小
id方案:侵入最大,需要增加列
多库方案:相对少

如果是从0到1 最推荐多库
如果是从0.5到1 最推荐多表
2023-02-21 01:50:51 +08:00
Lemon.NoCry
d85087cbdb 🎨 多租户完善
1.完善多租户-多库方案
2.增加租户管理 (实际业务中 也是运维、系统管理员等角色来操作 甚至直接维护数据库而不会开放接口)
2023-02-18 20:58:43 +08:00
Lemon.NoCry
296201998d 🎨 增加多租户-分库方案
1.自动初始化维护租户库
2.多租户库种子数据维护

分库方案 TenantByDbController
2023-02-18 01:17:19 +08:00
anjoy8
1cc3ef25fa Update DynamicLinqFactory.cs 2023-02-14 22:14:41 +08:00
ansonzhang
a1cfe663a9
Merge branch 'master' into feature/multi-tenant 2023-02-14 21:21:47 +08:00
Lemon.NoCry
71e0f4a7fe 完善优化动态表达式
1.支持一对多导航属性
2.支持混合查询

测试代码看 DynamicLambdaTest
每次修改,都会验证通过测试
2023-02-13 19:23:16 +08:00
anjoy8
0228aed85f Update RepositorySetting.cs 2023-02-12 00:06:39 +08:00
ansonzhang
552d94beb8
Update DBSeed.cs 2023-02-11 23:39:44 +08:00
anjoy8
822e2ebd1f Update DBSeed.cs 2023-02-07 10:39:00 +08:00
Lemon.NoCry
151e7fc0ab 🎨 多租户
1.兼容使用多租户多种方案
2.增加系统租户表、用户增加租户id、新增一张业务表用于租户测试数据
3.TenantByIdController 租户使用
2023-02-07 00:27:55 +08:00
Lemon.NoCry
60653a383d  增加种子数据接口、增加常用方法 2023-02-07 00:00:05 +08:00
anjoy8
316adaa367 feat: add SerilogServer_Es.cs 2023-02-05 21:50:46 +08:00
anjoy8
d0b3cfe805 feat: add ExpressionExtensions_Nacos.cs 2023-02-05 18:40:35 +08:00
anjoy8
569e968c82 feat: add ExpressionExtensions.cs 2023-02-05 17:25:46 +08:00
anjoy8
a30f184996 feat: add authing sso 2023-01-29 16:19:30 +08:00
Nine
aeae9bc362 日志审计加入TraceId,链路ID用于查询整个请求所有相关日志,HttpContext.TraceIdentifier 属性(获取或设置一个唯一标识符,用于在跟踪日志中表示此请求。)
目前sql打印的没有加入和计划调度的没有添加TraceId
2022-11-24 14:12:19 +08:00
Nine
e03f93b29b 增加实体表GblLogAudit,结构化日志记录 LogType 系统内定义的五种审计日志AOPLog、RequestResponseLog、RequestIpInfoLog、RequestResponseLog、RecordAccessLogs
DataType : 记录日志的数据类型Blog.Core.Common.LogHelper.AOPLogInfo......
配置文件修改,删除“LogToDb”配置节点
LogAOP、SqlAOP、RequestResponseLog、IPLog、RecordAccessLogs增加都增加两个开关
“LogToFile”和“LogToDB”,用于分别单独控制每个日志类型记录文件还是数据库,还是同时都记录
可以采取环境变量读取不同appsettings.json 进行不同环境记录日志不同
我目前主要采取开发环境双边记录,日志和数据库,Production生产环境只记录数据库
2022-11-07 12:22:18 +08:00
Nine
afd20399d4 修改Appsettings 驼峰命名规范为AppSettings,增加sqlsugar model 定义表字段注释示例在Blog.Core.Model.Models.SysUserInfo 2022-10-11 14:10:28 +08:00
ansonzhang
36d7037b01
Merge pull request #297 from hudingwen/master
PR
2022-09-19 19:34:26 +08:00