package com.malk.service.dingtalk;

import com.alibaba.fastjson.JSONObject;

import java.util.List;
import java.util.Map;

public interface DDClient_Event {

    /**
     * 钉钉考勤回调事件
     */
    void callBackEvent_Attendance(JSONObject eventJson);
    
    /**
     * 钉钉审批回调事件
     * -
     * 审批任务可以获取到, 审批意见 [监听转交]; 审批回调可以监听到发起人撤销
     */
    void callBackEvent_Workflow(JSONObject eventJson);

    /**
     * 同步推送失败记录定时处理 [推送失败钉钉记录, 获取后记录会被清空]
     * -
     * 定时任务进行调用: 同步后自动执行 callBackEvent_Workflow 方法实现
     * 回调数据字段名称: bpmsCallBackData：审批回调, roleLabelChange：角色回调, callbackData：其他回调
     */
    void syncFailedList(String access_token);

    ////////////////////////////////////////////////////////////////////////////

    /**
     * 获取推送失败列表
     * -
     * 推送失败钉钉记录, 获取后记录会被清空
     */
    List<Map> getFailedList(String access_token);

    /**
     * 获取推送失败列表_全部
     */
    List getFailedList_all(String access_token);

}
