From 1d064aa5ec2556155bbf116cef1d6d0ac5007acc Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期一, 29 九月 2025 10:23:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao --- 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