From 6ae086d3b199c4aa7cb4d594c9b594530eb5e3f8 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 23 十二月 2025 17:53:10 +0800
Subject: [PATCH] 功能优化

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                       |    4 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java     |   85 ++++++++++++++++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java      |   11 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |   23 ++++++-
 server/visits/dmvisit_admin/src/main/resources/bootstrap.yml                                                   |    2 
 5 files changed, 120 insertions(+), 5 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 406fbac..cae5ba4 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -86,6 +86,7 @@
     public static final String REQUEST_URL ="REQUEST_URL" ;
     public static final String LOCATION ="LOCATION" ;
     public static final String API_KEY ="API_KEY" ;
+    public static final String JDY_CONFIG ="JDY_CONFIG" ;
     public static final String CABINET_CONFIG ="CABINET_CONFIG" ;
     public static final String BLOW_TIME ="BLOW_TIME" ;
     public static final String PRESSURE ="PRESSURE" ;
@@ -541,7 +542,8 @@
     public static final String APP_SECRET ="APP_SECRET";
     public static final String ACCESS_TOKEN ="ACCESS_TOKEN";
     public static final String AGENT_ID ="AGENT_ID";
-
+    public static final String APPID = "APPID";
+    public static final String ENTRY_ID ="ENTRY_ID";
 
 
 
diff --git a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
index 2df12af..9dc10e9 100644
--- a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: pro
+    active: dev
   application:
     name: visitsAdmin
     # 瀹夊叏閰嶇疆
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
index ce9699a..3d69da7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -28,12 +28,14 @@
 import com.hikvision.artemis.sdk.config.ArtemisConfig;
 import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
+import okhttp3.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -709,6 +711,16 @@
                             //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                             //                      dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content));
                             //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+                            List<String> ddUserIdList = memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList());
+                            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
+                                for (String ddUserId:ddUserIdList) {
+                                    this.getJDYData(warningEvent,ddUserId,
+                                            systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
+                                            systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
+                                            systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
+                                    );
+                                }
+                            }
                         }
                         warningPushMapper.insert(warningPush);
                         warningEvent.setStatus(Constants.ONE);
@@ -739,6 +751,68 @@
                 }
             }
         }
+    }
+
+
+    /**
+     * 绠�閬撲簯娑堟伅鎺ㄩ�� 瀹氬埗
+     * @param warningEvent
+     * @param ddUserId 鎺ユ敹浜� 閽夐拤涓婚敭
+     * @param jdyApiKey  绠�鍗曚簯APIKEY
+     * @param appid  搴旂敤ID
+     * @param entryId 琛ㄥ崟ID
+     * @throws IOException
+     */
+    public void getJDYData(WarningEvent warningEvent,String ddUserId,String jdyApiKey,String appid,String entryId) throws IOException {
+        Map<String,Object> map = new HashMap<>();
+        map.put("app_id",appid);
+        map.put("entry_id",entryId);
+        map.put("is_start_workflow","false");
+        map.put("is_start_trigger","true");
+        map.put("data",this.getJdyChildData(warningEvent,ddUserId));
+
+        OkHttpClient client = new OkHttpClient().newBuilder()
+                .build();
+        MediaType mediaType = MediaType.parse("application/json");
+        RequestBody body = RequestBody.create(mediaType, JSONObject.toJSONString(map));//"{\"data\":{\"notice_time\":{\"value\":\"2025-12-23 04:56:29\"},\"title\":{\"value\":\"璺ㄨ秺鐢熶骇绾縗"},\"user\":{\"value\":\"1568490244651036\"},\"content\":{\"value\":\"璺ㄨ秺鐢熶骇绾�-鑺滄箹鐗╂祦涓績鍖楀洿澧欒繃閬撲笢\"},\"notice_type\":{\"value\":\"璺ㄨ秺鐢熶骇绾縗"}},\"is_start_trigger\":\"true\",\"app_id\":\"6909d0fbdb93b068192dc4a9\",\"entry_id\":\"694a19ecf57e071788efc20b\",\"is_start_workflow\":\"false\"}");
+        log.error("绠�閬撲簯鍙戦�侀�氱煡璇锋眰淇℃伅" + JSONObject.toJSONString(map));
+        Request request = new Request.Builder()
+                .url("https://api.jiandaoyun.com/api/v5/app/entry/data/create")
+                .method("POST", body)
+                .addHeader("Authorization", "Bearer "+jdyApiKey)
+                .addHeader("Content-Type", "application/json")
+                .build();
+        Response response = client.newCall(request).execute();
+
+        log.error("绠�閬撲簯鍙戦�侀�氱煡杩斿洖淇℃伅" + JSONObject.toJSONString(response));
+
+    }
+
+
+    public Map<String,Object> getJdyChildData(WarningEvent warningEvent,String ddUserId){
+        Map<String,Object> dataMap = new HashMap<>();
+
+        Map<String,Object> title = new HashMap<>();
+        title.put("value",warningEvent.getTitle());
+        dataMap.put("title",title);
+
+        Map<String,Object> user = new HashMap<>();
+        user.put("value",ddUserId);
+        dataMap.put("user",user);
+
+        Map<String,Object> notice_time = new HashMap<>();
+        notice_time.put("value",DateUtil.getCurrDateTime());
+        dataMap.put("notice_time",notice_time);
+
+        Map<String,Object> notice_type = new HashMap<>();
+        notice_type.put("value",warningEvent.getTitle());
+        dataMap.put("notice_type",notice_type);
+
+        Map<String,Object> content = new HashMap<>();
+        content.put("value",warningEvent.getContent());
+        dataMap.put("content",content);
+
+        return dataMap;
     }
 
 
@@ -1027,6 +1101,17 @@
                         //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                         //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
 //                    warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+                        List<String> ddUserIdList = memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList());
+                        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
+                            for (String ddUserId:ddUserIdList) {
+                                this.getJDYData(warningEvent,ddUserId,
+                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
+                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
+                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
+
+                                );
+                            }
+                        }
                     }
                     warningPushMapper.insert(warningPush);
                     warningEvent.setStatus(Constants.ONE);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
index 5597485..6be46ef 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
@@ -266,6 +266,17 @@
                                 //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                                 //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
 //                          warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+                                List<String> ddUserIdList = memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList());
+                                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
+                                    for (String ddUserId:ddUserIdList) {
+                                        impl.getJDYData(warningEvent,ddUserId,
+                                                systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
+                                                systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
+                                                systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
+
+                                        );
+                                    }
+                                }
                             }
                             impl.sendDeviceNotice(warningRule);
                             warningPushMapper.insert(warningPush);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index f9a6e53..fa11685 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -33,6 +33,7 @@
 import com.doumee.service.business.third.model.response.TmsOrderInfoResponse;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
+import okhttp3.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +42,7 @@
 import org.springframework.util.CollectionUtils;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.util.*;
 import java.util.Date;
 import java.util.stream.Collectors;
@@ -535,10 +537,21 @@
                                         );
                                     }
                                      if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
-                                        //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
-                                        //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
-                                        //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
+//                            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
+//                                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
+//                                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
 //                                  warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+                                        List<String> ddUserIdList = memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList());
+                                        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
+                                            for (String ddUserId:ddUserIdList) {
+                                                impl.getJDYData(warningEvent,ddUserId,
+                                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
+                                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
+                                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
+
+                                                );
+                                            }
+                                        }
                                     }
                                     impl.sendDeviceNotice(warningRule);
                                     warningPushMapper.insert(warningPush);
@@ -570,6 +583,10 @@
         return  null;
     }
 
+
+
+
+
     /**
      * 閫氱煡鐢典俊鎺ュ彛锛堢宀椾簨浠讹級
      * @param list

--
Gitblit v1.9.3