package com.ads.business.service;

import com.ads.business.service.data.GetLoginOutData;
import com.ads.common.data.JsonResult;
import com.ads.common.dingTalk.domain.UserDTO;
import com.dingtalk.api.request.*;
import com.dingtalk.api.response.OapiProcessWorkrecordCreateResponse;
import com.dingtalk.api.response.OapiWorkrecordGetbyuseridResponse;

import java.util.List;

/**
 * @Return
 * @Author hou
 * @Date 2021/9/3 11:10
 * @Destription
 */
public interface TokenService {

    String getAccessToken();

    JsonResult<String> getJsTicket();

    JsonResult<GetLoginOutData> getUserInfo(String token);

    List<String> getRoleUsersByIds(List<String> ids);

    UserDTO getUserById(String userId);

    JsonResult<OapiProcessWorkrecordCreateResponse.SaveFaceProcessInstanceResponse> createWorkRecord(OapiProcessWorkrecordCreateRequest.SaveFakeProcessInstanceRequest request);

    JsonResult updateWorkRecord(OapiProcessWorkrecordUpdateRequest.UpdateProcessInstanceRequest request);

    JsonResult sendDingMessage(OapiMessageCorpconversationAsyncsendV2Request request);

    JsonResult<String> addWorkRecord(OapiWorkrecordAddRequest request);

    JsonResult workRecordUpdate(OapiWorkrecordUpdateRequest request);

    JsonResult<List<OapiWorkrecordGetbyuseridResponse.WorkRecordVo>> getWorkRecordByUserId(OapiWorkrecordGetbyuseridRequest request);
}
