优化用户导入

This commit is contained in:
不做码农
2023-05-07 08:51:10 +08:00
parent 5a3e513a6b
commit 7cfa543865
5 changed files with 35 additions and 24 deletions

View File

@@ -170,7 +170,7 @@ namespace ZR.Admin.WebApi.Controllers
{
IWebHostEnvironment webHostEnvironment = (IWebHostEnvironment)App.ServiceProvider.GetService(typeof(IWebHostEnvironment));
string sFileName = $"{fileName}模板.xlsx";
string newFileName = Path.Combine(webHostEnvironment.WebRootPath, "importTemplate", sFileName);
string newFileName = Path.Combine(webHostEnvironment.WebRootPath, "ImportTemplate", sFileName);
if (!Directory.Exists(newFileName))
{
@@ -179,5 +179,19 @@ namespace ZR.Admin.WebApi.Controllers
MiniExcel.SaveAs(newFileName, list);
return sFileName;
}
/// <summary>
/// 下载指定文件模板
/// </summary>
/// <param name="fileName">下载文件名</param>
/// <returns></returns>
protected (string, string) DownloadImportTemplate(string fileName)
{
IWebHostEnvironment webHostEnvironment = (IWebHostEnvironment)App.ServiceProvider.GetService(typeof(IWebHostEnvironment));
string sFileName = $"{fileName}.xlsx";
string fullPath = Path.Combine(webHostEnvironment.WebRootPath, "ImportTemplate", sFileName);
return (sFileName, fullPath);
}
}
}

View File

@@ -174,21 +174,17 @@ namespace ZR.Admin.WebApi.Controllers.System
/// <param name="formFile">使用IFromFile必须使用name属性否则获取不到文件</param>
/// <returns></returns>
[HttpPost("importData")]
[Log(Title = "用户导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = false)]
[Log(Title = "用户导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)]
[ActionPermissionFilter(Permission = "system:user:import")]
public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile)
{
//List<SysUser> users = (List<SysUser>)ExcelHelper<SysUser>.ImportData(formFile.OpenReadStream());
List<SysUser> users = new();
using (var stream = formFile.OpenReadStream())
{
users = stream.Query<SysUser>().ToList();
}
string msg = UserService.ImportUsers(users);
//TODO 业务逻辑,自行插入数据到db
return SUCCESS(users);
return SUCCESS(UserService.ImportUsers(users));
}
/// <summary>
@@ -196,15 +192,12 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary>
/// <returns></returns>
[HttpGet("importTemplate")]
[Log(Title = "用户模板", BusinessType = BusinessType.EXPORT, IsSaveRequestData = false, IsSaveResponseData = false)]
[Log(Title = "用户模板", BusinessType = BusinessType.EXPORT, IsSaveRequestData = true, IsSaveResponseData = false)]
[AllowAnonymous]
public IActionResult ImportTemplateExcel()
{
List<SysUser> user = new List<SysUser>();
MemoryStream stream = new MemoryStream();
string sFileName = DownloadImportTemplate(user, stream, "用户列表");
return File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"{sFileName}");
(string, string) result = DownloadImportTemplate("user");
return ExportExcel(result.Item2, result.Item1);
}
/// <summary>