Skip to content

Commit 8ee107b

Browse files
committed
[feat] 应用消息支持手工设置或清空延迟时间,变相实现调整优先级
1 parent a94bb3b commit 8ee107b

4 files changed

Lines changed: 66 additions & 0 deletions

File tree

AntJob.Web/Areas/Ant/Controllers/AppMessageController.cs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
using System.ComponentModel;
22
using AntJob.Data.Entity;
3+
using Microsoft.AspNetCore.Mvc;
34
using NewLife;
45
using NewLife.Cube;
56
using NewLife.Cube.Extensions;
67
using NewLife.Cube.ViewModels;
78
using NewLife.Web;
9+
using XCode.Membership;
810

911
namespace AntJob.Web.Areas.Ant.Controllers;
1012

@@ -40,4 +42,41 @@ protected override IEnumerable<AppMessage> Search(Pager p)
4042

4143
return AppMessage.Search(appid, jobid, start, end, p["q"], p);
4244
}
45+
46+
[EntityAuthorize(PermissionFlags.Update)]
47+
public ActionResult ClearDelay()
48+
{
49+
var rs = 0;
50+
foreach (var item in SelectKeys)
51+
{
52+
var entity = AppMessage.FindById(item.ToLong());
53+
if (entity != null)
54+
{
55+
entity.DelayTime = DateTime.MinValue;
56+
rs += entity.Update();
57+
}
58+
}
59+
60+
return JsonRefresh($"操作成功{rs}个");
61+
}
62+
63+
[EntityAuthorize(PermissionFlags.Update)]
64+
public ActionResult SetDelay(DateTime delayTime)
65+
{
66+
if (delayTime.Year < 2000) throw new ArgumentNullException(nameof(delayTime));
67+
68+
var rs = 0;
69+
foreach (var item in SelectKeys)
70+
{
71+
var entity = AppMessage.FindById(item.ToLong());
72+
if (entity != null)
73+
{
74+
entity.DelayTime = delayTime;
75+
76+
rs += entity.Update();
77+
}
78+
}
79+
80+
return JsonRefresh($"操作成功{rs}个");
81+
}
4382
}

AntJob.Web/Areas/Ant/Controllers/JobController.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ static JobController()
3232
var df = ListFields.GetField("Name") as ListField;
3333
df.Url = "/Ant/JobTask?appid={AppID}&jobId={ID}";
3434
}
35+
{
36+
var df = ListFields.GetField("DisplayName") as ListField;
37+
df.Title = "{Remark}";
38+
}
3539
//{
3640
// var df = ListFields.AddListField("Task", "Enable");
3741
// df.DisplayName = "任务";

AntJob.Web/Areas/Ant/Controllers/JobTaskController.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ static JobTaskController()
2929
ListFields.RemoveField("Server", "ProcessID", "End");
3030
ListFields.RemoveCreateField();
3131

32+
{
33+
var df = ListFields.GetField("Client") as ListField;
34+
df.Url = "?appId={AppID}&jobId={page:jobId}&status={page:status}&client={Client}";
35+
}
3236
{
3337
var df = ListFields.GetField("DataTime") as ListField;
3438
df.Header = "时间/数据";
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
@using NewLife.Common;
2+
@using System.Collections.Generic;
3+
@{
4+
var set = ViewBag.PageSetting as PageSetting;
5+
var page = ViewBag.Page as Pager;
6+
}
7+
@if (set.EnableSelect)
8+
{
9+
<button type="button" class="btn btn-success btn-sm" data-action="action" data-url="@Url.Action("ClearDelay")" data-fields="keys" disabled>
10+
清空延迟
11+
</button>
12+
<div class="form-group">
13+
<label for="delayTime" class="control-label">延迟时间:</label>
14+
@Html.TextBox("delayTime", page["delayTime"], new { @class = "form-control form_datetime", style = "width:106px", autocomplete = "off" })
15+
</div>
16+
<button type="button" class="btn btn-purple btn-sm" data-action="action" data-method="POST" data-url="@Url.Action("SetDelay")" data-fields="keys,delayTime" disabled>
17+
设置延迟
18+
</button>
19+
}

0 commit comments

Comments
 (0)