From e16997a204d488bd5b0f6f36779f5265bd3af968 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: Tue, 5 Jul 2022 18:04:59 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?=
=?UTF-8?q?=E7=94=9F=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Infrastructure/Helper/FileUtil.cs | 136 +++++++++++++
.../System/CodeGeneratorController.cs | 2 +-
ZR.CodeGenerator/CodeGeneratorTool.cs | 48 ++---
ZR.CodeGenerator/FileHelper.cs | 190 ------------------
ZR.Common/JnHelper.cs | 26 +++
ZR.Common/ZR.Common.csproj | 1 +
6 files changed, 185 insertions(+), 218 deletions(-)
delete mode 100644 ZR.CodeGenerator/FileHelper.cs
create mode 100644 ZR.Common/JnHelper.cs
diff --git a/Infrastructure/Helper/FileUtil.cs b/Infrastructure/Helper/FileUtil.cs
index 8448ba2..2460bcf 100644
--- a/Infrastructure/Helper/FileUtil.cs
+++ b/Infrastructure/Helper/FileUtil.cs
@@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using System.IO;
+using System.IO.Compression;
+using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
@@ -39,5 +41,139 @@ namespace Infrastructure
MD5CryptoServiceProvider md5 = new();
return BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(str)), 4, 8).Replace("-", "");
}
+
+ ///
+ /// 删除指定目录下的所有文件及文件夹(保留目录)
+ ///
+ /// 文件目录
+ public static void DeleteDirectory(string file)
+ {
+ try
+ {
+ //判断文件夹是否还存在
+ if (Directory.Exists(file))
+ {
+ DirectoryInfo fileInfo = new DirectoryInfo(file);
+ //去除文件夹的只读属性
+ fileInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;
+ foreach (string f in Directory.GetFileSystemEntries(file))
+ {
+ if (File.Exists(f))
+ {
+ //去除文件的只读属性
+ File.SetAttributes(file, FileAttributes.Normal);
+ //如果有子文件删除文件
+ File.Delete(f);
+ }
+ else
+ {
+ //循环递归删除子文件夹
+ DeleteDirectory(f);
+ }
+ }
+ //删除空文件夹
+ Directory.Delete(file);
+ }
+
+ }
+ catch (Exception ex) // 异常处理
+ {
+ Console.WriteLine("代码生成异常" + ex.Message);
+ }
+ }
+
+ ///
+ /// 压缩代码
+ ///
+ ///
+ ///
+ /// 压缩后的文件名
+ ///
+ public static bool ZipGenCode(string zipPath, string genCodePath, string zipFileName)
+ {
+ if (string.IsNullOrEmpty(zipPath)) return false;
+ try
+ {
+ CreateDirectory(genCodePath);
+ string zipFileFullName = Path.Combine(zipPath, zipFileName);
+ if (File.Exists(zipFileFullName))
+ {
+ File.Delete(zipFileFullName);
+ }
+
+ ZipFile.CreateFromDirectory(genCodePath, zipFileFullName);
+ DeleteDirectory(genCodePath);
+
+ return true;
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("压缩文件出错。" + ex.Message);
+ return false;
+ }
+ }
+
+ ///
+ /// 创建文件夹
+ ///
+ ///
+ ///
+ public static bool CreateDirectory(string path)
+ {
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ {
+ path = path.Replace("\\", "/").Replace("//", "/");
+ }
+ try
+ {
+ if (!Directory.Exists(path))
+ {
+ DirectoryInfo info = Directory.CreateDirectory(path);
+ Console.WriteLine("不存在创建文件夹" + info);
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine($"创建文件夹出错了,{ex.Message}");
+ return false;
+ }
+ return true;
+ }
+
+ ///
+ /// 写文件
+ ///
+ /// 完整路径带扩展名的
+ ///
+ public static void WriteAndSave(string path, string content)
+ {
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ {
+ path = path.Replace("\\", "/").Replace("//", "/");
+ }
+ if (!Directory.Exists(Path.GetDirectoryName(path)))
+ {
+ Directory.CreateDirectory(Path.GetDirectoryName(path));
+ }
+ Console.WriteLine("开始写入文件,Path=" + path);
+ try
+ {
+ //实例化一个文件流--->与写入文件相关联
+ using var fs = new FileStream(path, FileMode.Create, FileAccess.Write);
+ //实例化一个StreamWriter-->与fs相关联
+ using var sw = new StreamWriter(fs);
+ //开始写入
+ sw.Write(content);
+ //清空缓冲区
+ sw.Flush();
+ //关闭流
+ sw.Close();
+ fs.Close();
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("写入文件出错了:" + ex.Message);
+ }
+ }
}
}
diff --git a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs
index 20e0a00..75621ad 100644
--- a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs
+++ b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs
@@ -284,7 +284,7 @@ namespace ZR.Admin.WebApi.Controllers
//生成代码到指定文件夹
CodeGeneratorTool.Generate(dto);
//下载文件
- FileHelper.ZipGenCode(dto.ZipPath, dto.GenCodePath, zipReturnFileName);
+ FileUtil.ZipGenCode(dto.ZipPath, dto.GenCodePath, zipReturnFileName);
return SUCCESS(new { path = "/Generatecode/" + zipReturnFileName, fileName = dto.ZipFileName });
}
diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs
index 8ec02cc..30a4a4d 100644
--- a/ZR.CodeGenerator/CodeGeneratorTool.cs
+++ b/ZR.CodeGenerator/CodeGeneratorTool.cs
@@ -7,6 +7,7 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using ZR.CodeGenerator.Model;
+using ZR.Common;
using ZR.Model.System.Generate;
namespace ZR.CodeGenerator
@@ -17,6 +18,7 @@ namespace ZR.CodeGenerator
///
public class CodeGeneratorTool
{
+ private static readonly string CodeTemplateDir = "CodeGenTemplate";
///
/// 代码生成器配置
///
@@ -104,7 +106,7 @@ namespace ZR.CodeGenerator
foreach (var item in dto.GenCodes)
{
item.Path = Path.Combine(dto.GenCodePath, item.Path);
- FileHelper.WriteAndSave(item.Path, item.Content);
+ FileUtil.WriteAndSave(item.Path, item.Content);
}
}
@@ -117,8 +119,8 @@ namespace ZR.CodeGenerator
/// 替换实体
private static void GenerateModels(ReplaceDto replaceDto, GenerateDto generateDto)
{
- var tpl = FileHelper.ReadJtTemplate("TplModel.txt");
- var tplDto = FileHelper.ReadJtTemplate("TplDto.txt");
+ var tpl = JnHelper.ReadTemplate(CodeTemplateDir, "TplModel.txt");
+ var tplDto = JnHelper.ReadTemplate(CodeTemplateDir, "TplDto.txt");
string fullPath = Path.Combine(_option.ModelsNamespace, "Models", _option.SubNamespace, replaceDto.ModelTypeName + ".cs");
string fullPathDto = Path.Combine(_option.ModelsNamespace, "Dto", _option.SubNamespace, $"{replaceDto.ModelTypeName}Dto.cs");
@@ -134,7 +136,7 @@ namespace ZR.CodeGenerator
/// 替换实体
private static void GenerateRepository(ReplaceDto replaceDto, GenerateDto generateDto)
{
- var tpl = FileHelper.ReadJtTemplate("TplRepository.txt");
+ var tpl = JnHelper.ReadTemplate(CodeTemplateDir, "TplRepository.txt");
var result = tpl.Render();
var fullPath = Path.Combine(_option.RepositoriesNamespace, _option.SubNamespace, $"{replaceDto.ModelTypeName}Repository.cs");
@@ -146,16 +148,14 @@ namespace ZR.CodeGenerator
///
private static void GenerateService(ReplaceDto replaceDto, GenerateDto generateDto)
{
- var tpl = FileHelper.ReadJtTemplate("TplService.txt");
- var tpl2 = FileHelper.ReadJtTemplate("TplIService.txt");
- var result = tpl.Render();
- var result2 = tpl2.Render();
+ var tpl = JnHelper.ReadTemplate(CodeTemplateDir, "TplService.txt");
+ var tpl2 = JnHelper.ReadTemplate(CodeTemplateDir, "TplIService.txt");
var fullPath = Path.Combine(_option.ServicesNamespace, _option.SubNamespace, $"{replaceDto.ModelTypeName}Service.cs");
var fullPath2 = Path.Combine(_option.IServicsNamespace, _option.SubNamespace, $"I{_option.SubNamespace}Service", $"I{replaceDto.ModelTypeName}Service.cs");
- generateDto.GenCodes.Add(new GenCode(4, "Service.cs", fullPath, result));
- generateDto.GenCodes.Add(new GenCode(4, "IService.cs", fullPath2, result2));
+ generateDto.GenCodes.Add(new GenCode(4, "Service.cs", fullPath, tpl.Render()));
+ generateDto.GenCodes.Add(new GenCode(4, "IService.cs", fullPath2, tpl2.Render()));
}
///
@@ -163,7 +163,7 @@ namespace ZR.CodeGenerator
///
private static void GenerateControllers(ReplaceDto replaceDto, GenerateDto generateDto)
{
- var tpl = FileHelper.ReadJtTemplate("TplControllers.txt");
+ var tpl = JnHelper.ReadTemplate(CodeTemplateDir, "TplControllers.txt");
tpl.Set("QueryCondition", replaceDto.QueryCondition);
var result = tpl.Render();
@@ -196,7 +196,7 @@ namespace ZR.CodeGenerator
default:
break;
}
- var tpl = FileHelper.ReadJtTemplate(fileName);
+ var tpl = JnHelper.ReadTemplate(CodeTemplateDir, fileName);
tpl.Set("vueQueryFormHtml", replaceDto.VueQueryFormHtml);
tpl.Set("VueViewFormContent", replaceDto.VueViewFormHtml);//添加、修改表单
tpl.Set("VueViewListContent", replaceDto.VueViewListHtml);//查询 table列
@@ -224,7 +224,7 @@ namespace ZR.CodeGenerator
_ => "Vue.txt",
};
fileName = Path.Combine("v3", fileName);
- var tpl = FileHelper.ReadJtTemplate(fileName);
+ var tpl = JnHelper.ReadTemplate(CodeTemplateDir, fileName);
tpl.Set("treeCode", generateDto.GenTable?.Options?.TreeCode?.FirstLowerCase());
tpl.Set("treeName", generateDto.GenTable?.Options?.TreeName?.FirstLowerCase());
tpl.Set("treeParentCode", generateDto.GenTable?.Options?.TreeParentCode?.FirstLowerCase());
@@ -242,7 +242,7 @@ namespace ZR.CodeGenerator
///
public static void GenerateVueJs(ReplaceDto replaceDto, GenerateDto generateDto)
{
- var tpl = FileHelper.ReadJtTemplate("TplVueApi.txt");
+ var tpl = JnHelper.ReadTemplate(CodeTemplateDir, "TplVueApi.txt");
var result = tpl.Render();
string fileName;
@@ -279,7 +279,7 @@ namespace ZR.CodeGenerator
default:
break;
}
- var tpl = FileHelper.ReadJtTemplate($"{tempName}.txt");
+ var tpl = JnHelper.ReadTemplate(CodeTemplateDir, $"{tempName}.txt");
tpl.Set("parentId", generateDto.GenTable?.Options?.ParentMenuId ?? 0);
var result = tpl.Render();
string fullPath = Path.Combine(generateDto.GenCodePath, "sql", generateDto.GenTable.BusinessName + ".sql");
@@ -293,30 +293,25 @@ namespace ZR.CodeGenerator
///
public static string GenerateVueQueryForm()
{
- var tpl = FileHelper.ReadJtTemplate("QueryForm.txt");
- var result = tpl.Render();
- return result;
+ return JnHelper.ReadTemplate(CodeTemplateDir, "QueryForm.txt").Render();
}
+
///
/// 生成vue页面table
///
///
public static string GenerateVueTableList()
{
- var tpl = FileHelper.ReadJtTemplate("TableList.txt");
- var result = tpl.Render();
-
- return result;
+ return JnHelper.ReadTemplate(CodeTemplateDir, "TableList.txt").Render();
}
+
///
/// 生成vue表单
///
///
public static string GenerateCurdForm()
{
- var tpl = FileHelper.ReadJtTemplate("CurdForm.txt");
- var result = tpl.Render();
- return result;
+ return JnHelper.ReadTemplate(CodeTemplateDir, "CurdForm.txt").Render();
}
#endregion
@@ -534,7 +529,7 @@ namespace ZR.CodeGenerator
///
private static void InitJntTemplate(GenerateDto dto, ReplaceDto replaceDto)
{
- Engine.Current.Clean();
+ //Engine.Current.Clean();
dto.GenTable.Columns = dto.GenTable.Columns.OrderBy(x => x.Sort).ToList();
bool showCustomInput = dto.GenTable.Columns.Any(f => f.HtmlType.Equals(GenConstants.HTML_CUSTOM_INPUT, StringComparison.OrdinalIgnoreCase));
//jnt模板引擎全局变量
@@ -554,7 +549,6 @@ namespace ZR.CodeGenerator
options.Data.Set("replaceDto", replaceDto);
options.Data.Set("options", dto.GenOptions);
options.Data.Set("genTable", dto.GenTable);
- //options.Data.Set("btns", dto.CheckedBtn);
options.Data.Set("showCustomInput", showCustomInput);
options.Data.Set("tool", new CodeGeneratorTool());
options.Data.Set("codeTool", new CodeGenerateTemplate());
diff --git a/ZR.CodeGenerator/FileHelper.cs b/ZR.CodeGenerator/FileHelper.cs
deleted file mode 100644
index 47a992d..0000000
--- a/ZR.CodeGenerator/FileHelper.cs
+++ /dev/null
@@ -1,190 +0,0 @@
-using JinianNet.JNTemplate;
-using System;
-using System.IO;
-using System.IO.Compression;
-using System.Runtime.InteropServices;
-
-namespace ZR.CodeGenerator
-{
- public class FileHelper
- {
- ///
- /// 创建文件夹
- ///
- ///
- ///
- public static bool CreateDirectory(string path)
- {
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
- {
- path = path.Replace("\\", "/").Replace("//", "/");
- }
- try
- {
- if (!Directory.Exists(path))
- {
- DirectoryInfo info = Directory.CreateDirectory(path);
- Console.WriteLine("不存在创建文件夹" + info);
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine($"创建文件夹出错了,{ex.Message}");
- return false;
- }
- return true;
- }
-
- ///
- /// 写文件
- ///
- /// 完整路径带扩展名的
- ///
- public static void WriteAndSave(string path, string content)
- {
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
- {
- path = path.Replace("\\", "/").Replace("//", "/");
- }
- if (!Directory.Exists(Path.GetDirectoryName(path)))
- {
- Directory.CreateDirectory(Path.GetDirectoryName(path));
- }
- Console.WriteLine("写入文件:" + path);
- try
- {
- //实例化一个文件流--->与写入文件相关联
- using var fs = new FileStream(path, FileMode.Create, FileAccess.Write);
- //实例化一个StreamWriter-->与fs相关联
- using var sw = new StreamWriter(fs);
- //开始写入
- sw.Write(content);
- //清空缓冲区
- sw.Flush();
- //关闭流
- sw.Close();
- fs.Close();
- }
- catch (Exception ex)
- {
- Console.WriteLine("写入文件出错了:" + ex.Message);
- }
- }
-
-
- ///
- /// 从代码模板中读取内容
- ///
- /// 模板名称,应包括文件扩展名称。比如:template.txt
- ///
- public static string ReadTemplate(string tplName)
- {
- string path = Environment.CurrentDirectory;
- string fullName = Path.Combine(path, "wwwroot", "CodeGenTemplate", tplName);
-
- Console.WriteLine("开始读取模板=" + fullName);
- string temp = fullName;
- string str = "";
- if (!File.Exists(temp))
- {
- return str;
- }
- StreamReader sr = null;
- try
- {
- sr = new StreamReader(temp);
- str = sr.ReadToEnd(); // 读取文件
- }
- catch (Exception ex)
- {
- Console.WriteLine($"读取模板出错了{ex.Message}");
- }
- sr?.Close();
- sr?.Dispose();
- return str;
- }
-
- public static ITemplate ReadJtTemplate(string tplName)
- {
- string path = Environment.CurrentDirectory;
- string fullName = Path.Combine(path, "wwwroot", "CodeGenTemplate", tplName);
- if (File.Exists(fullName))
- {
- return Engine.LoadTemplate(fullName);
- }
- return null;
- }
-
- ///
- /// 压缩代码
- ///
- ///
- ///
- /// 压缩后的文件名
- ///
- public static bool ZipGenCode(string zipPath, string genCodePath,string zipFileName)
- {
- if (string.IsNullOrEmpty(zipPath)) return false;
- try
- {
- CreateDirectory(genCodePath);
- string zipFileFullName = Path.Combine(zipPath, zipFileName);
- if (File.Exists(zipFileFullName))
- {
- File.Delete(zipFileFullName);
- }
-
- ZipFile.CreateFromDirectory(genCodePath, zipFileFullName);
- DeleteDirectory(genCodePath);
-
- return true;
- }
- catch (Exception ex)
- {
- Console.WriteLine("压缩文件出错。" + ex.Message);
- return false;
- }
- }
-
- ///
- /// 删除指定目录下的所有文件及文件夹(保留目录)
- ///
- /// 文件目录
- public static void DeleteDirectory(string file)
- {
- try
- {
- //判断文件夹是否还存在
- if (Directory.Exists(file))
- {
- DirectoryInfo fileInfo = new DirectoryInfo(file);
- //去除文件夹的只读属性
- fileInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;
- foreach (string f in Directory.GetFileSystemEntries(file))
- {
- if (File.Exists(f))
- {
- //去除文件的只读属性
- File.SetAttributes(file, FileAttributes.Normal);
- //如果有子文件删除文件
- File.Delete(f);
- }
- else
- {
- //循环递归删除子文件夹
- DeleteDirectory(f);
- }
- }
- //删除空文件夹
- Directory.Delete(file);
- }
-
- }
- catch (Exception ex) // 异常处理
- {
- Console.WriteLine("代码生成异常" + ex.Message);
- }
- }
-
- }
-}
diff --git a/ZR.Common/JnHelper.cs b/ZR.Common/JnHelper.cs
new file mode 100644
index 0000000..c0a3b28
--- /dev/null
+++ b/ZR.Common/JnHelper.cs
@@ -0,0 +1,26 @@
+using JinianNet.JNTemplate;
+using System;
+using System.IO;
+
+namespace ZR.Common
+{
+ public class JnHelper
+ {
+ ///
+ /// 读取Jn模板
+ ///
+ ///
+ ///
+ ///
+ public static ITemplate ReadTemplate(string dirPath, string tplName)
+ {
+ string path = Environment.CurrentDirectory;
+ string fullName = Path.Combine(path, "wwwroot", dirPath, tplName);
+ if (File.Exists(fullName))
+ {
+ return Engine.LoadTemplate(fullName);
+ }
+ return null;
+ }
+ }
+}
diff --git a/ZR.Common/ZR.Common.csproj b/ZR.Common/ZR.Common.csproj
index be78c30..c737253 100644
--- a/ZR.Common/ZR.Common.csproj
+++ b/ZR.Common/ZR.Common.csproj
@@ -8,6 +8,7 @@
+
From 6a0a3beab56b7a158ad86c6b2019166900cc5efe 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: Sat, 9 Jul 2022 12:44:52 +0800
Subject: [PATCH 2/4] =?UTF-8?q?fix=EF=BC=9A=E6=89=8B=E5=8A=A8=E6=89=A7?=
=?UTF-8?q?=E8=A1=8C=E7=BD=91=E7=BB=9C=E5=9E=8B=E4=BB=BB=E5=8A=A1=E5=A4=B1?=
=?UTF-8?q?=E8=B4=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ZR.Tasks/TaskScheduler/JobBase.cs | 2 +-
ZR.Tasks/TaskScheduler/Job_HttpRequest.cs | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/ZR.Tasks/TaskScheduler/JobBase.cs b/ZR.Tasks/TaskScheduler/JobBase.cs
index 5d27c75..0f3d973 100644
--- a/ZR.Tasks/TaskScheduler/JobBase.cs
+++ b/ZR.Tasks/TaskScheduler/JobBase.cs
@@ -46,7 +46,7 @@ namespace ZR.Tasks
RefireImmediately = true
};
status = 1;
- logMsg = $"Fail,Exception:{ex.Message}";
+ logMsg = $"Job Run Fail,Exception:{ex.Message}";
}
var logModel = new SysTasksLog()
diff --git a/ZR.Tasks/TaskScheduler/Job_HttpRequest.cs b/ZR.Tasks/TaskScheduler/Job_HttpRequest.cs
index b03c06a..c6a65df 100644
--- a/ZR.Tasks/TaskScheduler/Job_HttpRequest.cs
+++ b/ZR.Tasks/TaskScheduler/Job_HttpRequest.cs
@@ -29,7 +29,7 @@ namespace ZR.Tasks.TaskScheduler
public async Task Run(IJobExecutionContext context)
{
AbstractTrigger trigger = (context as JobExecutionContextImpl).Trigger as AbstractTrigger;
- var info = await tasksQzService.GetByIdAsync(trigger.Name);
+ var info = await tasksQzService.GetByIdAsync(trigger.JobName);
if (info != null)
{
var result = await HttpHelper.HttpGetAsync("http://" + info.ApiUrl);
@@ -37,7 +37,7 @@ namespace ZR.Tasks.TaskScheduler
}
else
{
- throw new CustomException("任务网络请求执行失败,任务不存在");
+ throw new CustomException($"任务{trigger?.JobName}网络请求执行失败,任务不存在");
}
}
}
From e6b5ce38843843f7b52bf1dc14b0af7b3c806282 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: Sat, 9 Jul 2022 12:45:18 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=BB=E5=8A=A1?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/System/TasksController.cs | 37 +++------------
.../System/IService/ISysTasksQzService.cs | 10 ++---
ZR.Service/System/SysTasksQzService.cs | 45 ++++++++++++++++++-
3 files changed, 53 insertions(+), 39 deletions(-)
diff --git a/ZR.Admin.WebApi/Controllers/System/TasksController.cs b/ZR.Admin.WebApi/Controllers/System/TasksController.cs
index 0f34da6..cbabbb0 100644
--- a/ZR.Admin.WebApi/Controllers/System/TasksController.cs
+++ b/ZR.Admin.WebApi/Controllers/System/TasksController.cs
@@ -102,18 +102,10 @@ namespace ZR.Admin.WebApi.Controllers
//从 Dto 映射到 实体
var tasksQz = parm.Adapt().ToCreate();
var worker = new IdWorker(1, 1);
-
- tasksQz.ID = worker.NextId().ToString();
- tasksQz.IsStart = false;
tasksQz.Create_by = HttpContext.GetName();
- tasksQz.TaskType = parm.TaskType;
- tasksQz.ApiUrl = parm.ApiUrl;
- if (parm.ApiUrl.IfNotEmpty() && parm.TaskType == 2)
- {
- tasksQz.AssemblyName = "ZR.Tasks";
- tasksQz.ClassName = "TaskScheduler.Job_HttpRequest";
- }
- return SUCCESS(_tasksQzService.Add(tasksQz));
+ tasksQz.ID = worker.NextId().ToString();
+
+ return SUCCESS(_tasksQzService.AddTasks(tasksQz));
}
///
@@ -152,28 +144,11 @@ namespace ZR.Admin.WebApi.Controllers
{
throw new CustomException($"该任务正在运行中,请先停止在更新");
}
-
- var response = _tasksQzService.Update(m => m.ID == parm.ID, m => new SysTasksQz
- {
- Name = parm.Name,
- JobGroup = parm.JobGroup,
- Cron = parm.Cron,
- AssemblyName = parm.AssemblyName,
- ClassName = parm.ClassName,
- Remark = parm.Remark,
- TriggerType = parm.TriggerType,
- IntervalSecond = parm.IntervalSecond,
- JobParams = parm.JobParams,
- Update_by = HttpContextExtension.GetName(HttpContext),
- Update_time = DateTime.Now,
- BeginTime = parm.BeginTime,
- EndTime = parm.EndTime,
- TaskType = parm.TaskType,
- ApiUrl = parm.ApiUrl,
- });
+ var model = parm.Adapt();
+ model.Update_by = HttpContextExtension.GetName(HttpContext);
+ int response = _tasksQzService.UpdateTasks(model);
if (response > 0)
{
- //先暂停原先的任务
var respon = await _schedulerServer.UpdateTaskScheduleAsync(tasksQz);
}
diff --git a/ZR.Service/System/IService/ISysTasksQzService.cs b/ZR.Service/System/IService/ISysTasksQzService.cs
index e7e0257..c081a2c 100644
--- a/ZR.Service/System/IService/ISysTasksQzService.cs
+++ b/ZR.Service/System/IService/ISysTasksQzService.cs
@@ -1,14 +1,12 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using ZR.Model.System;
+using ZR.Model.System;
+using ZR.Model.System.Dto;
namespace ZR.Service.System.IService
{
public interface ISysTasksQzService : IBaseService
{
//SysTasksQz GetId(object id);
+ int AddTasks(SysTasksQz parm);
+ int UpdateTasks(SysTasksQz parm);
}
}
diff --git a/ZR.Service/System/SysTasksQzService.cs b/ZR.Service/System/SysTasksQzService.cs
index ed72d3c..f5de924 100644
--- a/ZR.Service/System/SysTasksQzService.cs
+++ b/ZR.Service/System/SysTasksQzService.cs
@@ -1,6 +1,7 @@
using Infrastructure.Attribute;
+using Infrastructure.Extensions;
+using System;
using ZR.Model.System;
-using ZR.Repository.System;
using ZR.Service.System.IService;
namespace ZR.Service.System
@@ -11,8 +12,48 @@ namespace ZR.Service.System
[AppService(ServiceType = typeof(ISysTasksQzService), ServiceLifetime = LifeTime.Transient)]
public class SysTasksQzService : BaseService, ISysTasksQzService
{
- public SysTasksQzService(SysTasksQzRepository repository)
+ ///
+ /// 添加任务
+ ///
+ ///
+ ///
+ public int AddTasks(SysTasksQz parm)
{
+ parm.IsStart = false;
+
+ if (parm.ApiUrl.IfNotEmpty() && parm.TaskType == 2)
+ {
+ parm.AssemblyName = "ZR.Tasks";
+ parm.ClassName = "TaskScheduler.Job_HttpRequest";
+ }
+ return Add(parm);
+ }
+
+ ///
+ /// 更新任务
+ ///
+ ///
+ ///
+ public int UpdateTasks(SysTasksQz parm)
+ {
+ return Update(f => f.ID == parm.ID, f => new SysTasksQz
+ {
+ ID = parm.ID,
+ Name = parm.Name,
+ JobGroup = parm.JobGroup,
+ Cron = parm.Cron,
+ AssemblyName = parm.AssemblyName,
+ ClassName = parm.ClassName,
+ Remark = parm.Remark,
+ TriggerType = parm.TriggerType,
+ IntervalSecond = parm.IntervalSecond,
+ JobParams = parm.JobParams,
+ Update_time = DateTime.Now,
+ BeginTime = parm.BeginTime,
+ EndTime = parm.EndTime,
+ TaskType = parm.TaskType,
+ ApiUrl = parm.ApiUrl,
+ });
}
}
}
From dc299a97f755b1f8cc66cdd3dd0f88850b8377c4 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: Sat, 9 Jul 2022 12:45:31 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=AF=E5=8A=A8?=
=?UTF-8?q?=E8=AF=B4=E6=98=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ZR.Admin.WebApi/Controllers/CommonController.cs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/ZR.Admin.WebApi/Controllers/CommonController.cs b/ZR.Admin.WebApi/Controllers/CommonController.cs
index cd10476..3c549e5 100644
--- a/ZR.Admin.WebApi/Controllers/CommonController.cs
+++ b/ZR.Admin.WebApi/Controllers/CommonController.cs
@@ -46,7 +46,8 @@ namespace ZR.Admin.WebApi.Controllers
[HttpGet]
public IActionResult Index()
{
- return Content("Hello看到这里页面说明你已经成功启动了本项目,加油吧 少年。");
+ return Ok("看到这里页面说明你已经成功启动了本项目:)\n\n" +
+ "如果觉得项目有用,打赏作者喝杯咖啡作为奖励\n☛☛http://www.izhaorui.cn/doc\n");
}
///