From 7cfa543865089f504671bd1f2706acc3b185fdd3 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: Sun, 7 May 2023 08:51:10 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=94=A8=E6=88=B7=E5=AF=BC?=
=?UTF-8?q?=E5=85=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ZR.Admin.WebApi/Controllers/BaseController.cs | 16 +++++++++++-
.../Controllers/System/SysUserController.cs | 17 ++++---------
.../wwwroot/ImportTemplate/user.xlsx | Bin 0 -> 13375 bytes
ZR.Service/System/IService/ISysUserService.cs | 2 +-
ZR.Service/System/SysUserService.cs | 24 ++++++++++--------
5 files changed, 35 insertions(+), 24 deletions(-)
create mode 100644 ZR.Admin.WebApi/wwwroot/ImportTemplate/user.xlsx
diff --git a/ZR.Admin.WebApi/Controllers/BaseController.cs b/ZR.Admin.WebApi/Controllers/BaseController.cs
index f4ea66b..90bc9ff 100644
--- a/ZR.Admin.WebApi/Controllers/BaseController.cs
+++ b/ZR.Admin.WebApi/Controllers/BaseController.cs
@@ -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;
}
+
+ ///
+ /// 下载指定文件模板
+ ///
+ /// 下载文件名
+ ///
+ 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);
+ }
}
}
diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs
index 4da9cc0..7e3d0f7 100644
--- a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs
+++ b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs
@@ -174,21 +174,17 @@ namespace ZR.Admin.WebApi.Controllers.System
/// 使用IFromFile必须使用name属性否则获取不到文件
///
[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 users = (List)ExcelHelper.ImportData(formFile.OpenReadStream());
List users = new();
using (var stream = formFile.OpenReadStream())
{
users = stream.Query().ToList();
}
- string msg = UserService.ImportUsers(users);
-
- //TODO 业务逻辑,自行插入数据到db
- return SUCCESS(users);
+ return SUCCESS(UserService.ImportUsers(users));
}
///
@@ -196,15 +192,12 @@ namespace ZR.Admin.WebApi.Controllers.System
///
///
[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 user = new List();
- 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);
}
///
diff --git a/ZR.Admin.WebApi/wwwroot/ImportTemplate/user.xlsx b/ZR.Admin.WebApi/wwwroot/ImportTemplate/user.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..a8a2b77f8efa2d778abfe437fc1a3746052acf71
GIT binary patch
literal 13375
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
///
///
- string ImportUsers(List users);
+ (string, object, object) ImportUsers(List users);
SysUser Login(LoginBodyDto user);
diff --git a/ZR.Service/System/SysUserService.cs b/ZR.Service/System/SysUserService.cs
index a427ee5..8fd9229 100644
--- a/ZR.Service/System/SysUserService.cs
+++ b/ZR.Service/System/SysUserService.cs
@@ -192,7 +192,7 @@ namespace ZR.Service
///
public int DeleteUser(long userid)
{
- CheckUserAllowed(new SysUser() { UserId = userid});
+ CheckUserAllowed(new SysUser() { UserId = userid });
//删除用户与角色关联
UserRoleService.DeleteUserRoleByUserId((int)userid);
// 删除用户与岗位关联
@@ -259,8 +259,8 @@ namespace ZR.Service
{
if (!SysUser.IsAdmin(loginUserId))
{
- SysUser user = new SysUser() { UserId = userid};
-
+ SysUser user = new SysUser() { UserId = userid };
+
//TODO 判断用户是否有数据权限
}
}
@@ -270,7 +270,7 @@ namespace ZR.Service
///
///
///
- public string ImportUsers(List users)
+ public (string, object, object) ImportUsers(List users)
{
users.ForEach(x =>
{
@@ -278,7 +278,7 @@ namespace ZR.Service
x.Status = "0";
x.DelFlag = "0";
x.Password = "E10ADC3949BA59ABBE56E057F20F883E";
- x.Remark = "数据导入";
+ x.Remark = x.Remark.IsEmpty() ? "数据导入" : x.Remark;
});
var x = Context.Storageable(users)
.SplitInsert(it => !it.Any())
@@ -289,7 +289,7 @@ namespace ZR.Service
.ToStorage();
var result = x.AsInsertable.ExecuteCommand();//插入可插入部分;
- string msg = string.Format(" 插入{0} 更新{1} 错误数据{2} 不计算数据{3} 删除数据{4},总共{5}",
+ string msg = string.Format(" 插入{0} 更新{1} 错误数据{2} 不计算数据{3} 删除数据{4} 总共{5}",
x.InsertList.Count,
x.UpdateList.Count,
x.ErrorList.Count,
@@ -298,14 +298,18 @@ namespace ZR.Service
x.TotalList.Count);
//输出统计
Console.WriteLine(msg);
-
+
//输出错误信息
foreach (var item in x.ErrorList)
{
Console.WriteLine("userName为" + item.Item.UserName + " : " + item.StorageMessage);
}
-
- return msg;
+ foreach (var item in x.IgnoreList)
+ {
+ Console.WriteLine("userName为" + item.Item.UserName + " : " + item.StorageMessage);
+ }
+
+ return (msg, x.ErrorList, x.IgnoreList);
}
///
@@ -326,7 +330,7 @@ namespace ZR.Service
///
public void UpdateLoginInfo(LoginBodyDto user, long userId)
{
- Update(new SysUser() { LoginIP = user.LoginIP, LoginDate = DateTime.Now, UserId = userId },it => new { it.LoginIP, it.LoginDate });
+ Update(new SysUser() { LoginIP = user.LoginIP, LoginDate = DateTime.Now, UserId = userId }, it => new { it.LoginIP, it.LoginDate });
}
}
}