From 78a743d6b7d705a404d02a5039a050e80ae30d25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com>
Date: Wed, 2 Aug 2023 18:43:11 +0800
Subject: [PATCH] =?UTF-8?q?:sparkles:=E5=A4=9A=E8=AF=AD=E8=A8=80=E8=AE=BE?=
=?UTF-8?q?=E7=BD=AE=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=85=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../System/CommonLangController.cs | 61 +++++++++++++++++-
.../wwwroot/ImportTemplate/lang.xlsx | Bin 0 -> 11606 bytes
ZR.Admin.WebApi/wwwroot/data.xlsx | Bin 36741 -> 36802 bytes
ZR.Service/System/CommonLangService.cs | 34 ++++++++--
.../System/IService/ICommonLangService.cs | 3 +
5 files changed, 90 insertions(+), 8 deletions(-)
create mode 100644 ZR.Admin.WebApi/wwwroot/ImportTemplate/lang.xlsx
diff --git a/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs b/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs
index 7e3680d..092546c 100644
--- a/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs
+++ b/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs
@@ -1,8 +1,10 @@
using Infrastructure.Extensions;
using Microsoft.AspNetCore.Mvc;
+using MiniExcelLibs;
using ZR.Admin.WebApi.Filters;
using ZR.Model;
using ZR.Model.Dto;
+using ZR.Model.Models;
using ZR.Service.System.IService;
namespace ZR.Admin.WebApi.Controllers
@@ -128,6 +130,25 @@ namespace ZR.Admin.WebApi.Controllers
return ToResponse(response);
}
+ ///
+ /// 删除多语言配置
+ ///
+ ///
+ [HttpDelete("ByKey")]
+ [ActionPermissionFilter(Permission = "system:lang:delete")]
+ [Log(Title = "多语言配置", BusinessType = BusinessType.DELETE)]
+ public IActionResult DeleteCommonLangByKey(string langkey)
+ {
+ if (langkey.IsEmpty()) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
+
+ var response = _CommonLangService
+ .Deleteable()
+ .EnableDiffLogEvent()
+ .Where(f => f.LangKey == langkey)
+ .ExecuteCommand();
+ return ToResponse(response);
+ }
+
///
/// 导出多语言配置
///
@@ -138,11 +159,49 @@ namespace ZR.Admin.WebApi.Controllers
public IActionResult Export([FromQuery] CommonLangQueryDto parm)
{
parm.PageSize = 10000;
- var list = _CommonLangService.GetList(parm).Result;
+ var list = _CommonLangService.GetListToPivot(parm);
string sFileName = ExportExcel(list, "CommonLang", "多语言配置");
return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName });
}
+ ///
+ /// 导入
+ ///
+ ///
+ ///
+ [HttpPost("importData")]
+ [Log(Title = "多语言设置导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)]
+ [ActionPermissionFilter(Permission = "system:lang:import")]
+ public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile)
+ {
+ List list = new();
+ using (var stream = formFile.OpenReadStream())
+ {
+ var rows = stream.Query(startCell: "A2").ToList();
+
+ foreach (var item in rows)
+ {
+ list.Add(new CommonLang() { LangCode = "zh-cn", LangKey = item.A, LangName = item.B, Addtime = DateTime.Now });
+ list.Add(new CommonLang() { LangCode = "en", LangKey = item.A, LangName = item.C, Addtime = DateTime.Now });
+ list.Add(new CommonLang() { LangCode = "zh-tw", LangKey = item.A, LangName = item.D, Addtime = DateTime.Now });
+ }
+ }
+
+ return SUCCESS(_CommonLangService.ImportCommonLang(list));
+ }
+
+ ///
+ /// 多语言设置导入模板下载
+ ///
+ ///
+ [HttpGet("importTemplate")]
+ [Log(Title = "多语言设置模板", BusinessType = BusinessType.EXPORT, IsSaveRequestData = true, IsSaveResponseData = false)]
+ [AllowAnonymous]
+ public IActionResult ImportTemplateExcel()
+ {
+ var result = DownloadImportTemplate(new List() { }, "lang");
+ return ExportExcel(result.Item2, result.Item1);
+ }
}
}
\ No newline at end of file
diff --git a/ZR.Admin.WebApi/wwwroot/ImportTemplate/lang.xlsx b/ZR.Admin.WebApi/wwwroot/ImportTemplate/lang.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..66de938a4192cc1f0ce12767040fe0b575bc143b
GIT binary patch
literal 11606
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
literal 0
HcmV?d00001
diff --git a/ZR.Admin.WebApi/wwwroot/data.xlsx b/ZR.Admin.WebApi/wwwroot/data.xlsx
index bb86189eb1078bb9dc81ba0f53b1866c987f02ac..a35adecce86a5ef7a3240256db5e3aed156bf033 100644
GIT binary patch
delta 7332
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¨6Yr?yrj
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
Ot{+2#vK#V0)c*sI(ZyW=
delta 7241
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
public PagedInfo GetList(CommonLangQueryDto parm)
{
- //开始拼装查询条件
var predicate = Expressionable.Create();
- //搜索条件查询语法参考Sqlsugar
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangCode), it => it.LangCode == parm.LangCode);
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangKey), it => it.LangKey.Contains(parm.LangKey));
predicate = predicate.AndIF(parm.BeginAddtime != null, it => it.Addtime >= parm.BeginAddtime && it.Addtime <= parm.EndAddtime);
@@ -49,10 +46,8 @@ namespace ZR.Service.System
///
public dynamic GetListToPivot(CommonLangQueryDto parm)
{
- //开始拼装查询条件
var predicate = Expressionable.Create();
- //搜索条件查询语法参考Sqlsugar
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangCode), it => it.LangCode == parm.LangCode);
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangKey), it => it.LangKey.Contains(parm.LangKey));
predicate = predicate.AndIF(parm.BeginAddtime != null, it => it.Addtime >= parm.BeginAddtime && it.Addtime <= parm.EndAddtime);
@@ -64,10 +59,8 @@ namespace ZR.Service.System
public List GetLangList(CommonLangQueryDto parm)
{
- //开始拼装查询条件
var predicate = Expressionable.Create();
- //搜索条件查询语法参考Sqlsugar
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangCode), it => it.LangCode == parm.LangCode);
//predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangKey), it => it.LangKey.Contains(parm.LangKey));
var response = Queryable()
@@ -110,6 +103,33 @@ namespace ZR.Service.System
}
return dic;
}
+
+ ///
+ /// 导入多语言设置
+ ///
+ ///
+ public (string, object, object) ImportCommonLang(List list)
+ {
+ var x = Storageable(list)
+ .WhereColumns(it => new { it.LangKey, it.LangCode })
+ .ToStorage();
+ x.AsInsertable.ExecuteReturnSnowflakeIdList();//插入可插入部分;
+ x.AsUpdateable.UpdateColumns(it => new { it.LangName }).ExecuteCommand();
+
+ string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}";
+
+ //输出错误信息
+ foreach (var item in x.ErrorList)
+ {
+ Console.WriteLine("错误" + item.StorageMessage);
+ }
+ foreach (var item in x.IgnoreList)
+ {
+ Console.WriteLine("忽略" + item.StorageMessage);
+ }
+
+ return (msg, x.ErrorList, x.IgnoreList);
+ }
#endregion
}
}
\ No newline at end of file
diff --git a/ZR.Service/System/IService/ICommonLangService.cs b/ZR.Service/System/IService/ICommonLangService.cs
index b8a3f5f..5af554a 100644
--- a/ZR.Service/System/IService/ICommonLangService.cs
+++ b/ZR.Service/System/IService/ICommonLangService.cs
@@ -3,6 +3,7 @@ using ZR.Model;
using ZR.Model.Dto;
using ZR.Model.Models;
using System.Collections.Generic;
+using JinianNet.JNTemplate;
namespace ZR.Service.System.IService
{
@@ -19,5 +20,7 @@ namespace ZR.Service.System.IService
dynamic GetListToPivot(CommonLangQueryDto parm);
void StorageCommonLang(CommonLangDto parm);
Dictionary SetLang(List msgList);
+
+ (string, object, object) ImportCommonLang(List list);
}
}