提交 3b0789a3 编写于 作者: 霍先生

feat:联系人token使用ContactTokenInterceptor添加

上级 e4d09dc3
......@@ -6,6 +6,7 @@ import com.dtflys.forest.annotation.DataObject;
import com.dtflys.forest.annotation.Request;
import com.linkwechat.wecom.domain.dto.WeResultDto;
import com.linkwechat.wecom.domain.dto.tag.*;
import com.linkwechat.wecom.interceptor.ContactTokenInterceptor;
import com.linkwechat.wecom.interceptor.WeAccessTokenInterceptor;
/**
......@@ -21,9 +22,7 @@ public interface WeCropTagClient {
* @param weCropGroupTag dataType = "json"
* @return
*/
@Request(url="/externalcontact/add_corp_tag",
type = "POST"
)
@Request(url="/externalcontact/add_corp_tag", type = "POST", interceptor = ContactTokenInterceptor.class)
WeCropGropTagDtlDto addCorpTag(@DataObject WeCropGroupTagDto weCropGroupTag);
......@@ -31,9 +30,7 @@ public interface WeCropTagClient {
* 获取所有标签 WeCropGroupTagDto
* @return
*/
@Request(url = "/externalcontact/get_corp_tag_list",
type = "POST"
)
@Request(url = "/externalcontact/get_corp_tag_list", type = "POST", interceptor = ContactTokenInterceptor.class)
WeCropGroupTagListDto getAllCorpTagList();
......@@ -41,9 +38,7 @@ public interface WeCropTagClient {
* 根据指定标签的id,获取标签详情
* @return
*/
@Request(url = "/externalcontact/get_corp_tag_list",
type = "POST"
)
@Request(url = "/externalcontact/get_corp_tag_list", type = "POST", interceptor = ContactTokenInterceptor.class)
WeCropGroupTagListDto getCorpTagListByTagIds(@Body WeFindCropTagParam weFindCropTagParam);
......@@ -52,9 +47,7 @@ public interface WeCropTagClient {
* @param weCropDelDto
* @return
*/
@Request(url = "/externalcontact/del_corp_tag",
type = "POST"
)
@Request(url = "/externalcontact/del_corp_tag", type = "POST", interceptor = ContactTokenInterceptor.class)
WeResultDto delCorpTag(@DataObject WeCropDelDto weCropDelDto);
......@@ -63,8 +56,6 @@ public interface WeCropTagClient {
* @param weCropTagDto
* @return
*/
@Request(url = "/externalcontact/edit_corp_tag",
type = "POST"
)
@Request(url = "/externalcontact/edit_corp_tag", type = "POST", interceptor = ContactTokenInterceptor.class)
WeResultDto editCorpTag(@DataObject WeCropTagDto weCropTagDto);
}
\ No newline at end of file
......@@ -5,6 +5,7 @@ import com.linkwechat.wecom.domain.dto.*;
import com.linkwechat.wecom.domain.dto.customer.*;
import com.linkwechat.wecom.domain.query.GroupChatStatisticQuery;
import com.linkwechat.wecom.domain.query.UserBehaviorDataQuery;
import com.linkwechat.wecom.interceptor.ContactTokenInterceptor;
import com.linkwechat.wecom.interceptor.WeAccessTokenInterceptor;
......@@ -22,7 +23,7 @@ public interface WeCustomerClient {
* 获取配置了客户联系功能的成员列表
* @return
*/
@Request(url = "/externalcontact/get_follow_user_list")
@Request(url = "/externalcontact/get_follow_user_list", interceptor = ContactTokenInterceptor.class)
FollowUserList getFollowUserList();
......@@ -31,7 +32,7 @@ public interface WeCustomerClient {
* @param userId 企业服务管理人员id(具有外部联系功能的员工)
* @return
*/
@Request(url = "/externalcontact/list")
@Request(url = "/externalcontact/list",interceptor = ContactTokenInterceptor.class)
ExternalUserList list(@Query("userid") String userId);
......@@ -40,7 +41,7 @@ public interface WeCustomerClient {
* @param externalUserid
* @return
*/
@Request(url = "/externalcontact/get")
@Request(url = "/externalcontact/get",interceptor = ContactTokenInterceptor.class)
ExternalUserDetail get(@Query("external_userid") String externalUserid);
/**
......@@ -48,7 +49,7 @@ public interface WeCustomerClient {
* @param query
* @return
*/
@Request(url = "/externalcontact/batch/get_by_user", type = "POST")
@Request(url = "/externalcontact/batch/get_by_user", type = "POST",interceptor = ContactTokenInterceptor.class)
ExternalUserList getByUser(@DataObject Map<String,Object> query);
......@@ -67,17 +68,14 @@ public interface WeCustomerClient {
* 编辑客户标签
* @return
*/
@Request(url = "/externalcontact/mark_tag",
type = "POST"
)
@Request(url = "/externalcontact/mark_tag", type = "POST", interceptor = ContactTokenInterceptor.class)
WeResultDto makeCustomerLabel(@DataObject CutomerTagEdit cutomerTagEdit);
/**
* 客户发送欢迎语
*/
@Request(url = "/externalcontact/send_welcome_msg",
type = "POST")
@Request(url = "/externalcontact/send_welcome_msg", type = "POST", interceptor = ContactTokenInterceptor.class)
WeResultDto sendWelcomeMsg(@DataObject WeWelcomeMsg wxCpWelcomeMsg);
......@@ -85,8 +83,7 @@ public interface WeCustomerClient {
* unionid转换external_userid
* @return
*/
@Request(url = "/externalcontact/unionid_to_external_userid",
type = "POST")
@Request(url = "/externalcontact/unionid_to_external_userid", type = "POST", interceptor = ContactTokenInterceptor.class)
ExternalUserDetail unionidToExternalUserid(@DataObject ExternalUserDetail.ExternalContact unionid);
......@@ -94,23 +91,20 @@ public interface WeCustomerClient {
* 联系客户统计
* @return
*/
@Request(url = "/externalcontact/get_user_behavior_data",
type = "POST")
@Request(url = "/externalcontact/get_user_behavior_data", type = "POST", interceptor = ContactTokenInterceptor.class)
UserBehaviorDataDto getUserBehaviorData(@JSONBody UserBehaviorDataQuery query);
/**
* 群聊数据统计(按群主聚合的方式)
* @return
*/
@Request(url = "/externalcontact/groupchat/statistic",
type = "POST")
@Request(url = "/externalcontact/groupchat/statistic", type = "POST", interceptor = ContactTokenInterceptor.class)
GroupChatStatisticDto getGroupChatStatistic(@JSONBody GroupChatStatisticQuery query);
/**
* 群聊数据统计(按自然日聚合的方式)
* @return
*/
@Request(url = "/externalcontact/groupchat/statistic_group_by_day",
type = "POST")
@Request(url = "/externalcontact/groupchat/statistic_group_by_day", type = "POST", interceptor = ContactTokenInterceptor.class)
GroupChatStatisticDto getGroupChatStatisticGroupByDay(@JSONBody GroupChatStatisticQuery query);
}
......@@ -6,6 +6,7 @@ import com.dtflys.forest.annotation.Query;
import com.dtflys.forest.annotation.Request;
import com.linkwechat.wecom.domain.dto.customer.CustomerGroupDetail;
import com.linkwechat.wecom.domain.dto.customer.CustomerGroupList;
import com.linkwechat.wecom.interceptor.ContactTokenInterceptor;
import com.linkwechat.wecom.interceptor.WeAccessTokenInterceptor;
/**
......@@ -22,9 +23,7 @@ public interface WeCustomerGroupClient {
* @param params
* @return
*/
@Request(url="/externalcontact/groupchat/list",
type = "POST"
)
@Request(url="/externalcontact/groupchat/list", type = "POST", interceptor = ContactTokenInterceptor.class)
CustomerGroupList groupChatLists(@DataObject CustomerGroupList.Params params);
......@@ -33,8 +32,6 @@ public interface WeCustomerGroupClient {
* @param params
* @return
*/
@Request(url="/externalcontact/groupchat/get",
type = "POST"
)
@Request(url="/externalcontact/groupchat/get", type = "POST", interceptor = ContactTokenInterceptor.class)
CustomerGroupDetail groupChatDetail(@DataObject CustomerGroupDetail.Params params);
}
\ No newline at end of file
......@@ -5,6 +5,7 @@ import com.linkwechat.wecom.domain.dto.message.QueryCustomerMessageStatusResultD
import com.linkwechat.wecom.domain.dto.message.QueryCustomerMessageStatusResultDto;
import com.linkwechat.wecom.domain.dto.message.SendMessageResultDto;
import com.linkwechat.wecom.domain.dto.message.WeCustomerMessagePushDto;
import com.linkwechat.wecom.interceptor.ContactTokenInterceptor;
import com.linkwechat.wecom.interceptor.WeAccessTokenInterceptor;
/**
......@@ -20,9 +21,7 @@ public interface WeCustomerMessagePushClient {
* 添加企业群发消息任务
* <a href="https://work.weixin.qq.com/api/doc/90000/90135/92135">API文档地址</a>
*/
@Request(url = "/externalcontact/add_msg_template",
type = "POST"
)
@Request(url = "/externalcontact/add_msg_template", type = "POST",interceptor = ContactTokenInterceptor.class)
SendMessageResultDto sendCustomerMessageToUser(@Body WeCustomerMessagePushDto customerMessagePushDto);
/**
......@@ -31,9 +30,7 @@ public interface WeCustomerMessagePushClient {
*
* @param queryCustomerMessageStatusResultDataObjectDto{msgid} <a href="https://work.weixin.qq.com/api/doc/90000/90135/92135">添加企业群发消息任务返回的msgid</a>
*/
@Request(url = "/externalcontact/get_group_msg_result",
type = "POST"
)
@Request(url = "/externalcontact/get_group_msg_result", type = "POST", interceptor = ContactTokenInterceptor.class)
QueryCustomerMessageStatusResultDto queryCustomerMessageStatus(@Body QueryCustomerMessageStatusResultDataObjectDto queryCustomerMessageStatusResultDataObjectDto);
......
......@@ -5,6 +5,7 @@ import com.dtflys.forest.annotation.DataObject;
import com.dtflys.forest.annotation.Query;
import com.dtflys.forest.annotation.Request;
import com.linkwechat.wecom.domain.dto.WeExternalContactDto;
import com.linkwechat.wecom.interceptor.ContactTokenInterceptor;
import com.linkwechat.wecom.interceptor.WeAccessTokenInterceptor;
/**
......@@ -15,12 +16,10 @@ import com.linkwechat.wecom.interceptor.WeAccessTokenInterceptor;
@BaseRequest(interceptor = WeAccessTokenInterceptor.class)
public interface WeExternalContactClient {
@Request(url = "/externalcontact/add_contact_way",
type = "POST"
)
@Request(url = "/externalcontact/add_contact_way", type = "POST", interceptor = ContactTokenInterceptor.class)
WeExternalContactDto addContactWay(@DataObject WeExternalContactDto.WeContactWay weContactWay);
@Request(url = "/externalcontact/update_contact_way", type = "POST")
@Request(url = "/externalcontact/update_contact_way", type = "POST", interceptor = ContactTokenInterceptor.class)
WeExternalContactDto updateContactWay(@DataObject WeExternalContactDto.WeContactWay weContactWay);
@Request(url = "/externalcontact/del_contact_way", type = "POST")
......
......@@ -2,6 +2,7 @@ package com.linkwechat.wecom.client;
import com.dtflys.forest.annotation.*;
import com.linkwechat.wecom.domain.dto.*;
import com.linkwechat.wecom.interceptor.ContactTokenInterceptor;
import com.linkwechat.wecom.interceptor.WeAccessTokenInterceptor;
/**
......@@ -66,9 +67,7 @@ public interface WeUserClient {
* 分配客户
* @return
*/
@Request(url="/externalcontact/transfer",
type = "POST"
)
@Request(url="/externalcontact/transfer", type = "POST", interceptor = ContactTokenInterceptor.class)
WeResultDto allocateCustomer(@Body AllocateWeCustomerDto allocateWeCustomerDto);
......@@ -76,9 +75,7 @@ public interface WeUserClient {
* 分配成员群
* @return
*/
@Request(url="/externalcontact/groupchat/transfer",
type = "POST"
)
@Request(url="/externalcontact/groupchat/transfer", type = "POST", interceptor = ContactTokenInterceptor.class)
WeResultDto allocateGroup(@Body AllocateWeGroupDto allocateWeGroupDto);
......@@ -86,10 +83,7 @@ public interface WeUserClient {
* 获取离职员工列表
* @return
*/
@Request(
url = "/externalcontact/get_unassigned_list",
type = "POST"
)
@Request(url = "/externalcontact/get_unassigned_list", type = "POST", interceptor = ContactTokenInterceptor.class)
LeaveWeUserListsDto leaveWeUsers();
......
package com.linkwechat.wecom.interceptor;
import com.dtflys.forest.http.ForestRequest;
import com.dtflys.forest.interceptor.Interceptor;
import com.linkwechat.wecom.service.IWeAccessTokenService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 联系人token拦截器
* @author huolifu
* @date 2021/6/16
*/
@Slf4j
@Component
public class ContactTokenInterceptor implements Interceptor {
@Autowired
private IWeAccessTokenService iWeAccessTokenService;
@Override
public boolean beforeExecute(ForestRequest request) {
request.addQuery("access_token",iWeAccessTokenService.findContactAccessToken());
return true;
}
}
......@@ -51,10 +51,7 @@ public class WeAccessTokenInterceptor implements Interceptor{
// 添加请求参数access_token
if(!Arrays.asList(weComeConfig.getNoAccessTokenUrl()).contains(uri)){
String token="";
if(Arrays.asList(weComeConfig.getNeedContactTokenUrl()).contains(uri)){ //需要联系人token
token=iWeAccessTokenService.findContactAccessToken();
}else if(Arrays.asList(weComeConfig.getNeedProviderTokenUrl()).contains(uri)){ //需要供应商token
if(Arrays.asList(weComeConfig.getNeedProviderTokenUrl()).contains(uri)){ //需要供应商token
token=iWeAccessTokenService.findProviderAccessToken();
}else if(Arrays.asList(weComeConfig.getNeedChatTokenUrl()).contains(uri)){ //需要会话存档token
token=iWeAccessTokenService.findChatAccessToken();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册