using Dlhis.Basic.Api.ClientHandler;
using Dlhis.Basic.Api.ContentHandlers;
using Dlhis.Basic.Api.Response;
using Kurisu.RemoteCall.Attributes;
namespace Dlhis.Basic.Api;
[RequestResultHandler]
[EnableRemoteClient(Name = "longRun-service", BaseUrl = "${InternalRequest:BasicRequestUrl}", PolicyHandler = typeof(LongRunClientHandler))]
public interface ISyncApi
{
///
/// 根据人事范围获取员工信息
///
///
///
[Post("/api/sync/gainfo/werk")]
[RequestContentHandler(typeof(CodeContentHandler))]
Task SyncGainfoByWerkAsync(string code);
///
/// 根据工号获取员工信息
///
///
///
[Post("/api/sync/gainfo/user")]
[RequestContentHandler(typeof(CodeContentHandler))]
Task SyncGainfoByUserCodeAsync(string code);
///
/// 获取组织架构数据
///
///
[Get("/api/sync/orgs")]
Task SyncOrganizationsAsync();
///
/// 获取职位数据
///
///
[Get("/api/sync/positions")]
Task GetPositionsAsync();
///
/// 差旅数据处理
///
///
///
[Post("/api/sync/businessTrips")]
[RequestContentHandler(typeof(CodeContentHandler))]
Task HandlerBusinessTripsAsync(string code);
///
/// 外包自动离职处理
///
///
[Post("/api/gainfoOutsource/autoResign")]
Task OutsourceAutoResignAsync();
///
/// 外部人员自动离职处理
///
///
[Post("/api/appointments/autoResign")]
Task ExternalAutoResignAsync();
}