推送规则,异常停机推送

This commit is contained in:
2023-07-06 11:18:02 +08:00
parent c6e46b4ad9
commit 902c0eb301
16 changed files with 712 additions and 60 deletions

View File

@@ -0,0 +1,52 @@
using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar;
namespace Tnb.BasicData.Entities;
/// <summary>
/// 推送规则子表
/// </summary>
[SugarTable("bas_push_rule_d")]
public partial class BasPushRuleD : BaseEntity<string>
{
public BasPushRuleD()
{
id = SnowflakeIdHelper.NextId();
}
/// <summary>
/// 推送规则主表id
/// </summary>
public string push_rule_id { get; set; } = string.Empty;
/// <summary>
/// 推送人id
/// </summary>
public string? user_ids { get; set; }
/// <summary>
/// 推送角色id
/// </summary>
public string? role_ids { get; set; }
/// <summary>
/// 推送岗位id
/// </summary>
public string? position_ids { get; set; }
/// <summary>
/// 间隔(分)
/// </summary>
public int interval { get; set; }
/// <summary>
/// 发送配置id
/// </summary>
public string? send_config_id { get; set; }
/// <summary>
/// 排序
/// </summary>
public long? ordinal { get; set; }
}

View File

@@ -0,0 +1,72 @@
using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar;
namespace Tnb.BasicData.Entities;
/// <summary>
/// 推送规则主表
/// </summary>
[SugarTable("bas_push_rule_h")]
public partial class BasPushRuleH : BaseEntity<string>
{
public BasPushRuleH()
{
id = SnowflakeIdHelper.NextId();
}
/// <summary>
/// 编码
/// </summary>
public string code { get; set; } = string.Empty;
/// <summary>
/// 名称
/// </summary>
public string name { get; set; } = string.Empty;
/// <summary>
/// 是否启用
/// </summary>
public int enabled { get; set; }
/// <summary>
/// 备注
/// </summary>
public string? remark { get; set; }
/// <summary>
/// 创建用户
/// </summary>
public string? create_id { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? create_time { get; set; }
/// <summary>
/// 修改用户
/// </summary>
public string? modify_id { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? modify_time { get; set; }
/// <summary>
/// 所属组织
/// </summary>
public string? org_id { get; set; }
/// <summary>
/// 流程任务Id
/// </summary>
public string? f_flowtaskid { get; set; }
/// <summary>
/// 流程引擎Id
/// </summary>
public string? f_flowid { get; set; }
}

View File

@@ -0,0 +1,42 @@
using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar;
namespace Tnb.BasicData.Entities;
/// <summary>
/// 定时消息推送log
/// </summary>
[SugarTable("bas_push_rule_log")]
public partial class BasPushRuleLog : BaseEntity<string>
{
public BasPushRuleLog()
{
id = SnowflakeIdHelper.NextId();
}
/// <summary>
/// 推送规则id
/// </summary>
public string push_rule_id { get; set; } = string.Empty;
/// <summary>
/// 定时任务id
/// </summary>
public string timetask_id { get; set; } = string.Empty;
/// <summary>
/// 业务主键id
/// </summary>
public string biz_id { get; set; } = string.Empty;
/// <summary>
/// 要推送的层级
/// </summary>
public long ordinal { get; set; }
/// <summary>
/// 是否推送
/// </summary>
public int is_push { get; set; }
}

View File

@@ -0,0 +1,15 @@
namespace Tnb.BasicData.Interfaces
{
/// <summary>
/// 推送记录服务
/// </summary>
public interface IBasPushRuleLogService
{
/// <summary>
/// 停止推送
/// </summary>
/// <param name="dic"></param>
/// <returns></returns>
public Task<dynamic> Stop(Dictionary<string, string> dic);
}
}

View File

@@ -92,7 +92,7 @@ namespace Tnb.BasicData
{
var db = _repository.AsSugarClient();
BasMbom mbom = await _repository.GetSingleAsync(x => x.id == id);
List<BasMbomProcess> processes = await db.Queryable<BasMbomProcess>().Where(x => x.mbom_id == id).ToListAsync();
List<BasMbomProcess> processes = await db.Queryable<BasMbomProcess>().Where(x => x.mbom_id == id).OrderBy(x=>x.ordinal).ToListAsync();
List<BasMbomInput> inputs = await db.Queryable<BasMbomInput>().Where(x => x.mbom_id == id).ToListAsync();
List<BasMbomOutput> outputs = await db.Queryable<BasMbomOutput>().Where(x => x.mbom_id == id).ToListAsync();
MbomDataOutput mbomDataOutput = new MbomDataOutput();

View File

@@ -0,0 +1,44 @@
using JNPF.Common.Core.Manager;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.VisualDev.Interfaces;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.BasicData.Entities;
using Tnb.BasicData.Interfaces;
namespace Tnb.BasicData
{
/// <summary>
/// 推送记录服务
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")]
public class BasPushRuleLogService : IBasPushRuleLogService, IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<BasPushRuleLog> _repository;
private readonly DataBaseManager _dbManager;
private readonly IUserManager _userManager;
private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService;
public BasPushRuleLogService(
ISqlSugarRepository<BasPushRuleLog> repository,
IUserManager userManager)
{
_repository = repository;
_userManager = userManager;
}
[HttpPost]
public async Task<dynamic> Stop(Dictionary<string, string> dic)
{
string id = dic["id"];
await _repository.UpdateAsync(x => new BasPushRuleLog()
{
is_push = 0,
}, x => x.biz_id == id);
return true;
}
}
}