From 308bc8e5c0db7298a127f3478995ddc6167328e9 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 25 十二月 2025 16:43:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao

---
 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/dao/business/vo/TelecomInParkDataVO.java                |   25 ++++++
 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/InoutRecordServiceImpl.java       |   37 +++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java            |    4 -
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |   23 +++++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java                   |   11 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java                |    3 
 9 files changed, 195 insertions(+), 8 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 a8a4e93..391f5a2 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" ;
@@ -551,7 +552,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/java/com/doumee/cloud/openapi/TelecomApiController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java
index 431251b..32e9894 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java
@@ -47,6 +47,9 @@
     @Autowired
     private JkSketchService jkSketchService;
 
+    @Autowired
+    private InoutRecordService inoutRecordService;
+
 
     @LoginNoRequired
     @PreventRepeat
@@ -92,4 +95,12 @@
     }
 
 
+    @LoginNoRequired
+    @PreventRepeat
+    @ApiOperation("鐢典俊-浠婃棩鍏ュ洯鏁版嵁")
+    @PostMapping("/getInParkData")
+    public ApiResponse<TelecomInParkDataVO> getInParkData () {
+        return ApiResponse.success(inoutRecordService.getInParkDataForTelecom());
+    }
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/TelecomInParkDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/TelecomInParkDataVO.java
new file mode 100644
index 0000000..23e25f3
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/TelecomInParkDataVO.java
@@ -0,0 +1,25 @@
+package com.doumee.dao.business.vo;
+
+import com.doumee.dao.business.model.JkCustomerNavigation;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 浜ゆ帶-绾胯矾淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2025/09/28 09:01
+ */
+@Data
+@ApiModel("鍏ュ洯缁熻 - 鐢典俊澶у睆")
+public class TelecomInParkDataVO {
+
+    @ApiModelProperty(value = "鍏ュ洯浜烘暟缁熻", example = "1")
+    private Integer inUserNum;
+
+    @ApiModelProperty(value = "鍏ュ洯杞﹁締缁熻", example = "1")
+    private Integer inCarNum;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java
index 916bfe0..45667bf 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java
@@ -4,6 +4,7 @@
 import com.doumee.dao.business.model.InoutRecord;
 import com.doumee.dao.business.vo.GeneralDataVO;
 import com.doumee.dao.business.vo.InParkUserDataVO;
+import com.doumee.dao.business.vo.TelecomInParkDataVO;
 import com.doumee.service.business.third.model.PageData;
 import com.doumee.service.business.third.model.PageWrap;
 
@@ -107,4 +108,6 @@
     List<List<String>> getReportList(InParkDataDTO inParkDataDTO);
 
     void excel(InParkDataDTO inParkDataDTO, HttpServletResponse response);
+
+    TelecomInParkDataVO getInParkDataForTelecom();
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
index dd19231..7eaf736 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
@@ -14,6 +14,7 @@
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.business.vo.GeneralDataVO;
 import com.doumee.dao.business.vo.InParkUserDataVO;
+import com.doumee.dao.business.vo.TelecomInParkDataVO;
 import com.doumee.service.business.InoutRecordService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -547,4 +548,40 @@
             throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
         }
     }
+
+
+
+    @Override
+    public TelecomInParkDataVO getInParkDataForTelecom(){
+        TelecomInParkDataVO telecomInParkDataVO = new TelecomInParkDataVO();
+        telecomInParkDataVO.setInCarNum(Constants.ZERO);
+        telecomInParkDataVO.setInUserNum(Constants.ZERO);
+        List<InoutRecord> listCar = inoutRecordMapper.selectList(new MPJLambdaWrapper<InoutRecord>()
+                        .eq(InoutRecord::getIsdeleted,Constants.ZERO)
+                        .eq(InoutRecord::getInOrOut,Constants.ZERO)
+                        .isNotNull(InoutRecord::getCarCode)
+                        .apply(" ( DATE_FORMAT(CREATE_DATE, '%Y%m%d')  = DATE_FORMAT(now(), '%Y%m%d') ) "));
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(listCar)){
+            telecomInParkDataVO.setInCarNum(
+                    new HashSet<>(listCar.stream().map(i->i.getCarCode()).collect(Collectors.toList())).size()
+            );
+        }
+
+
+        List<InoutRecord> listUser = inoutRecordMapper.selectList(new MPJLambdaWrapper<InoutRecord>()
+                        .eq(InoutRecord::getIsdeleted,Constants.ZERO)
+                        .eq(InoutRecord::getInOrOut,Constants.ZERO)
+                        .isNotNull(InoutRecord::getMemberPhone)
+                        .apply(" ( DATE_FORMAT(CREATE_DATE, '%Y%m%d') = DATE_FORMAT(now(), '%Y%m%d') ) "));
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(listUser)){
+            telecomInParkDataVO.setInUserNum(
+                    new HashSet<>(listUser.stream().map(i->i.getMemberPhone()).collect(Collectors.toList())).size()
+            );
+        }
+
+        return telecomInParkDataVO;
+    }
+
+
+
 }
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..fd954d2 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/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 7ccca98..28ed5e9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2106,10 +2106,6 @@
     }
 
 
-
-
-
-
     @Override
     public StagingDataVO stagingHead(StagingDataVO stagingHeadVO){
         //浜哄憳淇℃伅
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 20883ce..7360b5c 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
@@ -34,6 +34,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;
@@ -42,6 +43,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;
@@ -536,10 +538,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);
@@ -571,6 +584,10 @@
         return  null;
     }
 
+
+
+
+
     /**
      * 閫氱煡鐢典俊鎺ュ彛锛堢宀椾簨浠讹級
      * @param list

--
Gitblit v1.9.3