添加手动发布任务

Insight
zhangbin 2024-11-29 15:07:14 +08:00
parent 0591111e2a
commit 68c8335860
2 changed files with 63 additions and 2 deletions

View File

@ -52,7 +52,7 @@ namespace OpenAuth.App.ServiceApp
insTaskInfo.CreateUser = user == null ? "" : user.Id.ToString();
insTaskInfo.UpdateTime = DateTime.Now;
insTaskInfo.UpdateUser = user == null ? "" : user.Id.ToString();
insTaskInfo.State = 0;
insTaskInfo.State = 3;//未发布
insTaskInfo.IsCompleted = false;
insTaskInfo.CreateUserName = user == null ? "" : user.Name;
insTaskInfo.UpdateUserName = user == null ? "" : user.Name;
@ -282,7 +282,7 @@ namespace OpenAuth.App.ServiceApp
{
var insTaskInfo = await db.InsTask.GetFirstAsync(r => r.Id == req.Id);
//判断是否存在或者是否已被领取
if (insTaskInfo == null || insTaskInfo.State != 0)
if (insTaskInfo == null || insTaskInfo.State != 3)
throw new Exception("任务已被领取,无法修改");
var user = _auth.GetCurrentUser().User;
//删除任务分组表,任务前后时相表
@ -382,6 +382,46 @@ namespace OpenAuth.App.ServiceApp
}
}
/// <summary>
/// 手动发布任务
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<Response<string>> ReleaseTask(string id)
{
using (var db = base.UnitWork.CreateContext())
{
var insTaskInfo = await db.InsTask.GetFirstAsync(r => r.Id == id);
//判断是否存在或者是否已被领取
if (insTaskInfo == null || insTaskInfo.State != 3)
throw new Exception("任务已发布");
var user = _auth.GetCurrentUser().User;
// 插入任务和任务组以及前后时相
await db.InsTask.UpdateAsync(r => new InsTask
{
State = 0,
UpdateTime = DateTime.Now,
UpdateUser = user.Id.ToString(),
UpdateUserName = user.Name,
}, r => r.Id == id); ;
// 提交事务
if (db.Commit())
{
return new Response<string>
{
Result = "发布成功",
Message = "发布成功"
};
}
else
{
throw new Exception("发布失败");
}
}
}
/// <summary>
/// 获取单个任务信息
/// </summary>
/// <param name="id"></param>

View File

@ -102,6 +102,27 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
}
return response;
}
/// <summary>
/// 手动发布任务
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<string>> ReleaseTask(string id)
{
Response<string> response = new Response<string>();
try
{
return await _app.ReleaseTask(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 获取单个任务信息
/// </summary>