From 4f6565cb9cca05981abdeb85dfc023a28c892e42 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 05 十一月 2025 16:42:45 +0800
Subject: [PATCH] 钥匙柜信息处理

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |  215 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 172 insertions(+), 43 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 7233eb7..4a8c6bb 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
@@ -11,6 +11,8 @@
 import com.doumee.core.haikang.model.param.request.event.acs.EventAcsInfoRequest;
 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.EventBaseRequest;
 import com.doumee.core.haikang.model.param.request.event.parks.*;
 import com.doumee.core.haikang.model.param.request.event.visit.*;
 import com.doumee.core.haikang.service.HKService;
@@ -25,6 +27,7 @@
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
 import com.doumee.service.business.VisitsService;
+import com.doumee.service.business.impl.JkCabinetGridServiceImpl;
 import com.doumee.service.business.impl.PlatformWarnEventServiceImpl;
 import com.doumee.service.business.third.TmsService;
 import com.doumee.service.business.third.model.request.TmsOrderInfoRequest;
@@ -101,6 +104,14 @@
     private PlatformLogMapper platformLogMapper;
     @Autowired
     private PlatformWarnEventServiceImpl platformWarnEventService;
+    @Autowired
+    private WarningMapper warningMapper;
+    @Autowired
+    private WarningEventMapper warningEventMapper;
+    @Autowired
+    private WarningRuleMapper warningRuleMapper;
+    @Autowired
+    private WarningPushMapper warningPushMapper;
 
 
 
@@ -339,7 +350,7 @@
         event.setExtEventAlarmOutID(request.getData().getExtEventAlarmOutID());
         event.setExtEventAlarmInID(request.getData().getExtEventAlarmInID());
         event.setExtAccessChannel(request.getData().getExtAccessChannel());
-        //閫氶亾浜嬩欢淇℃伅
+        //閫氶亾浜嬩欢淇℃伅`
         if(request.getData().getExtEventCustomerNumInfo() !=null){
             event.setTotalTimes(request.getData().getExtEventCustomerNumInfo().getTotalTimes());
             event.setEntryTimes(request.getData().getExtEventCustomerNumInfo().getEntryTimes());
@@ -447,6 +458,122 @@
             log.error("銆愭捣搴疯瀹簨浠舵帹閫併��========澶辫触=======锛歕n"+e.getMessage());
         }
         saveInterfaceLog(param,"/business/hksync/push/visit",result,true);
+        return  null;
+
+    }
+
+
+    /**
+     * 娴峰悍浜嬩欢鎺ㄩ��
+     * @param param
+     * @param response
+     * @return
+     */
+    @Override
+    public String dealSecurityEvent(EventBaseRequest param, HttpServletResponse response, JkCabinetGridServiceImpl impl){
+        log.info("銆愭捣搴烽�氱敤浜嬩欢鎺ㄩ�併��==========寮�濮�=======锛歕n"+JSONObject.toJSONString(param));
+        String result = null;
+        try {
+            if(param == null || param.getParams() == null || param.getParams().getEvents()==null){
+                return null;
+            }
+            //闂ㄧ浜嬩欢闆嗗悎
+            List<EventBaseInfoRequest> events  = param.getParams().getEvents();
+            for(EventBaseInfoRequest request : events){
+                Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
+                        .eq(Warning::getIsdeleted,Constants.ZERO)
+                        .eq(Warning::getCode, request.getSrcType()).last("limit 1"));
+
+                Constants.WarningConfig warningConfig = Constants.WarningConfig.getConfig(request.getEventType());
+                
+                if(Objects.nonNull(warning)){
+                    WarningEvent warningEvent = new WarningEvent();
+                    warningEvent.setCreateDate(new Date());
+                    warningEvent.setEditDate(warningEvent.getCreateDate());
+                    warningEvent.setIsdeleted(Constants.ZERO);
+                    warningEvent.setTitle(warning.getName());
+                    warningEvent.setContent(warning.getName() +"-"+ request.getSrcName());
+                    warningEvent.setStatus(Constants.ZERO);
+                    warningEvent.setEventId(request.getEventId());
+                    warningEvent.setEventType(request.getEventType().toString());
+                    warningEvent.setHappenTime(request.getHappenTime());
+                    warningEvent.setJsonContent(request.getData().toJSONString());
+                    warningEvent.setSrcIndex(request.getSrcIndex());
+                    warningEvent.setSrcType(request.getSrcType());
+                    warningEvent.setSrcName(request.getSrcName());
+                    warningEventMapper.insert(warningEvent);
+
+                    if(Objects.nonNull(warningConfig)){
+                        List<Integer> ruleIdList =  impl.processWarnFront(warningConfig);
+
+                        Boolean falg = false;
+                        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ruleIdList)){
+                            for (Integer ruleId:ruleIdList) {
+                                WarningRule warningRule = warningRuleMapper.selectById(ruleId);
+                                if (Objects.isNull(warningRule)) {
+                                    break;
+                                }
+                                List<Member> memberList = impl.getWarningRuleMemberList(warningRule);
+                                if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(memberList)) {
+                                    break;
+                                }
+                                try {
+                                    WarningPush warningPush = new WarningPush();
+                                    warningPush.setCreateDate(new Date());
+                                    warningPush.setIsdeleted(Constants.ZERO);
+                                    warningPush.setWarningId(warning.getId());
+                                    warningPush.setTitle(warningConfig.getInfo());
+                                    String content = warningEvent.getContent();
+                                    warningPush.setContent(content);
+                                    warningPush.setStatus(Constants.ZERO);
+                                    warningPush.setPushType(Constants.ZERO);
+                                    //TODO 鏍规嵁鍏蜂綋鏁版嵁瀵规瘮鑾峰彇
+                                    warningPush.setRegion( "鏈煡浣嶇疆");
+                                    warningPush.setMemberIds(
+                                            StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",")
+                                    );
+                                    warningPush.setMemberIds(
+                                            StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",")
+                                    );
+                                    warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i -> i.getName()).collect(Collectors.toList()), ",")
+                                    );
+                                    // todo 鏆傛椂鍏抽棴 閽夐拤閫氱煡
+                                    //            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(),content));
+                                    //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+                                    warningPushMapper.insert(warningPush);
+                                    falg = true;
+                                }catch (Exception e){
+                                    warningEvent.setStatus(Constants.TWO);
+                                    warningEventMapper.updateById(warningEvent);
+                                }
+                            }
+                        }
+                        if(falg){
+                            warningEvent.setStatus(Constants.ONE);
+                            warningEventMapper.updateById(warningEvent);
+                        }
+
+
+
+
+
+
+                    }
+
+
+
+
+                }
+
+            }
+            log.info("銆愭捣搴烽�氱敤浜嬩欢鎺ㄩ�併��========鎴愬姛=======");
+        }catch (Exception e){
+
+            log.error("銆愭捣搴烽�氱敤浜嬩欢鎺ㄩ�併��========澶辫触=======锛歕n"+e.getMessage());
+        }
+        saveInterfaceLog(param,"/business/hksync/push/notice",result,true);
         return  null;
 
     }
@@ -866,7 +993,9 @@
         String result = null;
         log.info("銆愭捣搴峰仠杞﹀満浜嬩欢鎺ㄩ�併��========寮�濮�=========锛歕n"+JSONObject.toJSONString(param));
         try {
-            if(param == null || param.getParams() == null || param.getParams().getEvents()==null){
+            if(param == null
+                    || param.getParams() == null
+                    || param.getParams().getEvents()==null){
                 return null;
             }
             //闂ㄧ浜嬩欢闆嗗悎
@@ -1238,7 +1367,7 @@
         Category category  = new Category();
         category.setName(tempname);
         category.setParentName(pName);
-        return null;
+        return category;
     }
 
     private void dealSelTruckAutoSignBiz(EventParkInfoRequest request, CarEvent event) {
@@ -1715,46 +1844,46 @@
         return model;
     }
 
-    /**
-     * 璁板綍鏈堝彴浣滀笟鏃ュ織
-     * @param job
-     * @param status
-     */
-    @Transactional
-    private void dealPlatformJobLogBiz(PlatformJob job,EventPlatformCarsStatusInfoRequest status) {
-        platformJobMapper.updateById(job);//鏇存柊浣滀笟鐘舵��
-        PlatformLog log = new PlatformLog();
-        log.setIsdeleted(Constants.ZERO);
-        log.setCreateDate(new Date());
-        log.setEditDate(log.getCreateDate());
-        log.setJobId(job.getId());
-        log.setObjId(job.getId()+"");
-        if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){
-            //濡傛灉鏄綔涓氬畬鎴�
-            log.setObjType(Constants.PlatformJobLogType.DONE.getKey());
-            log.setTitle(Constants.PlatformJobLogType.DONE.getName());
-            log.setContent(Constants.PlatformJobLogType.DONE.getInfo());
-            //鏌ヨ鏈�鍚庝竴娆″紑濮嬩綔涓氱殑鏃ュ織
-            PlatformLog lastBeginPlatform = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda()
-                    .eq(PlatformLog::getIsdeleted,Constants.ZERO)
-                    .eq(PlatformLog::getObjType,Constants.PlatformJobLogType.WORKING.getKey())
-                    .eq(PlatformLog::getJobId,job.getId())
-                    .orderByDesc(PlatformLog::getCreateDate)
-                    .last(" limit 1"));
-            String v = Long.toString(job.getDoneDate().getTime() - lastBeginPlatform.getCreateDate().getTime() / 1000) ;
-            lastBeginPlatform.setRemark(job.getPlatformId().toString());
-            lastBeginPlatform.setParam3(v);
-            lastBeginPlatform.setParam2(DateUtil.getDate(lastBeginPlatform.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
-            platformLogMapper.updateById(lastBeginPlatform);//鏇存柊涓婁竴娆′綔涓氱殑瀹屾垚鏃堕棿鍜屼綔涓氭椂闀�
-        }else{
-            //濡傛灉鏄綔涓氫腑
-            log.setObjType(Constants.PlatformJobLogType.WORKING.getKey());
-            log.setTitle(Constants.PlatformJobLogType.WORKING.getName());
-            log.setContent(Constants.PlatformJobLogType.WORKING.getInfo());
-            log.setParam1(DateUtil.getDate(log.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
-        }
-        platformLogMapper.insert(log);
-    }
+//    /**
+//     * 璁板綍鏈堝彴浣滀笟鏃ュ織
+//     * @param job
+//     * @param status
+//     */
+//    @Transactional
+//    private void dealPlatformJobLogBiz(PlatformJob job,EventPlatformCarsStatusInfoRequest status) {
+//        platformJobMapper.updateById(job);//鏇存柊浣滀笟鐘舵��
+//        PlatformLog log = new PlatformLog();
+//        log.setIsdeleted(Constants.ZERO);
+//        log.setCreateDate(new Date());
+//        log.setEditDate(log.getCreateDate());
+//        log.setJobId(job.getId());
+//        log.setObjId(job.getId()+"");
+//        if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){
+//            //濡傛灉鏄綔涓氬畬鎴�
+//            log.setObjType(Constants.PlatformJobLogType.DONE.getKey());
+//            log.setTitle(Constants.PlatformJobLogType.DONE.getName());
+//            log.setContent(Constants.PlatformJobLogType.DONE.getInfo());
+//            //鏌ヨ鏈�鍚庝竴娆″紑濮嬩綔涓氱殑鏃ュ織
+//            PlatformLog lastBeginPlatform = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda()
+//                    .eq(PlatformLog::getIsdeleted,Constants.ZERO)
+//                    .eq(PlatformLog::getObjType,Constants.PlatformJobLogType.WORKING.getKey())
+//                    .eq(PlatformLog::getJobId,job.getId())
+//                    .orderByDesc(PlatformLog::getCreateDate)
+//                    .last(" limit 1"));
+//            String v = Long.toString(job.getDoneDate().getTime() - lastBeginPlatform.getCreateDate().getTime() / 1000) ;
+//            lastBeginPlatform.setRemark(job.getPlatformId().toString());
+//            lastBeginPlatform.setParam3(v);
+//            lastBeginPlatform.setParam2(DateUtil.getDate(lastBeginPlatform.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
+//            platformLogMapper.updateById(lastBeginPlatform);//鏇存柊涓婁竴娆′綔涓氱殑瀹屾垚鏃堕棿鍜屼綔涓氭椂闀�
+//        }else{
+//            //濡傛灉鏄綔涓氫腑
+//            log.setObjType(Constants.PlatformJobLogType.WORKING.getKey());
+//            log.setTitle(Constants.PlatformJobLogType.WORKING.getName());
+//            log.setContent(Constants.PlatformJobLogType.WORKING.getInfo());
+//            log.setParam1(DateUtil.getDate(log.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
+//        }
+//        platformLogMapper.insert(log);
+//    }
 
     /**
      * 澶勭悊杞﹁締杩涘叆閿欒鏈堝彴涓氬姟閫昏緫

--
Gitblit v1.9.3