加入任务调度模块

This commit is contained in:
橙子
2021-10-30 18:48:58 +08:00
parent ec5982a6e3
commit 35f39eb65b
30 changed files with 1012 additions and 46 deletions

View File

@@ -152,5 +152,6 @@ namespace Yi.Framework.ApiMicroservice.Controllers
return Result.Success(msg);
}
}
}

View File

@@ -0,0 +1,70 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Yi.Framework.Common;
using Yi.Framework.Common.Helper;
using Yi.Framework.Common.Models;
using Yi.Framework.Core;
using Yi.Framework.DTOModel;
using Yi.Framework.Interface;
using Yi.Framework.Model.Models;
namespace Yi.Framework.ApiMicroservice.Controllers
{
[ApiController]
[Route("api/[controller]/[action]")]
public class JobController : Controller
{
private readonly ILogger<JobController> _logger;
private QuartzInvoker _quartzInvoker;
public JobController(ILogger<JobController> logger,QuartzInvoker quartzInvoker)
{
_logger = logger;
_quartzInvoker = quartzInvoker;
}
[HttpPost]
public async Task<Result> startJob()
{
await _quartzInvoker.start("*/1 * * * * ? ", new Quartz.JobKey("test", "my"), "VisitJob");
return Result.Success();
}
[HttpGet]
public async Task<Result> getRunJobList()
{
return Result.Success().SetData(await _quartzInvoker.getRunJobList());
}
[HttpGet]
public Result getJobClass()
{
return Result.Success().SetData(_quartzInvoker.getJobClassList());
}
[HttpPut]
public async Task<Result> stopJob()
{
await _quartzInvoker.Stop(new Quartz.JobKey("test", "my"));
return Result.Success();
}
[HttpDelete]
public async Task<Result> DeleteJob()
{
await _quartzInvoker.Delete(new Quartz.JobKey("test", "my"));
return Result.Success();
}
[HttpPut]
public async Task<Result> ResumeJob()
{
await _quartzInvoker.Resume(new Quartz.JobKey("test", "my"));
return Result.Success();
}
}
}

View File

@@ -27,6 +27,11 @@ namespace Yi.Framework.ApiMicroservice
#endregion
services.AddIocService(Configuration);
#region
//Quartz任务调度配置
#endregion
services.AddQuartzService();
#region
//控制器+过滤器配置
#endregion

View File

@@ -39,6 +39,12 @@
<param name="pwdDto"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.GetMenuInMould">
<summary>
这个是要递归的,但是要过滤掉删除的,所以,可以写一个通用过滤掉删除的方法
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.UpdateMenu(Yi.Framework.Model.Models.menu)">
<summary>
@@ -53,9 +59,10 @@
<param name="_ids"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.AddMenu(Yi.Framework.Model.Models.menu)">
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.AddTopMenu(Yi.Framework.Model.Models.menu)">
<summary>
现在top菜单只允许为一个
</summary>
<param name="_menu"></param>
<returns></returns>
@@ -63,16 +70,11 @@
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.SetMouldByMenu(Yi.Framework.DTOModel.IdDto{System.Int32})">
<summary>
给一个菜单设置一个接口,Id1为菜单id,Id2为接口id
用于给菜单设置接口
</summary>
<param name="idDto"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.GetMenuByUser">
<summary>
得到该用户有哪些菜单关联mould
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.AddChildrenMenu(Yi.Framework.DTOModel.ChildrenDto{Yi.Framework.Model.Models.menu})">
<summary>
给一个菜单添加子节点(注意:添加,不是覆盖)
@@ -80,9 +82,10 @@
<param name="childrenDto"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.GeTopMenuByUser">
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.GetTopMenusByHttpUser">
<summary>
获取用户的目录菜单,不包含接口
用于账户信息页面,显示这个用户有哪些菜单,需要并列
</summary>
<returns></returns>
</member>
@@ -128,13 +131,28 @@
<param name="_role"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.GetRolesByUserId(System.Int32)">
<summary>
根据用户id得到该用户有哪些角色
用于显示用户详情中的角色说明
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.SetMenuByRole(Yi.Framework.DTOModel.IdsListDto{System.Int32})">
<summary>
给角色设置菜单多个角色与多个菜单让每一个角色都设置ids1为角色ids2为菜单
用于设置角色
</summary>
<param name="idsListDto"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.GetTopMenusByRoleId(System.Int32)">
<summary>
用于给角色设置菜单的时候,点击一个角色,显示这个角色拥有的并列的菜单
</summary>
<param name="roleId"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GetUser">
<summary>
@@ -162,36 +180,34 @@
<param name="_user"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GetMenuMould">
<summary>
通过上下文对象获取user注意_user下只有userId返回值为该用户下所有的menu(注意子类递归)并且需要关联mould
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.SetRoleByUser(Yi.Framework.DTOModel.IdsListDto{System.Int32})">
<summary>
给多个用户设置多个角色ids有用户id与 角色列表ids多对多,ids1用户,ids2为角色
用户设置给用户设置角色
</summary>
<param name="idsListDto"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GetRolesByUser">
<summary>
根据http上下文的用户得到该用户有哪些角色
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GetRolesByUserId(System.Int32)">
<summary>
根据用户id得到该用户有哪些角色
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GetUserInfoById">
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GetUserInRolesByHttpUser">
<summary>
根据http上下文的用户得到该用户信息关联角色
用于显示账号信息页中的用户信息和角色信息
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GetMenuByHttpUser">
<summary>
得到登录用户的递归菜单,放到导航栏
用户放到导航栏中
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GetAxiosByRouter(System.String)">
<summary>
得到请求模型
</summary>
<param name="router"></param>
<returns></returns>
</member>
</members>
</doc>

View File

@@ -14,7 +14,6 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Quartz" Version="3.3.3" />
</ItemGroup>
<ItemGroup>

View File

@@ -1,5 +1,4 @@
{
"urls": "http://*:19000",
"Logging": {
"LogLevel": {
"Default": "Information",