From c467370d8741bc05ca7c22d4253c58ac0a979ef5 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 09 六月 2026 09:46:25 +0800
Subject: [PATCH] 功能优化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |   54 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 37 insertions(+), 17 deletions(-)

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 fa11685..1fd3684 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
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.config.DataSyncConfig;
+import com.doumee.core.dingTalk.DingTalk;
 import com.doumee.core.haikang.model.HKConstants;
 import com.doumee.core.haikang.model.param.BaseResponse;
 import com.doumee.core.haikang.model.param.request.*;
@@ -13,6 +14,7 @@
 import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
 import com.doumee.core.haikang.model.param.request.event.acs.EventDeviceDataRequest;
 import com.doumee.core.haikang.model.param.request.event.base.EventBaseInfoRequest;
+import com.doumee.core.haikang.model.param.request.event.base.EventBaseParamRequest;
 import com.doumee.core.haikang.model.param.request.event.base.EventBaseRequest;
 import com.doumee.core.haikang.model.param.request.event.parks.*;
 import com.doumee.core.haikang.model.param.request.event.visit.*;
@@ -37,6 +39,7 @@
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -45,6 +48,7 @@
 import java.io.IOException;
 import java.util.*;
 import java.util.Date;
+import java.util.concurrent.Executor;
 import java.util.stream.Collectors;
 
 /**
@@ -56,6 +60,9 @@
 @Slf4j
 public class HkSyncPushServiceImpl extends HkSyncBaseServiceImpl {
 
+    @Autowired
+    @Qualifier("asyncExecutor")
+    private Executor asyncExecutor;
     @Autowired
     private InoutDayCountMapper inoutDayCountMapper;
     @Autowired
@@ -114,6 +121,8 @@
     private WarningRuleMapper warningRuleMapper;
     @Autowired
     private WarningPushMapper warningPushMapper;
+    @Autowired
+    private DingTalk dingTalk;
 
     /**
      * 娴峰悍闂ㄧ浜嬩欢鎺ㄩ��
@@ -529,7 +538,7 @@
                                     warningPush.setStatus(Constants.ZERO);
                                     warningPush.setPushType(Constants.ZERO);
                                     warningPush.setRegion( warningEvent.getRegion());
-                                    if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(memberList)) {
+                                    if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)) {
                                         warningPush.setMemberIds(
                                                 StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",")
                                         );
@@ -537,18 +546,18 @@
                                         );
                                     }
                                      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()));
-//                                  warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+                                        Boolean noticeFlag = false;
+//                                             if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)) {
+//                                                 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()
-
+                                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.JDY_ENTRY_ID).getCode()
                                                 );
                                             }
                                         }
@@ -594,9 +603,14 @@
     private void dealNoticeTelecomEvent(EventBaseRequest param,EventBaseInfoRequest request ,List<WarningEvent> list) {
         try {
             log.error("========閫氱煡鍏朵粬涓夋柟鍦板潃绂诲矖浜嬩欢寮�濮�:"+list.size());
-            Thread t1=new Thread(new Runnable() {
-                @Override
-                public void run() {
+            asyncExecutor.execute(() -> {
+//                  EventBaseRequest submitParam = new EventBaseRequest();
+//                  submitParam.setMethod(param.getMethod());
+//                  submitParam.setParams(new EventBaseParamRequest());
+//                  submitParam.getParams().setAbility(param.getParams().getAbility());
+//                  submitParam.getParams().setQuids(param.getParams().getQuids());
+//                  submitParam.getParams().setSendTime(param.getParams().getSendTime());
+//                  submitParam.getParams().setEvents(new ArrayList<>());
                     //瀹氬埗key
                    param.getParams().setEvents(new ArrayList<>());
                    int key = Constants.WarningConfig.AF_RYLG_CUSTOM.getKey();
@@ -631,25 +645,31 @@
                         if(StringUtils.equals(t.getEventId(),request.getEventId())){
                             continue;
                         }
+                       request.getData().put("url",StringUtils.defaultString(request.getData().getString("url"),"")+","+StringUtils.defaultString(t.getData().getString("url"),""));
                        request.setSrcIndex(StringUtils.defaultString(request.getSrcIndex(),"")+","+StringUtils.defaultString(t.getSrcIndex(),""));
                        request.setSrcName(StringUtils.defaultString(request.getSrcName(),"")+","+StringUtils.defaultString(t.getSrcName(),""));
                        request.getData().getJSONObject("AIOPResultData").put("imageUrl",StringUtils.defaultString( request.getData().getJSONObject("AIOPResultData").getString("imageUrl"),"")
                                +","+StringUtils.defaultString( t.getData().getJSONObject("AIOPResultData").getString("imageUrl"),""));
                     }
+                    JSONObject   img = new JSONObject();
+                    img.put("imageUrl", request.getData().getJSONObject("AIOPResultData").getString("imageUrl"));
+                    String url =  request.getData().getString("url");
+                    request.setData(new JSONObject());
+                    request.getData().put("AIOPResultData",img);
+                    request.getData().put("url",url);
                     param.getParams().getEvents().add(request);
                     String thirdpath =systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_PUSH_THIRD_URL).getCode();
                     if(StringUtils.isNotBlank(thirdpath)){
+                        log.error("========閫氱煡鍏朵粬涓夋柟鍦板潃绂诲矖浜嬩欢宸叉帹閫侊紝鍙傛暟:"+JSONObject.toJSONString(param));
                         String[] ss = thirdpath.split(";");
                         for(String s : ss){
                             String response =   HttpsUtil.postJson(s,JSONObject.toJSONString(param));
-                            log.error("========閫氱煡鍏朵粬涓夋柟鍦板潃绂诲矖浜嬩欢宸叉帹閫侊紝缁撴灉:"+response);
+                            log.error("========閫氱煡鍏朵粬涓夋柟鍦板潃绂诲矖浜嬩欢宸叉帹閫侊紝缁撴灉:"+s+"\n"+response);
                         }
                     }
-                }
-            });
-            t1.start();
+                });
         }catch (Exception e){
-            e.printStackTrace();
+            log.error("dealNoticeTelecomEvent寮傚父", e);
         }
     }
 

--
Gitblit v1.9.3