You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
4.3 KiB
C#
128 lines
4.3 KiB
C#
using Furion.DependencyInjection;
|
|
using Furion.DistributedIDGenerator;
|
|
using Furion.DynamicApiController;
|
|
using Furion.FriendlyException;
|
|
using Mapster;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Myshipping.Application.Entity;
|
|
using Myshipping.Core;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.DirectoryServices.ActiveDirectory;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Myshipping.Application.Service.TaskManagePlat
|
|
{
|
|
|
|
/// <summary>
|
|
/// 租户任务流程配置
|
|
/// </summary>
|
|
[ApiDescriptionSettings("Application", Name = "TaskFlowTenant", Order = 10)]
|
|
public class TaskFlowTenantService : IDynamicApiController, ITransient
|
|
{
|
|
|
|
private readonly SqlSugarRepository<TaskFlowTenant> _rep;
|
|
public TaskFlowTenantService(SqlSugarRepository<TaskFlowTenant> rep)
|
|
{
|
|
_rep = rep;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 分页查询租户任务流程配置
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[ApiDescriptionSettings(Name = "Page")]
|
|
public async Task<SqlSugarPagedList<TaskFlowTenant>> Page(TaskFlowTenantInput input)
|
|
{
|
|
var query = _rep.AsQueryable()
|
|
.Select(u => new TaskFlowTenant
|
|
{
|
|
PK_ID = u.PK_ID,
|
|
FlowCode = u.FlowCode,
|
|
MethodName = u.MethodName,
|
|
PId = u.PId,
|
|
IsMain = u.IsMain,
|
|
IsBoolReturn = u.IsBoolReturn,
|
|
TrueMethod = u.TrueMethod,
|
|
FalseMethod = u.FalseMethod,
|
|
TaskApiId = u.TaskApiId,
|
|
SYSTEM_CODE = u.SYSTEM_CODE,
|
|
SYSTEM_NAME = u.SYSTEM_NAME
|
|
});
|
|
|
|
return await query.ToPagedListAsync(input.PageNo, input.PageSize);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 增加租户任务流程配置
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[ApiDescriptionSettings(Name = "Add")]
|
|
public async Task Add(AddTaskFlowTenantInput input)
|
|
{
|
|
var entity = input.Adapt<TaskFlowTenant>();
|
|
entity.PK_ID = IDGen.NextID().ToString();
|
|
await _rep.InsertAsync(entity);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除租户任务流程配置
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[ApiDescriptionSettings(Name = "Delete")]
|
|
public async Task Delete(DeleteTaskFlowTenantInput input)
|
|
{
|
|
var entity = await _rep.FirstOrDefaultAsync(u => u.PK_ID == input.PK_ID) ?? throw Oops.Oh("数据不存在");
|
|
entity.IsDeleted = true;
|
|
await _rep.UpdateAsync(entity);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新租户任务流程配置
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[ApiDescriptionSettings(Name = "Update")]
|
|
public async Task Update(UpdateTaskFlowTenantInput input)
|
|
{
|
|
var entity = input.Adapt<TaskFlowTenant>();
|
|
await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取租户任务流程配置
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[ApiDescriptionSettings(Name = "Detail")]
|
|
public async Task<TaskFlowTenant> Get(GetTaskFlowTenantInfoInput input)
|
|
{
|
|
return await _rep.FirstOrDefaultAsync(u => u.PK_ID == input.PK_ID);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取租户任务流程配置
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[ApiDescriptionSettings(Name = "List")]
|
|
public async Task<List<TaskFlowTenant>> List([FromQuery] TaskFlowTenantInput input)
|
|
{
|
|
return await _rep.AsQueryable().Select<TaskFlowTenant>().ToListAsync();
|
|
}
|
|
|
|
}
|
|
}
|