using OASystem.Domain.Dtos.QiYeWeChat; using OASystem.Domain.ViewModels.QiYeWeChat; namespace OASystem.API.OAMethodLib.QiYeWeChatAPI { /// <summary> /// 企业微信Api 服务 /// </summary> public interface IQiYeWeChatApiService { ///// <summary> ///// 获取access_token ///// </summary> ///// <param name="applicationType"> ///// 1:人事助手 ///// 2:打卡 ///// 3:邮件 ///// 6:团组状态通知 ///// </param> ///// <returns></returns> //Task<Access_TokenView> GetToken(int applicationType); /// <summary> /// 创建员工 /// </summary> /// <param name="create_Request"></param> /// <returns></returns> Task<ResponseBase> CreateAsync(Create_Request create_Request); /// <summary> /// 获取成员ID列表 /// </summary> /// <returns></returns> Task<UserIdListView> GetUserIdListAsync(); /// <summary> /// 获取成员信息 /// </summary> /// <returns></returns> Task<QYWX_UserInfosView> GetUserInfosAsync(); /// <summary> /// 获取企业所有打卡规则 /// </summary> /// <returns></returns> Task<CorpCheckInRuleView> GetCheckIn_CorpCheckInOptionAsync(); /// <summary> /// 获取月打卡数据 /// </summary> /// <param name="startDt"></param> /// <param name="endDt"></param> /// <returns></returns> Task<CheckInView> GetCheckin_MonthDataAsync(DateTime startDt, DateTime endDt); /// 获取月打卡数据 /// </summary> /// <param name="startDt"></param> /// <param name="endDt"></param> /// <returns></returns> Task<CheckInView> GetCheckin_MonthDataAsync1(DateTime startDt, DateTime endDt); /// <summary> /// 获取用户考核打卡记录 /// </summary> /// <param name="startDt"></param> /// <param name="endDt"></param> /// <param name="qiyeUid"></param> /// <returns></returns> Task<object> QueryAssessmentByUser(DateTime startDt, DateTime endDt, List<string> qiyeUidList); /// <summary> /// 获取月打卡数据 Redis /// </summary> /// <param name="startDt"></param> /// <param name="endDt"></param> /// <returns></returns> Task<CheckInView> GetCheckin_MonthDataRedisAsync(DateTime startDt, DateTime endDt); /// <summary> /// 获取打卡记录数据 /// </summary> /// <param name="useridlist">需要获取打卡记录的用户列表</param> /// <param name="opencheckindatatype">打卡类型。1:上下班打卡;2:外出打卡;3:全部打卡</param> /// <param name="startDt">获取打卡记录的开始时间。Unix时间戳</param> /// <param name="endDt">获取打卡记录的结束时间。Unix时间戳</param> /// <returns></returns> Task<CheckInDataView> GetCheckinDataAsync(List<string> useridlist, int opencheckindatatype, DateTime startDt, DateTime endDt); /// <summary> /// 获取打卡日报数据 /// </summary> /// <param name="useridlist"></param> /// <param name="startDt"></param> /// <param name="endDt"></param> /// <returns></returns> Task<CheckInDayDataView> GetCheckInDayDataAsync(List<string> useridlist, DateTime startDt, DateTime endDt); /// <summary> /// 获取审批数据(旧) /// </summary> /// <param name="startDt"></param> /// <param name="endDt"></param> /// <returns></returns> Task<ApprovalDataView> GetApprovalDataAsync(DateTime startDt, DateTime endDt); /// <summary> /// 获取审批数据(旧) /// </summary> /// <param name="startDt"></param> /// <param name="endDt"></param> /// <returns></returns> Task<List<Sp_Info>> GetApprovalDatasAsync(DateTime startDt, DateTime endDt); /// <summary> /// 获取审批数据(旧)(redis缓存) /// </summary> /// <param name="startDt"></param> /// <param name="endDt"></param> /// <returns></returns> Task<List<Sp_Info>> GetApprovalDatasRedisAsync(DateTime startDt, DateTime endDt); ///// <summary> ///// 批量获取审批单号 ///// </summary> ///// <param name="startDt"></param> ///// <param name="endDt"></param> ///// <param name="record_type"> ///// sp_status-审批单状态(1-审批中;2-已通过;3-已驳回;4-已撤销;6-通过后撤销;7-已删除;10-已支付) ///// </param> ///// <returns></returns> //Task<ApprovalInfoView> GetApprovalInfoAsync(DateTime startDt, DateTime endDt, int record_type); //// <summary> /// 批量获取审批详情 /// <param name="startDt"></param> /// <param name="endDt"></param> /// <param name="creator"> /// 申请人 /// </param> /// <param name="sp_status"> /// sp_status-审批单状态(1-审批中;2-已通过;3-已驳回;4-已撤销;6-通过后撤销;7-已删除;10-已支付) /// </param> /// <param name="record_type"> /// record_type - 审批单类型属性,1-请假;2-打卡补卡;3-出差;4-外出;5-加班; 6- 调班;7-会议室预定;8-退款审批;9-红包报销审批 /// </param> /// <returns></returns> Task<List<Sp_Detail>> GetApprovalDetailsAsync(DateTime startDt, DateTime endDt, string creator, int sp_status, int record_type); /// <summary> /// 获取审批模板详情 /// </summary> /// <param name="template_id">模板Id</param> /// <returns></returns> Task<TemplateDetailView> GetTemplateDetailAsync(string template_id); /// <summary> /// 获取审批详情 /// </summary> /// <param name="spNo">审批No</param> /// <returns></returns> Task<ApprovalDetailView> GetApprovalDetailAsync(string spNo); /// <summary> /// hook 发送团组出发信息给财务群 /// </summary> /// <param name="msg"></param> /// <returns></returns> Task<ResponseBase> RobotSendMsg_GroupInfo(string msg); #region 团组状态通知 /// <summary> /// 获取部门成员 /// </summary> /// <returns></returns> Task<GroupStatus_UserSimplelistView> GroupStatus_GetUserList(int departmentId = 8402038); /// <summary> /// 创建群聊 /// </summary> /// <returns></returns> Task<GroupStatus_CreateChatView> GroupStatus_CreateChat(string chatName, string owner, List<string> userList, string chatId); /// <summary> /// 向群聊发送消息 /// </summary> /// <param name="chatId"></param> /// <param name="msgContent"></param> /// <returns></returns> Task<ResponseBase> GroupStatus_SendChatMsg_Markdown(string chatId, string msgContent, string msgType = "markdown"); /// <summary> /// 向用户发送信息 /// </summary> /// <param name="toUser"></param> /// <param name="msgContent"></param> /// <param name="msgType"></param> /// <returns></returns> Task<GroupStatus_SendMessageView> GroupStatus_SendMessage_ToUser_Markdown(List<string> toUser, string msgContent, string msgType = "markdown"); #endregion } }