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 0000000..a8a2b77
Binary files /dev/null and b/ZR.Admin.WebApi/wwwroot/ImportTemplate/user.xlsx differ
diff --git a/ZR.Service/System/IService/ISysUserService.cs b/ZR.Service/System/IService/ISysUserService.cs
index 1c04ddf..493ac59 100644
--- a/ZR.Service/System/IService/ISysUserService.cs
+++ b/ZR.Service/System/IService/ISysUserService.cs
@@ -77,7 +77,7 @@ namespace ZR.Service.System.IService
///
///
///
- 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 });
}
}
}