From 9638a186728cafd9f35200ee5fec81538e8148af Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 29 九月 2025 18:02:06 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java | 138 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 138 insertions(+), 0 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 05bda56..84ac5f5 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
@@ -14,16 +14,21 @@
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.dao.CompanyMapper;
+import com.doumee.dao.business.model.CarUseBook;
import com.doumee.dao.business.model.Company;
+import com.doumee.dao.business.model.Visits;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.service.business.CompanyService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.taobao.api.ApiException;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.text.DateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -102,6 +107,19 @@
public String getToken(){
String accessToken = systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.ACCESS_TOKEN).getCode();
return accessToken;
+ }
+
+
+ public OapiV2UserGetuserinfoResponse.UserGetByCodeResponse getDDUserByCode(String code) throws ApiException {
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/getuserinfo");
+ OapiV2UserGetuserinfoRequest req = new OapiV2UserGetuserinfoRequest();
+ req.setCode(code);
+ OapiV2UserGetuserinfoResponse rsp = client.execute(req, getToken());
+ if(rsp.getErrcode().equals(Constants.DD_ERR_CODE)){
+ return rsp.getResult();
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),rsp.getMessage());
+ }
}
@@ -364,6 +382,126 @@
}
}
+ 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);
+ request.setMsg(msg);
+ OapiMessageCorpconversationAsyncsendV2Response rsp = client.execute(request, getToken());
+ if(rsp.getErrcode().equals(Constants.DD_ERR_CODE)){
+
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),rsp.getMessage());
+ }
+ }
+
+
+ /**
+ * 璁垮鐢宠/鎶ュ OA 宸ヤ綔閫氱煡 鍐呭
+ * @param visits
+ * @param title
+ * @return
+ */
+ public OapiMessageCorpconversationAsyncsendV2Request.Msg getVisitNoticeMsg(Visits visits,String title){
+ OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg();
+ msg.setMsgtype("oa");
+ OapiMessageCorpconversationAsyncsendV2Request.OA oa = new OapiMessageCorpconversationAsyncsendV2Request.OA();
+ oa.setMessageUrl("");
+ OapiMessageCorpconversationAsyncsendV2Request.Head head = new OapiMessageCorpconversationAsyncsendV2Request.Head();
+ head.setText(title);
+ head.setBgcolor("#279BAA");
+ oa.setHead(head);
+
+ OapiMessageCorpconversationAsyncsendV2Request.Body body = new OapiMessageCorpconversationAsyncsendV2Request.Body();
+ body.setTitle(!Constants.equalsInteger(visits.getType(),Constants.TWO)?visits.getName()+"鐨勮瀹㈢敵璇�":"鐨勮瀹㈡姤澶�");
+ List<OapiMessageCorpconversationAsyncsendV2Request.Form> formList = new ArrayList<>();
+
+ OapiMessageCorpconversationAsyncsendV2Request.Form visitUser = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ visitUser.setKey("鏉ヨ浜�");
+ visitUser.setValue(visits.getName());
+ formList.add(visitUser);
+
+ OapiMessageCorpconversationAsyncsendV2Request.Form inDate = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ inDate.setKey("鍏ュ洯鏃堕棿");
+ inDate.setValue(DateUtil.formatDate(visits.getStarttime(),"MM-dd HH:mm"));
+ formList.add(inDate);
+
+ OapiMessageCorpconversationAsyncsendV2Request.Form outDate = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ outDate.setKey("绂诲洯鏃堕棿");
+ outDate.setValue(DateUtil.formatDate(visits.getEndtime(),"MM-dd HH:mm"));
+ formList.add(outDate);
+
+ OapiMessageCorpconversationAsyncsendV2Request.Form inReason = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ inReason.setKey("鏉ヨ浜嬬敱");
+ inReason.setValue(visits.getReason());
+ formList.add(inReason);
+
+ if(StringUtils.isNotBlank(visits.getCarNos())){
+ OapiMessageCorpconversationAsyncsendV2Request.Form carNos = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ carNos.setKey("闅忚杞﹁締");
+ carNos.setValue(visits.getCarNos());
+ formList.add(visitUser);
+ }
+
+ body.setForm(formList);
+ oa.setBody(body);
+ msg.setOa(oa);
+
+ return msg;
+ }
+
+
+ /* public OapiMessageCorpconversationAsyncsendV2Request.Msg getCarUseNoticeMsg(CarUseBook carUseBook,String title){
+ OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg();
+ msg.setMsgtype("oa");
+ OapiMessageCorpconversationAsyncsendV2Request.OA oa = new OapiMessageCorpconversationAsyncsendV2Request.OA();
+ oa.setMessageUrl("");
+ OapiMessageCorpconversationAsyncsendV2Request.Head head = new OapiMessageCorpconversationAsyncsendV2Request.Head();
+ head.setText(title);
+ head.setBgcolor("#279BAA");
+ oa.setHead(head);
+
+ OapiMessageCorpconversationAsyncsendV2Request.Body body = new OapiMessageCorpconversationAsyncsendV2Request.Body();
+ body.setTitle("鍏姟鐢ㄨ溅");
+ List<OapiMessageCorpconversationAsyncsendV2Request.Form> formList = new ArrayList<>();
+
+
+ OapiMessageCorpconversationAsyncsendV2Request.Form startDate = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ startDate.setKey("寮�濮嬫椂闂�");
+ startDate.setValue(DateUtil.formatDate(carUseBook.getStartTime(),"MM-dd HH:mm"));
+ formList.add(startDate);
+
+ OapiMessageCorpconversationAsyncsendV2Request.Form endDate = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ endDate.setKey("缁撴潫鏃堕棿");
+ endDate.setValue(DateUtil.formatDate(carUseBook.getEndTime(),"MM-dd HH:mm"));
+ formList.add(endDate);
+
+
+ OapiMessageCorpconversationAsyncsendV2Request.Form userNum = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ userNum.setKey("涔樿溅浜烘暟");
+ userNum.setValue(DateUtil.formatDate(carUseBook.getEndTime(),"MM-dd HH:mm"));
+ formList.add(userNum);
+
+ OapiMessageCorpconversationAsyncsendV2Request.Form inReason = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ inReason.setKey("鏉ヨ浜嬬敱");
+ inReason.setValue(visits.getReason());
+ formList.add(inReason);
+
+ if(StringUtils.isNotBlank(visits.getCarNos())){
+ OapiMessageCorpconversationAsyncsendV2Request.Form carNos = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ carNos.setKey("闅忚杞﹁締");
+ carNos.setValue(visits.getCarNos());
+ formList.add(visitUser);
+ }
+
+ body.setForm(formList);
+ oa.setBody(body);
+ msg.setOa(oa);
+
+ return msg;
+ }*/
}
--
Gitblit v1.9.3