From f0beadb9023ff20dc513ece3bcbd10051807663f Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 20 十月 2025 09:53:13 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java | 196 +++++++++++++++++++++++++++---------------------
1 files changed, 110 insertions(+), 86 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java
index 0f41075..7b2356e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java
@@ -373,20 +373,29 @@
* api 鍦板潃 https://open.dingtalk.com/document/orgapp/asynchronous-sending-of-enterprise-session-messages
* @throws ApiException
*/
- public void workInfoOANotice(Long agentId,String userIds,OapiMessageCorpconversationAsyncsendV2Request.Msg msg)throws ApiException {
- DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");
- OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request();
- request.setAgentId(agentId);
- request.setUseridList(userIds);
- request.setToAllUser(false);
+ public Boolean workInfoOANotice(Long agentId,String userIds,OapiMessageCorpconversationAsyncsendV2Request.Msg msg){
+ try{
+ if(CollectionUtils.isEmpty(msg)){
+ return null;
+ }
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");
+ OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request();
+ request.setAgentId(agentId);
+ request.setUseridList(userIds);
+ request.setToAllUser(false);
- request.setMsg(msg);
- OapiMessageCorpconversationAsyncsendV2Response rsp = client.execute(request, "60c2df248ca93d4eafb4a04a2330d3d3");//getToken());
- if(rsp.getErrcode().equals(Constants.DD_ERR_CODE)){
+ request.setMsg(msg);
+ OapiMessageCorpconversationAsyncsendV2Response rsp = client.execute(request, getToken());
+ if(rsp.getErrcode().equals(Constants.DD_ERR_CODE)){
+ return true;
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),rsp.getMessage());
+ }
+ }catch (ApiException apiException){
- }else{
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),rsp.getMessage());
}
+ return false;
+
}
@@ -532,79 +541,86 @@
* unionIdList 寰呭姙閫氱煡浜哄憳闆嗗悎
* @throws Exception
*/
- public String toDoNotice(String title,List<String> unionIdList,List<CreateTodoTaskRequest.CreateTodoTaskRequestContentFieldList> fieldList) throws Exception {
- com.aliyun.dingtalktodo_1_0.Client client = DingTalk.createV1Client();
- CreateTodoTaskHeaders createTodoTaskHeaders = new CreateTodoTaskHeaders();
- createTodoTaskHeaders.xAcsDingtalkAccessToken = "43cf8213909f34ef81e7447905b822fb";//getToken();
- //寰呭姙鎴鍓嶇殑鎻愰啋
- CreateTodoTaskRequest.CreateTodoTaskRequestRemindNotifyConfigs remindNotifyConfigs = new CreateTodoTaskRequest.CreateTodoTaskRequestRemindNotifyConfigs()
- .setDingNotify("1")
- .setSendTodoApn("true");
- //寰呭姙閫氱煡閰嶇疆
- CreateTodoTaskRequest.CreateTodoTaskRequestNotifyConfigs notifyConfigs = new CreateTodoTaskRequest.CreateTodoTaskRequestNotifyConfigs()
- .setDingNotify("1")
- .setSendTodoApn("true")
- .setSendAssistantChat("true");
- //鎸夐挳浜嬩欢
- CreateTodoTaskRequest.CreateTodoTaskRequestActionListParam actionList0Param = new CreateTodoTaskRequest.CreateTodoTaskRequestActionListParam()
- .setBody("");
- CreateTodoTaskRequest.CreateTodoTaskRequestActionList actionList0 = new CreateTodoTaskRequest.CreateTodoTaskRequestActionList()
- .setTitle("鍘诲鐞�")
- .setActionType(2)
- .setParam(actionList0Param)
- .setUrl("https://www.baidu.com") //TODO 璇︽儏鍦板潃
- .setActionKey("ak-1-1");
- //璇︽儏椤祏rl璺宠浆鍦板潃
- CreateTodoTaskRequest.CreateTodoTaskRequestDetailUrl detailUrl = new CreateTodoTaskRequest.CreateTodoTaskRequestDetailUrl()
- .setAppUrl("https://www.baidu.com")
- .setPcUrl("https://www.baidu.com");
- CreateTodoTaskRequest createTodoTaskRequest = new CreateTodoTaskRequest()
- .setSubject(title)
- .setCreatorId(unionIdList.get(Constants.ZERO))
- .setDescription(title)
- .setExecutorIds(unionIdList)
- .setDetailUrl(detailUrl)
- .setContentFieldList(fieldList)
- .setIsOnlyShowExecutor(true)
- .setPriority(20)
- .setNotifyConfigs(notifyConfigs)
- .setActionList(java.util.Arrays.asList(actionList0))
- .setTodoType("TODO")
- .setRemindNotifyConfigs(remindNotifyConfigs);
- try {
- CreateTodoTaskResponse response = client.createTodoTaskWithOptions(unionIdList.get(Constants.ZERO), createTodoTaskRequest, createTodoTaskHeaders, new com.aliyun.teautil.models.RuntimeOptions());
- log.error("寰呭姙閫氱煡鍙戦�佹垚鍔燂紝鍙戦�佸唴瀹癸細{}"+JSONObject.toJSONString(response));
- return response.getBody().getId();
- } catch (TeaException err) {
- if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
- log.error("寰呭姙閫氱煡鍙戦�佸け璐ワ紝澶辫触鍘熷洜锛歿}"+err.message);
+ public String toDoNotice(String title,List<String> unionIdList,List<CreateTodoTaskRequest.CreateTodoTaskRequestContentFieldList> fieldList,String url) {
+ try{
+ if(CollectionUtils.isEmpty(fieldList)){
+ return null;
}
- } catch (Exception _err) {
- TeaException err = new TeaException(_err.getMessage(), _err);
- if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
- // err 涓惈鏈� code 鍜� message 灞炴�э紝鍙府鍔╁紑鍙戝畾浣嶉棶棰�
- log.error("寰呭姙閫氱煡鍙戦�佸け璐ワ紝澶辫触鍘熷洜锛歿}"+err.message);
+ com.aliyun.dingtalktodo_1_0.Client client = DingTalk.createV1Client();
+ CreateTodoTaskHeaders createTodoTaskHeaders = new CreateTodoTaskHeaders();
+ createTodoTaskHeaders.xAcsDingtalkAccessToken = getToken();
+ //寰呭姙鎴鍓嶇殑鎻愰啋
+ CreateTodoTaskRequest.CreateTodoTaskRequestRemindNotifyConfigs remindNotifyConfigs = new CreateTodoTaskRequest.CreateTodoTaskRequestRemindNotifyConfigs()
+ .setDingNotify("1")
+ .setSendTodoApn("true");
+ //寰呭姙閫氱煡閰嶇疆
+ CreateTodoTaskRequest.CreateTodoTaskRequestNotifyConfigs notifyConfigs = new CreateTodoTaskRequest.CreateTodoTaskRequestNotifyConfigs()
+ .setDingNotify("1")
+ .setSendTodoApn("true")
+ .setSendAssistantChat("true");
+ //鎸夐挳浜嬩欢
+ CreateTodoTaskRequest.CreateTodoTaskRequestActionListParam actionList0Param = new CreateTodoTaskRequest.CreateTodoTaskRequestActionListParam()
+ .setBody("");
+ CreateTodoTaskRequest.CreateTodoTaskRequestActionList actionList0 = new CreateTodoTaskRequest.CreateTodoTaskRequestActionList()
+ .setTitle("鍘诲鐞�")
+ .setActionType(2)
+ .setParam(actionList0Param)
+ .setUrl(url) //TODO 璇︽儏鍦板潃
+ .setActionKey("ak-1-1");
+ //璇︽儏椤祏rl璺宠浆鍦板潃
+ CreateTodoTaskRequest.CreateTodoTaskRequestDetailUrl detailUrl = new CreateTodoTaskRequest.CreateTodoTaskRequestDetailUrl()
+ .setAppUrl("https://www.baidu.com")
+ .setPcUrl("https://www.baidu.com");
+ CreateTodoTaskRequest createTodoTaskRequest = new CreateTodoTaskRequest()
+ .setSubject(title)
+ .setCreatorId(unionIdList.get(Constants.ZERO))
+ .setDescription(title)
+ .setExecutorIds(unionIdList)
+ .setDetailUrl(detailUrl)
+ .setContentFieldList(fieldList)
+ .setIsOnlyShowExecutor(true)
+ .setPriority(20)
+ .setNotifyConfigs(notifyConfigs)
+ .setActionList(java.util.Arrays.asList(actionList0))
+ .setTodoType("TODO")
+ .setRemindNotifyConfigs(remindNotifyConfigs);
+ try {
+ CreateTodoTaskResponse response = client.createTodoTaskWithOptions(unionIdList.get(Constants.ZERO), createTodoTaskRequest, createTodoTaskHeaders, new com.aliyun.teautil.models.RuntimeOptions());
+ log.error("寰呭姙閫氱煡鍙戦�佹垚鍔燂紝鍙戦�佸唴瀹癸細{}"+JSONObject.toJSONString(response));
+ return response.getBody().getId();
+ } catch (TeaException err) {
+ if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
+ log.error("寰呭姙閫氱煡鍙戦�佸け璐ワ紝澶辫触鍘熷洜锛歿}"+err.message);
+ }
+ } catch (Exception _err) {
+ TeaException err = new TeaException(_err.getMessage(), _err);
+ if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
+ // err 涓惈鏈� code 鍜� message 灞炴�э紝鍙府鍔╁紑鍙戝畾浣嶉棶棰�
+ log.error("寰呭姙閫氱煡鍙戦�佸け璐ワ紝澶辫触鍘熷洜锛歿}"+err.message);
+ }
}
+ return null;
+ }catch (Exception e){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閽夐拤寰呭姙浠诲姟閫氱煡鍙戦�佸け璐�");
}
- return null;
}
/**
- * 澶勭悊鍏ㄩ儴浜虹殑寰呭姙淇℃伅
+ * 澶勭悊鍏ㄩ儴浜虹殑寰呭姙淇℃伅 锛堟祦绋嬪鎵瑰畬鎴愩�佹湰绾у鎵瑰畬鎴� 浣跨敤锛�
* @param unionId
* @param taskId
* api鍦板潃 https://open.dingtalk.com/document/orgapp/updates-dingtalk-to-do-tasks
* @throws Exception
*/
- public void updToDoNoticeInfoStatus(String unionId,String taskId) throws Exception {
- com.aliyun.dingtalktodo_1_0.Client client = DingTalk.createV1Client();
- UpdateTodoTaskHeaders updateTodoTaskHeaders = new UpdateTodoTaskHeaders();
- updateTodoTaskHeaders.xAcsDingtalkAccessToken = "43cf8213909f34ef81e7447905b822fb";//getToken();
- UpdateTodoTaskRequest updateTodoTaskRequest = new UpdateTodoTaskRequest()
- .setOperatorId(unionId)
- .setDone(true);
+ public void updToDoNoticeInfoStatus(String unionId,String taskId){
try {
+ com.aliyun.dingtalktodo_1_0.Client client = DingTalk.createV1Client();
+ UpdateTodoTaskHeaders updateTodoTaskHeaders = new UpdateTodoTaskHeaders();
+ updateTodoTaskHeaders.xAcsDingtalkAccessToken = getToken();
+ UpdateTodoTaskRequest updateTodoTaskRequest = new UpdateTodoTaskRequest()
+ .setOperatorId(unionId)
+ .setDone(true);
UpdateTodoTaskResponse response = client.updateTodoTaskWithOptions(unionId, taskId, updateTodoTaskRequest, updateTodoTaskHeaders, new RuntimeOptions());
log.error("寰呭姙閫氱煡鍙戦�佹垚鍔燂紝鍙戦�佸唴瀹癸細{}"+JSONObject.toJSONString(response));
} catch (TeaException err) {
@@ -612,7 +628,6 @@
// err 涓惈鏈� code 鍜� message 灞炴�э紝鍙府鍔╁紑鍙戝畾浣嶉棶棰�
log.error("寰呭姙閫氱煡鍙戦�佸け璐ワ紝澶辫触鍘熷洜锛歿}"+err.message);
}
-
} catch (Exception _err) {
TeaException err = new TeaException(_err.getMessage(), _err);
if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
@@ -630,18 +645,18 @@
* api 鍦板潃 https://open.dingtalk.com/document/orgapp/update-dingtalk-to-do-status
* @throws Exception
*/
- public void updUserToDoNoticeInfoStatus(String unionId,String taskId,String dealUnionId) throws Exception {
- com.aliyun.dingtalktodo_1_0.Client client = DingTalk.createV1Client();
- UpdateTodoTaskExecutorStatusHeaders updateTodoTaskExecutorStatusHeaders = new UpdateTodoTaskExecutorStatusHeaders();
- updateTodoTaskExecutorStatusHeaders.xAcsDingtalkAccessToken = "43cf8213909f34ef81e7447905b822fb";//getToken();
- UpdateTodoTaskExecutorStatusRequest.UpdateTodoTaskExecutorStatusRequestExecutorStatusList executorStatusList0 = new UpdateTodoTaskExecutorStatusRequest.UpdateTodoTaskExecutorStatusRequestExecutorStatusList()
- .setId(dealUnionId)
- .setIsDone(true);
- UpdateTodoTaskExecutorStatusRequest updateTodoTaskExecutorStatusRequest = new UpdateTodoTaskExecutorStatusRequest()
- .setExecutorStatusList(java.util.Arrays.asList(
- executorStatusList0
- ));
+ public void updUserToDoNoticeInfoStatus(String unionId,String taskId,String dealUnionId){
try {
+ com.aliyun.dingtalktodo_1_0.Client client = DingTalk.createV1Client();
+ UpdateTodoTaskExecutorStatusHeaders updateTodoTaskExecutorStatusHeaders = new UpdateTodoTaskExecutorStatusHeaders();
+ updateTodoTaskExecutorStatusHeaders.xAcsDingtalkAccessToken = getToken();
+ UpdateTodoTaskExecutorStatusRequest.UpdateTodoTaskExecutorStatusRequestExecutorStatusList executorStatusList0 = new UpdateTodoTaskExecutorStatusRequest.UpdateTodoTaskExecutorStatusRequestExecutorStatusList()
+ .setId(dealUnionId)
+ .setIsDone(true);
+ UpdateTodoTaskExecutorStatusRequest updateTodoTaskExecutorStatusRequest = new UpdateTodoTaskExecutorStatusRequest()
+ .setExecutorStatusList(java.util.Arrays.asList(
+ executorStatusList0
+ ));
UpdateTodoTaskExecutorStatusResponse response = client.updateTodoTaskExecutorStatusWithOptions(unionId, taskId, updateTodoTaskExecutorStatusRequest, updateTodoTaskExecutorStatusHeaders, new RuntimeOptions());
log.error("寰呭姙閫氱煡鍙戦�佹垚鍔燂紝鍙戦�佸唴瀹癸細{}"+JSONObject.toJSONString(response));
} catch (TeaException err) {
@@ -661,6 +676,11 @@
}
+ /**
+ * 璁垮鎶ュ涓庤瀹㈢敵璇� 閽夐拤寰呭姙
+ * @param visits
+ * @return
+ */
public List<CreateTodoTaskRequest.CreateTodoTaskRequestContentFieldList> getToDoVisitFiledInfo(Visits visits){
List<CreateTodoTaskRequest.CreateTodoTaskRequestContentFieldList> list = new ArrayList<>();
CreateTodoTaskRequest.CreateTodoTaskRequestContentFieldList contentFieldList0 = new CreateTodoTaskRequest.CreateTodoTaskRequestContentFieldList()
@@ -689,7 +709,11 @@
}
-
+ /**
+ * 鐢ㄨ溅鐢宠鐨� 閽夐拤寰呭姙
+ * @param carUseBook
+ * @return
+ */
public List<CreateTodoTaskRequest.CreateTodoTaskRequestContentFieldList> getToDoCarUseBookFiledInfo(CarUseBook carUseBook){
List<CreateTodoTaskRequest.CreateTodoTaskRequestContentFieldList> list = new ArrayList<>();
CreateTodoTaskRequest.CreateTodoTaskRequestContentFieldList contentFieldList1 = new CreateTodoTaskRequest.CreateTodoTaskRequestContentFieldList()
@@ -729,10 +753,10 @@
carUseBook.setType(Constants.ZERO);
- dingTalk.workInfoOANotice(4015267031L,"1568490244651036",dingTalk.getCarUseNoticeMsg(carUseBook,"鐢ㄨ溅鐢宠"));
+// dingTalk.workInfoOANotice(4015267031L,"1568490244651036",dingTalk.getCarUseNoticeMsg(carUseBook,"鐢ㄨ溅鐢宠"));
-// dingTalk.toDoNotice("灏忚眴涓佹彁浜ょ殑鍏姟杞︾敤杞�",java.util.Arrays.asList("iPsP86axviPHiSP4nm5YgQNCQiEiE","XiPYJKRAv9eCoO4UPM20HQQiEiE","eWbHiSp3uRtrMtiiOX5LXamgiEiE") ,dingTalk.getToDoCarUseBookFiledInfo(carUseBook));
+ dingTalk.toDoNotice("灏忚眴涓佹彁浜ょ殑鍏姟杞︾敤杞�",java.util.Arrays.asList("iPsP86axviPHiSP4nm5YgQNCQiEiE","XiPYJKRAv9eCoO4UPM20HQQiEiE","eWbHiSp3uRtrMtiiOX5LXamgiEiE") ,dingTalk.getToDoCarUseBookFiledInfo(carUseBook),"");
//
// dingTalk.updUserToDoNoticeInfoStatus("iPsP86axviPHiSP4nm5YgQNCQiEiE",
--
Gitblit v1.9.3