From dd4cd96c69061da3ff80cbfb87237b16cda8abc3 Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期五, 26 九月 2025 18:48:06 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao --- server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalkStream.java | 96 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 96 insertions(+), 0 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalkStream.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalkStream.java new file mode 100644 index 0000000..474b586 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalkStream.java @@ -0,0 +1,96 @@ +package com.doumee.core.dingTalk; + +import com.dingtalk.open.app.api.GenericEventListener; +import com.dingtalk.open.app.api.OpenDingTalkStreamClientBuilder; +import com.dingtalk.open.app.api.message.GenericOpenDingTalkEvent; +import com.dingtalk.open.app.api.security.AuthClientCredential; +import com.dingtalk.open.app.stream.protocol.event.EventAckStatus; +import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.core.utils.Constants; +import com.doumee.dao.business.dao.CompanyMapper; +import com.doumee.dao.business.dao.MemberMapper; +import com.doumee.service.business.CompanyService; +import com.doumee.service.business.MemberService; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.mp.config.WxMpConfigStorage; +import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import shade.com.alibaba.fastjson2.JSONObject; + +/** + * 閽夐拤 璁㈤槄浜嬩欢閫氱煡 + * + * @Author : Rk + * @create 2025/9/24 17:14 + */ +@Slf4j +@Configuration +public class DingTalkStream { + + @Autowired + private SystemDictDataBiz systemDictDataBiz; + + @Autowired + private MemberService memberService; + + @Autowired + private CompanyService companyService; + + + @Bean + public void DingTalkStreamRun() throws Exception { + String appKey = systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.APP_KEY).getCode(); + String appSecret = systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.APP_SECRET).getCode(); + + OpenDingTalkStreamClientBuilder + .custom() + .credential(new AuthClientCredential(appKey, appSecret)) + //娉ㄥ唽浜嬩欢鐩戝惉 + .registerAllEventListener(new GenericEventListener() { + @Override + public EventAckStatus onEvent(GenericOpenDingTalkEvent event) { + try { + //浜嬩欢鍞竴Id + String eventId = event.getEventId(); + log.error("閽夐拤鎺ㄩ�佷簨浠禝d:{}"+eventId); + //浜嬩欢绫诲瀷 + String eventType = event.getEventType(); + log.error("閽夐拤鎺ㄩ�佷簨浠剁被鍨�:{}"+eventType); + // org_dept_create 閮ㄩ棬鏂板缓 {"timeStamp":"1758783935796","eventId":"0c779adba04143958a3960e8e36bbce5","deptId":[1040735458]} + // org_dept_modify 閮ㄩ棬淇敼 {"timeStamp":"1758785791639","eventId":"6c2d8c7a61a7419e8928fda3effb3bf4","deptId":[1040735458]} + // org_dept_remove 閮ㄩ棬鍒犻櫎 {"timeStamp":"1758785817760","eventId":"47e289f334e041719ed354052da474de","deptId":[1040735458]} + + // user_add_org 鍛樺伐娣诲姞 + // user_modify_org 鍛樺伐淇敼 {"timeStamp":"1758786235842","diffInfo":[{"prev":{"extFields":"{}","hiredDate":"2022-03-30","name":"浠诲悍","telephone":"145","remark":"","workPlace":"鑾茶姳绉戝垱鍥� F401","jobNumber":"","email":"rk@doumee.com"},"curr":{"extFields":"{}","hiredDate":"2022-03-30","name":"浠诲悍","telephone":"145","remark":"","workPlace":"鑾茶姳绉戝垱鍥� F401","jobNumber":"","email":"rk@doumee.com"},"userid":"1568490244651036"}],"eventId":"e54d8991aed14c669e22e460459433f6","optStaffId":"045831294126209983","userId":["1568490244651036"]} + // user_leave_org 鍛樺伐鍒犻櫎 + + //浜嬩欢浜х敓鏃堕棿 + Long bornTime = event.getEventBornTime(); + log.error("閽夐拤鎺ㄩ�佷簨浠朵骇鐢熸椂闂�:{}"+bornTime); + //鑾峰彇浜嬩欢浣� + JSONObject bizData = event.getData(); + log.error("閽夐拤鎺ㄩ�佷簨浠惰鎯�:{}"+bizData); + + if(eventType.startsWith("org")){ + companyService.ddPushCompanyInfo(eventType,bizData); + }else if(eventType.startsWith("user")){ + + } + //澶勭悊浜嬩欢 +// process(bizData); + //娑堣垂鎴愬姛 + return EventAckStatus.SUCCESS; + } catch (Exception e) { + //娑堣垂澶辫触 + return EventAckStatus.LATER; + } + } + }) + .build().start(); + } + + + +} -- Gitblit v1.9.3