using Microsoft.AspNetCore.Mvc;
using Tiobon.Core.Common;
using Tiobon.Core.Model.ViewModels.Extend;
namespace Tiobon.Core.IServices;
///
/// 个人简历(自定义服务接口)
///
public interface IGhrh_ResumeServices : IBaseServices
{
Task>> QueryViewTab(int langId=1);
Task>> QueryConditions();
Task SwitchIsRecommend(List ids, bool isRecommend);
Task UpdateStatus(List ids, string status);
Task Recovery(List ids);
Task MarkTags(List ids, List tags);
Task> CheckIsExist(EditGhrh_ResumeInput input);
Task>> QueryCompanyInfo(string companySpecCode, int langId);
Task> Query(long id, int langId);
Task Submit(long id, string status, ResumeFormColumnSubmit resume);
Task> QueryResult(long id, int langId);
Task> Export(QueryBody filter, string condition, bool? IsEnable = true);
Task Recommend(ResumeRecommendForm recommend);
Task RemindHasRecommend(List id);
Task SubscribeInterview(long id, ResumeSubscribeInterviewForm form);
Task ScheduleInterview(long id, ResumeScheduleInterviewForm body);
Task ModifyInterviewTime(long id, string time);
Task RemindWaitInterview(List ids);
Task RescheduleInterview(long id, ResumeRescheduleInterviewForm input, string type);
Task AssessInterview(long id, int status, List> input, string source);
Task ModifyInterviewer(long id, List InterviewStaffs);
Task TransferHasSendOffer(long id, long templateId, Dictionary extFields);
Task SendOffer(long id, long templateId, Dictionary extFields);
Task RemindHasOffer(List ids);
Task ModifyIsOffer(List ids, bool isOffer);
Task> QueryESS(QueryBody filter, string condition);
Task Fail(ResumeFailInterviewForm input);
Task> QueryScheduleInterviewForm(long id);
Task CancelInterview(long id, ResumeCancelInterviewForm input);
Task ApplyOfferApproval(List ids);
Task OverTimeDeleteResume();
Task> Download(List ids);
Task> QueryAssessForm(long id, long? orderId = null, [FromBody] ResumeAssessForm assessForm = null);
Task Shihua_OA_Sync();
Task>> Log(long id);
Task> OfferDownLoad(long id, long templateId, Dictionary extFields);
Task SyncToStaff(long id);
Task> QueryWorkstationInit(int langId , string menuName);
Task> QueryWorkStationStatisticsChart(int langId = 1);
Task> QueryHireList(QueryBody filter);
Task> ExportHireExcel(QueryExport body);
Task InterviewOrderOverTime();
}