Merge branch 'main' of https://github.com/ccnetcore/Yi into main
This commit is contained in:
@@ -45,7 +45,12 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
return new FileStreamResult(stream, MimeType);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 该方法不对外暴露
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <param name="file"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<string> Upload(string type,IFormFile file)
|
||||
{
|
||||
|
||||
@@ -57,6 +62,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
|
||||
return filename;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public async Task<IActionResult>ExportFile()
|
||||
{
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common;
|
||||
using Yi.Framework.Common.Const;
|
||||
using Yi.Framework.Common.Helper;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Core;
|
||||
@@ -30,7 +31,16 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
[HttpPost]
|
||||
public async Task<Result> startJob()
|
||||
{
|
||||
await _quartzInvoker.start("*/1 * * * * ? ", new Quartz.JobKey("test", "my"), "VisitJob");
|
||||
//任务1
|
||||
//await _quartzInvoker.start("*/1 * * * * ? ", new Quartz.JobKey("test", "my"), "VisitJob");
|
||||
|
||||
//任务2
|
||||
Dictionary<string, object> data = new Dictionary<string, object>()
|
||||
{
|
||||
{JobConst.method,"get" },
|
||||
{JobConst.url,"https://www.baidu.com" }
|
||||
};
|
||||
await _quartzInvoker.start("*/1 * * * * ? ", new Quartz.JobKey("test", "my"), "HttpJob",data: data);
|
||||
return Result.Success();
|
||||
}
|
||||
|
||||
|
||||
@@ -146,11 +146,24 @@
|
||||
<param name="idsListDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.GetTopMenusByRoleId(Yi.Framework.Model.Models.role)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.GetTopMenusByRoleId(System.Int32)">
|
||||
<summary>
|
||||
用于给角色设置菜单的时候,点击一个角色,显示这个角色拥有的并列的菜单
|
||||
</summary>
|
||||
<param name="role"></param>
|
||||
<param name="roleId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.SettingController.GetSetting">
|
||||
<summary>
|
||||
查
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.SettingController.UpdateSetting">
|
||||
<summary>
|
||||
更
|
||||
</summary>
|
||||
<param name="_Setting"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GetUser">
|
||||
|
||||
17
Yi.Framework/Yi.Framework.Common/Const/JobConst.cs
Normal file
17
Yi.Framework/Yi.Framework.Common/Const/JobConst.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Common.Const
|
||||
{
|
||||
public class JobConst
|
||||
{
|
||||
|
||||
public const string url = nameof(url);
|
||||
|
||||
public const string method = nameof(method);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,7 +13,8 @@ namespace Yi.Framework.Common.Helper
|
||||
{
|
||||
Assembly assembly = Assembly.Load(assemblyFile);
|
||||
return assembly.GetTypes().Where(m => m.IsClass
|
||||
&& m.Name==null?true:m.Name==className
|
||||
&& className == null?true:m.Name==className
|
||||
&& spaceName == null ? true :m.Namespace == spaceName
|
||||
).ToList();
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Common.Models
|
||||
{
|
||||
public class visitModel
|
||||
public class JobModel
|
||||
{
|
||||
public static int visitNum { get; set; } = 0;
|
||||
}
|
||||
@@ -34,8 +34,13 @@ namespace Yi.Framework.Core
|
||||
/// <param name="second"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
public async Task start(string cron, JobKey jobKey, string jobClass, long second = 0)
|
||||
public async Task start(string cron, JobKey jobKey, string jobClass, long second = 0, IDictionary<string, object> data = null)
|
||||
{
|
||||
if (data == null)
|
||||
{
|
||||
data = new Dictionary<string, object>();
|
||||
}
|
||||
|
||||
var myClass = AssemblyHelper.GetClass("Yi.Framework.Job", jobClass).FirstOrDefault();
|
||||
|
||||
_scheduler = await _schedulerFactory.GetScheduler();
|
||||
@@ -49,6 +54,7 @@ namespace Yi.Framework.Core
|
||||
.Build();
|
||||
//创建任务
|
||||
var jobDetail = JobBuilder.Create(myClass)
|
||||
.UsingJobData(new JobDataMap(data))
|
||||
.WithIdentity(jobKey.Name, jobKey.Group)
|
||||
.Build();
|
||||
//将触发器和任务器绑定到调度器中
|
||||
|
||||
@@ -5,13 +5,14 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.Models;
|
||||
|
||||
namespace Yi.Framework.Job
|
||||
{
|
||||
public class HttpJob : IJob
|
||||
{
|
||||
private ILogger<VisitJob> _logger;
|
||||
public HttpJob(ILogger<VisitJob> logger)
|
||||
private ILogger<HttpJob> _logger;
|
||||
public HttpJob(ILogger<HttpJob> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
@@ -20,7 +21,23 @@ namespace Yi.Framework.Job
|
||||
{
|
||||
return Task.Run(() =>
|
||||
{
|
||||
|
||||
var jobData = context.JobDetail.JobDataMap;
|
||||
string method= jobData[Common.Const.JobConst.method].ToString();
|
||||
string url = jobData[Common.Const.JobConst.url].ToString();
|
||||
string data="异常!";
|
||||
switch (method)
|
||||
{
|
||||
case "post":
|
||||
data = Common.Helper.HttpHelper.HttpPost(url);
|
||||
break;
|
||||
case "get":
|
||||
data = Common.Helper.HttpHelper.HttpGet(url);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
_logger.LogWarning("定时任务开始调度:" + nameof(HttpJob) + ":" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + $":访问地址为:{url},结果为:{data}");
|
||||
Console.WriteLine($"结果:{data}");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,13 +31,11 @@ namespace Yi.Framework.Job
|
||||
{
|
||||
return Task.Run(() =>
|
||||
{
|
||||
|
||||
_DBWrite.Set<visit>().Add(new visit() { num = visitModel.visitNum, time = DateTime.Now });
|
||||
_DBWrite.Set<visit>().Add(new visit() { num = JobModel.visitNum, time = DateTime.Now });
|
||||
_DBWrite.SaveChanges();
|
||||
_logger.LogWarning("定时任务开始调度:" + nameof(VisitJob) + ":" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + $":访问总数为:{visitModel.visitNum}");
|
||||
visitModel.visitNum = 0;
|
||||
_logger.LogWarning("定时任务开始调度:" + nameof(VisitJob) + ":" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + $":访问总数为:{JobModel.visitNum}");
|
||||
JobModel.visitNum = 0;
|
||||
}
|
||||
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user