package com.gis.dingtalk; import com.alibaba.fastjson.JSONObject; import com.dtflys.forest.annotation.*; import com.gis.dingtalk.dto.DingMsgDto; /** * 钉钉客户端 */ @BaseRequest(sslProtocol = "TLS") public interface DingClient { /** * 获取access_token * 正常情况下access_token有效期为7200秒,有效期内重复获取返回相同结果,并自动续期。 */ @Get("https://oapi.dingtalk.com/gettoken?appkey={appkey}&appsecret={appSecret}") JSONObject getToken(@Var("appkey") String appkey, @Var("appSecret") String appSecret); /** * 根据手机号获取userid */ @Get("https://oapi.dingtalk.com/user/get_by_mobile?access_token={accessToken}&mobile={mobile}") JSONObject getUserByMobile(@Var("accessToken") String accessToken, @Var("mobile") String mobile); /** * 发送钉钉消息通知 */ @Post("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token={accessToken}") JSONObject sendMsg(@Var("accessToken") String accessToken, @JSONBody DingMsgDto object); /** * 获取单个审批实例详情 * @param accessToken * @param processInstanceId 审批实例ID etoy6f7RRBmUYgTNoFjq0w05391707123720 盛建民提交的报销申请 2024-02-05 * @return */ @Get("https://api.dingtalk.com/v1.0/workflow/processInstances?processInstanceId={processInstanceId}") JSONObject getWorkflowInfo(@Header("x-acs-dingtalk-access-token") String accessToken, @Var("processInstanceId")String processInstanceId); }