From 9be0036b4e47ae374ca87b4ecf69eb3317602baa 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, 11 Jun 2023 13:16:22 +0800 Subject: [PATCH] =?UTF-8?q?:zap:=20=E4=BC=98=E5=8C=96=E7=A7=8D=E5=AD=90?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/CommonController.cs | 76 +++---------------- ZR.Service/System/SeedDataService.cs | 74 ++++++++++++++++++ 2 files changed, 84 insertions(+), 66 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/CommonController.cs b/ZR.Admin.WebApi/Controllers/CommonController.cs index 253de7e..47db2f7 100644 --- a/ZR.Admin.WebApi/Controllers/CommonController.cs +++ b/ZR.Admin.WebApi/Controllers/CommonController.cs @@ -5,7 +5,6 @@ using Infrastructure.Extensions; using Infrastructure.Model; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; -using MiniExcelLibs; using Newtonsoft.Json; using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; @@ -179,85 +178,30 @@ namespace ZR.Admin.WebApi.Controllers /// /// 初始化种子数据 /// + /// 是否清空数据 /// [HttpGet] - [ApiExplorerSettings(IgnoreApi = true)] [ActionPermissionFilter(Permission = "common")] [Log(BusinessType = BusinessType.INSERT, Title = "初始化数据")] - public IActionResult InitSeedData() + public IActionResult InitSeedData(bool clean = false) { if (!WebHostEnvironment.IsDevelopment()) { - return ToResponse(ResultCode.FAIL, "导入数据失败"); + return ToResponse(ResultCode.CUSTOM_ERROR, "导入数据失败"); } var path = Path.Combine(WebHostEnvironment.WebRootPath, "data.xlsx"); //var sheetNames = MiniExcel.GetSheetNames(path); SeedDataService seedDataService = new(); - - var sysUser = MiniExcel.Query(path, sheetName: "user").ToList(); - var result1 = seedDataService.InitUserData(sysUser); - - var sysPost = MiniExcel.Query(path, sheetName: "post").ToList(); - var result2 = seedDataService.InitPostData(sysPost); - - var sysRole = MiniExcel.Query(path, sheetName: "role").ToList(); - var result3 = seedDataService.InitRoleData(sysRole); - - var sysUserRole = MiniExcel.Query(path, sheetName: "user_role").ToList(); - var result4 = seedDataService.InitUserRoleData(sysUserRole); - - var sysMenu = MiniExcel.Query(path, sheetName: "menu").ToList(); - var result5 = seedDataService.InitMenuData(sysMenu); - - var sysConfig = MiniExcel.Query(path, sheetName: "config").ToList(); - var result6 = seedDataService.InitConfigData(sysConfig); - - var sysRoleMenu = MiniExcel.Query(path, sheetName: "role_menu").ToList(); - var result7 = seedDataService.InitRoleMenuData(sysRoleMenu); - - var sysDict = MiniExcel.Query(path, sheetName: "dict_type").ToList(); - var result8 = seedDataService.InitDictType(sysDict); - - var sysDictData = MiniExcel.Query(path, sheetName: "dict_data").ToList(); - var result9 = seedDataService.InitDictData(sysDictData); - - var sysDept = MiniExcel.Query(path, sheetName: "dept").ToList(); - var result10 = seedDataService.InitDeptData(sysDept); - - var sysArticleCategory = MiniExcel.Query(path, sheetName: "article_category").ToList(); - var result11 = seedDataService.InitArticleCategoryData(sysArticleCategory); - - var sysTask = MiniExcel.Query(path, sheetName: "task").ToList(); - var result12 = seedDataService.InitTaskData(sysTask); - + var result = seedDataService.InitSeedData(path, clean); Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine(result1.Item1); - Console.WriteLine(result2.Item1); - Console.WriteLine(result3.Item1); - Console.WriteLine(result4.Item1); - Console.WriteLine(result5.Item1); - Console.WriteLine(result6.Item1); - Console.WriteLine(result7.Item1); - Console.WriteLine(result8.Item1); - Console.WriteLine(result9.Item1); - Console.WriteLine(result10.Item1); - Console.WriteLine(result11.Item1); - Console.WriteLine(result12.Item1); - + foreach (var item in result) + { + Console.WriteLine(item); + } + Console.ForegroundColor = ConsoleColor.White; return SUCCESS(new { - result1 = result1.Item1, - result2 = result2.Item1, - result3 = result3.Item1, - result4 = result4.Item1, - result5 = result5.Item1, - result6 = result6.Item1, - result7 = result7.Item1, - result8 = result8.Item1, - result9 = result9.Item1, - result10 = result10.Item1, - result11 = result11.Item1, - result12 = result12.Item1 + result }); } } diff --git a/ZR.Service/System/SeedDataService.cs b/ZR.Service/System/SeedDataService.cs index 4cffdc4..ddb858a 100644 --- a/ZR.Service/System/SeedDataService.cs +++ b/ZR.Service/System/SeedDataService.cs @@ -1,11 +1,16 @@ using Infrastructure.Extensions; +using MiniExcelLibs; using SqlSugar.IOC; using System.Collections.Generic; +using System.Linq; using ZR.Common; using ZR.Model.System; namespace ZR.Service.System { + /// + /// 种子数据处理 + /// public class SeedDataService { /// @@ -218,5 +223,74 @@ namespace ZR.Service.System string msg = $"[任务数据] 插入{x.InsertList.Count} 错误数据{x.ErrorList.Count} 总共{x.TotalList.Count}"; return (msg, x.ErrorList, x.IgnoreList); } + + /// + /// 初始化种子数据 + /// + /// + /// + /// + public List InitSeedData(string path, bool clean) + { + List result = new(); + + var db = DbScoped.SugarScope; + if (clean) + { + db.DbMaintenance.TruncateTable(); + db.DbMaintenance.TruncateTable(); + db.DbMaintenance.TruncateTable(); + db.DbMaintenance.TruncateTable(); + db.DbMaintenance.TruncateTable(); + db.DbMaintenance.TruncateTable(); + db.DbMaintenance.TruncateTable(); + } + + var sysUser = MiniExcel.Query(path, sheetName: "user").ToList(); + var result1 = InitUserData(sysUser); + result.Add(result1.Item1); + + var sysPost = MiniExcel.Query(path, sheetName: "post").ToList(); + var result2 = InitPostData(sysPost); + result.Add(result2.Item1); + + var sysRole = MiniExcel.Query(path, sheetName: "role").ToList(); + var result3 = InitRoleData(sysRole); + result.Add(result3.Item1); + + var sysUserRole = MiniExcel.Query(path, sheetName: "user_role").ToList(); + var result4 = InitUserRoleData(sysUserRole); + result.Add(result4.Item1); + + var sysMenu = MiniExcel.Query(path, sheetName: "menu").ToList(); + var result5 = InitMenuData(sysMenu); + result.Add(result5.Item1); + + var sysConfig = MiniExcel.Query(path, sheetName: "config").ToList(); + var result6 = InitConfigData(sysConfig); + result.Add(result6.Item1); + + var sysRoleMenu = MiniExcel.Query(path, sheetName: "role_menu").ToList(); + var result7 = InitRoleMenuData(sysRoleMenu); + result.Add(result7.Item1); + + var sysDict = MiniExcel.Query(path, sheetName: "dict_type").ToList(); + var result8 = InitDictType(sysDict); + result.Add(result8.Item1); + + var sysDictData = MiniExcel.Query(path, sheetName: "dict_data").ToList(); + var result9 = InitDictData(sysDictData); + result.Add(result9.Item1); + + var sysDept = MiniExcel.Query(path, sheetName: "dept").ToList(); + var result10 = InitDeptData(sysDept); + result.Add(result10.Item1); + + var sysArticleCategory = MiniExcel.Query(path, sheetName: "article_category").ToList(); + var result11 = InitArticleCategoryData(sysArticleCategory); + result.Add(result11.Item1); + + return result; + } } }