😎同步升级
This commit is contained in:
parent
729e1776d9
commit
11f2eac522
@ -18,18 +18,18 @@
|
||||
<PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
|
||||
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
|
||||
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.14.3" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.4.2" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.4.2" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.4.2" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.4.3" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.4.3" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.4.3" />
|
||||
<PackageReference Include="IPTools.China" Version="1.6.0" />
|
||||
<PackageReference Include="IPTools.International" Version="1.6.0" />
|
||||
<PackageReference Include="Magicodes.IE.Excel" Version="2.7.5.1" />
|
||||
<PackageReference Include="Magicodes.IE.Pdf" Version="2.7.5.1" />
|
||||
<PackageReference Include="Magicodes.IE.Word" Version="2.7.5.1" />
|
||||
<PackageReference Include="MailKit" Version="4.6.0" />
|
||||
<PackageReference Include="NewLife.Redis" Version="5.7.2024.602" />
|
||||
<PackageReference Include="MailKit" Version="4.7.0" />
|
||||
<PackageReference Include="NewLife.Redis" Version="5.7.2024.701" />
|
||||
<PackageReference Include="Novell.Directory.Ldap.NETStandard" Version="3.6.0" />
|
||||
<PackageReference Include="QRCoder" Version="1.5.1" />
|
||||
<PackageReference Include="QRCoder" Version="1.6.0" />
|
||||
<PackageReference Include="RabbitMQ.Client" Version="6.8.1" />
|
||||
<PackageReference Include="SixLabors.ImageSharp.Web" Version="3.1.2" />
|
||||
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.3.0" />
|
||||
@ -37,7 +37,7 @@
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.160" />
|
||||
<PackageReference Include="SSH.NET" Version="2024.0.0" />
|
||||
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.2" />
|
||||
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1036" />
|
||||
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1037" />
|
||||
<PackageReference Include="UAParser" Version="3.1.47" />
|
||||
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
|
||||
</ItemGroup>
|
||||
|
||||
@ -167,6 +167,13 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
|
||||
|
||||
new SysMenu{ Id=1310000000431, Pid=1310000000301, Title="系统配置", Path="/platform/infoSetting", Name="sysInfoSetting", Component="/system/infoSetting/index", Icon="ele-Setting", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=220 },
|
||||
|
||||
new SysMenu{ Id=1310000000441, Pid=1310000000301, Title="微信支付", Path="/platform/wechatpay", Name="sysWechatPay", Component="/system/weChatPay/index", Icon="ele-Coin", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=230 },
|
||||
new SysMenu{ Id=1310000000442, Pid=1310000000441, Title="微信支付下单Native", Permission="sysWechatPay:payTransactionNative", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
|
||||
new SysMenu{ Id=1310000000443, Pid=1310000000441, Title="查询退款信息", Permission="sysWechatPay:listRefund", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
|
||||
new SysMenu{ Id=1310000000444, Pid=1310000000441, Title="获取支付订单详情(本地库)", Permission="sysWechatPay:payInfo", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
|
||||
new SysMenu{ Id=1310000000445, Pid=1310000000441, Title="获取支付订单详情(微信接口)", Permission="sysWechatPay:payInfoFromWechat", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
|
||||
new SysMenu{ Id=1310000000446, Pid=1310000000441, Title="退款申请", Permission="sysWechatPay:refundDomestic", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
|
||||
|
||||
new SysMenu{ Id=1310000000501, Pid=0, Title="日志管理", Path="/log", Name="log", Component="Layout", Icon="ele-DocumentCopy", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=12000 },
|
||||
new SysMenu{ Id=1310000000511, Pid=1310000000501, Title="访问日志", Path="/log/vislog", Name="sysVisLog", Component="/system/log/vislog/index", Icon="ele-Document", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
|
||||
new SysMenu{ Id=1310000000512, Pid=1310000000511, Title="查询", Permission="sysVislog:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
|
||||
|
||||
@ -64,33 +64,6 @@ public class SysFileService : IDynamicApiController, ITransient
|
||||
return await HandleUploadFile(input.File, input.Path, fileType: input.FileType);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传文件Base64
|
||||
/// </summary>
|
||||
/// <param name="strBase64"></param>
|
||||
/// <param name="fileName"></param>
|
||||
/// <param name="contentType"></param>
|
||||
/// <param name="path"></param>
|
||||
/// <param name="fileType"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<SysFile> UploadFileFromBase64(string strBase64, string fileName, string contentType, string? path, string? fileType)
|
||||
{
|
||||
byte[] fileData = Convert.FromBase64String(strBase64);
|
||||
var ms = new MemoryStream();
|
||||
ms.Write(fileData);
|
||||
ms.Seek(0, SeekOrigin.Begin);
|
||||
if (string.IsNullOrEmpty(fileName))
|
||||
fileName = $"{YitIdHelper.NextId()}.jpg";
|
||||
if (string.IsNullOrEmpty(contentType))
|
||||
contentType = "image/jpg";
|
||||
IFormFile formFile = new FormFile(ms, 0, fileData.Length, "file", fileName)
|
||||
{
|
||||
Headers = new HeaderDictionary(),
|
||||
ContentType = contentType
|
||||
};
|
||||
return await UploadFile(new FileUploadInput { File = formFile, Path = path, FileType = fileType });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传文件Base64 🔖
|
||||
/// </summary>
|
||||
@ -99,7 +72,20 @@ public class SysFileService : IDynamicApiController, ITransient
|
||||
[DisplayName("上传文件Base64")]
|
||||
public async Task<SysFile> UploadFileFromBase64(UploadFileFromBase64Input input)
|
||||
{
|
||||
return await UploadFileFromBase64(input.FileDataBase64, input.FileName, input.ContentType, input.Path, input.FileType);
|
||||
byte[] fileData = Convert.FromBase64String(input.FileDataBase64);
|
||||
var ms = new MemoryStream();
|
||||
ms.Write(fileData);
|
||||
ms.Seek(0, SeekOrigin.Begin);
|
||||
if (string.IsNullOrEmpty(input.FileName))
|
||||
input.FileName = $"{YitIdHelper.NextId()}.jpg";
|
||||
if (string.IsNullOrEmpty(input.ContentType))
|
||||
input.ContentType = "image/jpg";
|
||||
IFormFile formFile = new FormFile(ms, 0, fileData.Length, "file", input.FileName)
|
||||
{
|
||||
Headers = new HeaderDictionary(),
|
||||
ContentType = input.ContentType
|
||||
};
|
||||
return await UploadFile(new FileUploadInput { File = formFile, Path = input.Path, FileType = input.FileType });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -335,7 +321,7 @@ public class SysFileService : IDynamicApiController, ITransient
|
||||
|
||||
// 获取文件后缀
|
||||
var suffix = Path.GetExtension(file.FileName).ToLower(); // 后缀
|
||||
if (string.IsNullOrWhiteSpace(suffix))
|
||||
if (!string.IsNullOrWhiteSpace(suffix))
|
||||
{
|
||||
var contentTypeProvider = FS.GetFileExtensionContentTypeProvider();
|
||||
suffix = contentTypeProvider.Mappings.FirstOrDefault(u => u.Value == file.ContentType).Key;
|
||||
|
||||
@ -51,7 +51,7 @@ public class JobClusterServer : IJobClusterServer
|
||||
|
||||
try
|
||||
{
|
||||
ICache _cache = App.GetRequiredService<ICache>();
|
||||
ICache _cache = App.GetRequiredService<ICacheProvider>().Cache;
|
||||
// 使用分布式锁
|
||||
using (_cache.AcquireLock("lock:JobClusterServer:WaitingForAsync", 1000))
|
||||
{
|
||||
|
||||
@ -38,6 +38,7 @@ public class @(@Model.ClassName)Service : IDynamicApiController, ITransient
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiDescriptionSettings(Name = "Page")]
|
||||
[DisplayName("分页查询@(@Model.BusName)")]
|
||||
public async Task<SqlSugarPagedList<@(@Model.ClassName)Output>> Page(@(@Model.ClassName)Input input)
|
||||
{
|
||||
@if (haveLikeCdt) {
|
||||
@ -120,6 +121,7 @@ if (@column.QueryWhether == "Y"){
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiDescriptionSettings(Name = "Add")]
|
||||
[DisplayName("增加@(@Model.BusName)")]
|
||||
public async Task<long> Add(Add@(@Model.ClassName)Input input)
|
||||
{
|
||||
var entity = input.Adapt<@(@Model.ClassName)>();
|
||||
@ -134,6 +136,7 @@ if (@column.QueryWhether == "Y"){
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiDescriptionSettings(Name = "Delete")]
|
||||
[DisplayName("删除@(@Model.BusName)")]
|
||||
public async Task Delete(Delete@(@Model.ClassName)Input input)
|
||||
{
|
||||
@foreach (var column in Model.TableField){
|
||||
@ -152,6 +155,7 @@ if (@column.ColumnKey == "True"){
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiDescriptionSettings(Name = "Update")]
|
||||
[DisplayName("更新@(@Model.BusName)")]
|
||||
public async Task Update(Update@(@Model.ClassName)Input input)
|
||||
{
|
||||
var entity = input.Adapt<@(@Model.ClassName)>();
|
||||
@ -165,6 +169,7 @@ if (@column.ColumnKey == "True"){
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[ApiDescriptionSettings(Name = "Detail")]
|
||||
[DisplayName("获取@(@Model.BusName)")]
|
||||
public async Task<@(@Model.ClassName)> Detail([FromQuery] QueryById@(@Model.ClassName)Input input)
|
||||
{
|
||||
@foreach (var column in Model.TableField){
|
||||
@ -181,6 +186,7 @@ if (@column.ColumnKey == "True"){
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[ApiDescriptionSettings(Name = "List")]
|
||||
[DisplayName("获取@(@Model.BusName)列表")]
|
||||
public async Task<List<@(@Model.ClassName)Output>> List([FromQuery] @(@Model.ClassName)Input input)
|
||||
{
|
||||
return await _rep.AsQueryable().Select<@(@Model.ClassName)Output>().ToListAsync();
|
||||
@ -193,6 +199,7 @@ if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || column.Quer
|
||||
@:/// </summary>
|
||||
@:/// <returns></returns>
|
||||
@:[ApiDescriptionSettings(Name = "@(@column.FkEntityName)@(@column.PropertyName)Dropdown"), HttpGet]
|
||||
@:[DisplayName("获取@(@column.ColumnComment)列表")]
|
||||
@:public async Task<dynamic> @(@column.FkEntityName)@(@column.PropertyName)Dropdown()
|
||||
@:{
|
||||
@:return await _rep.Context.Queryable<@(@column.FkEntityName)>()
|
||||
@ -214,6 +221,7 @@ if(@column.EffectType == "Upload"){
|
||||
@:/// <param name="file"></param>
|
||||
@:/// <returns></returns>
|
||||
@:[ApiDescriptionSettings(Name = "Upload@(@column.PropertyName)"), HttpPost]
|
||||
@:[DisplayName("上传@(@column.ColumnComment)")]
|
||||
@:public async Task<SysFile> Upload@(@column.PropertyName)([Required] IFormFile file)
|
||||
@:{
|
||||
@:var service = App.GetRequiredService<SysFileService>();
|
||||
@ -227,6 +235,7 @@ if(@column.EffectType == "Upload"){
|
||||
if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("@(@column.FkEntityName)Tree")){
|
||||
@{definedObjects.Add("@(@column.FkEntityName)Tree", 1);}
|
||||
@:[HttpGet("@(@column.FkEntityName)Tree")]
|
||||
@:[DisplayName("获取@(@column.FkEntityName)Tree")]
|
||||
@:public async Task<dynamic> @(@column.FkEntityName)Tree()
|
||||
@:{
|
||||
@:return await _rep.Context.Queryable<@(@column.FkEntityName)>().ToTreeAsync(u => u.Children, u => u.@(@column.PidColumn), 0);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@{
|
||||
@{
|
||||
var pkField = Model.TableField.Where(c => c.ColumnKey == "True").FirstOrDefault();
|
||||
string pkFieldName = null;
|
||||
if(pkField != null && !string.IsNullOrEmpty(pkField.PropertyName))
|
||||
@ -192,7 +192,7 @@
|
||||
v-model:page-size="tableParams.pageSize"
|
||||
:total="tableParams.total"
|
||||
:page-sizes="[10, 20, 50, 100, 200, 500]"
|
||||
small=""
|
||||
size="small"
|
||||
background=""
|
||||
@@size-change="handleSizeChange"
|
||||
@@current-change="handleCurrentChange"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user