From 05abe218f8efb25a88dc474ec447d9cc41ee23a9 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 15 九月 2026 10:50:09 +0800
Subject: [PATCH] 【丽水】出院记录采集不应该修改出院状态

---
 smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java
index 7a61278..35761ab 100644
--- a/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java
@@ -12,7 +12,11 @@
 import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response;
 import com.dingtalk.api.response.OapiUserListidResponse;
 import com.dingtalk.api.response.OapiV2UserGetbymobileResponse;
+import com.ruoyi.common.core.domain.DingAsyncSendMsgReq;
+import com.ruoyi.common.core.domain.DingAsyncSendMsgResp;
 import com.ruoyi.common.core.domain.DingTalkReqVo;
+import com.ruoyi.common.core.domain.DingTokenResp;
+import com.ruoyi.common.utils.DingTalkUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.smartor.service.DingTalkService;
 import com.taobao.api.ApiException;
@@ -40,6 +44,9 @@
 
     @Value("${dingAppSecret}")
     private String dingAppSecret;
+
+    @Value("${dingAppAgentId}")
+    private Long dingAppAgentId;
 
     @Override
     public Boolean sendNotification(DingTalkReqVo dingTalkReqVo) {
@@ -158,4 +165,105 @@
         OapiGettokenResponse response = client.execute(request);
         return response.getAccessToken();
     }
+
+    /**
+     * 鑾峰彇post access_token
+     */
+    private String getAccessTokenPost() throws ApiException {
+        DefaultDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.com/v1.0/oauth2/{corpId}/token");
+        OapiGettokenRequest request = new OapiGettokenRequest();
+        //Appkey
+        request.setAppkey(dingAppid);
+        //Appsecret
+        request.setAppsecret(dingAppSecret);
+        /*璇锋眰鏂瑰紡*/
+        request.setHttpMethod("Post");
+        OapiGettokenResponse response = client.execute(request);
+        return response.getAccessToken();
+    }
+
+//    /**
+//     * 鍙戦�侀拤閽夋秷鎭�-鏅畞
+//     * @param sMessageContent
+//     * @throws Exception
+//     */
+//    public void sendDingTalkText(String sMessageContent) throws Exception {
+//        String CORP_ID = "浣犵殑浼佷笟corpid";
+//        String CORP_SECRET = "浼佷笟搴旂敤鐨刢orpsecret";
+//        Long AGENT_ID = 4992829038L; // 浣犵殑搴旂敤agentId
+//
+//        try {
+//            // 1. 鑾峰彇access_token
+//            DingTokenResp tokenResp = DingTalkUtils.getAccessToken(CORP_ID, CORP_SECRET);
+//            if (tokenResp.getErrcode() != 0) {
+//                System.err.println("鑾峰彇token澶辫触锛�" + tokenResp.getErrmsg());
+//                return;
+//            }
+//            String accessToken = tokenResp.getAccess_token();
+//            System.out.println("access_token=" + accessToken);
+//
+//            // 2. 缁勮鍙戦�佽姹�
+//            DingAsyncSendMsgReq sendReq = new DingAsyncSendMsgReq();
+//            sendReq.setAgent_id(AGENT_ID);
+//            sendReq.setUserid_list("user01,user02"); // 鎺ユ敹浜洪拤閽塽serId锛屽涓�楀彿
+//            sendReq.setTo_all_user(false);
+//            // 璁剧疆娑堟伅鍐呭锛岃繖閲岀敤鏂囨湰娑堟伅
+//            sendReq.setMsg(DingTalkUtils.buildTextMsg("浣犲ソ锛岃繖鏄紓姝ュ彂閫侀拤閽夋秷鎭祴璇�"));
+//
+//            // 3. 璋冪敤寮傛鍙戦�佹帴鍙�
+//            DingAsyncSendMsgResp sendResp = DingTalkUtils.asyncSendCorpMsg(accessToken, sendReq);
+//            if (sendResp.getErrcode() == 0) {
+//                System.out.println("鎻愪氦娑堟伅浠诲姟鎴愬姛锛宼ask_id=" + sendResp.getTask_id());
+//                System.out.println("娑堟伅瀹為檯鍙戦�佺粨鏋滐紝闇�瑕佸湪閽夐拤鍚庡彴閰嶇疆鍥炶皟鎺ユ敹");
+//            } else {
+//                System.err.println("鎻愪氦娑堟伅浠诲姟澶辫触锛歝ode=" + sendResp.getErrcode() + ",msg=" + sendResp.getErrmsg());
+//            }
+//
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//    }
+
+    /**
+     * 鍙戦�侀拤閽夋秷鎭�-鏅畞
+     * @param sMessageContent
+     * @throws Exception
+     */
+    @Override
+    public void sendDingTalkText(String sMessageContent, String userId) throws Exception {
+        Long agentId = dingAppAgentId;
+        String accessToken = getAccessToken();
+        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");
+        OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request();
+        request.setAgentId(agentId);
+        request.setUseridList(userId);
+        request.setToAllUser(false);
+
+        OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg();
+        msg.setMsgtype("text");
+        OapiMessageCorpconversationAsyncsendV2Request.Text text = new OapiMessageCorpconversationAsyncsendV2Request.Text();
+        text.setContent(sMessageContent);
+        msg.setText(text);
+        request.setMsg(msg);
+
+        OapiMessageCorpconversationAsyncsendV2Response rsp = client.execute(request, accessToken);
+        System.out.println(rsp.getBody());
+    }
+
+    /**
+     * 鏍规嵁鐢佃瘽鑾峰彇鐢ㄦ埛
+     * @param mobile
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String getDingTalkUserByMobile(String mobile) throws Exception {
+        String accessToken = getAccessToken();
+        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/getbymobile");
+        OapiV2UserGetbymobileRequest req = new OapiV2UserGetbymobileRequest();
+        req.setMobile(mobile);
+        OapiV2UserGetbymobileResponse rsp = client.execute(req, accessToken);
+        return rsp.getBody();
+    }
+
 }

--
Gitblit v1.9.3