From 4ce54dd2d91ccdd45d6a33c5fc75b546780626be Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 14 十二月 2023 15:59:32 +0800
Subject: [PATCH] 海康接口对接开发

---
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/BaseResponse.java              |    2 
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java                     |    1 
 server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java                               |    4 +
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java                     |    3 
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java                      |   11 +-
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java  |  169 ++++++++++++++++++++++++++++++++++++++++++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java |    4 +
 server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java                     |    1 
 8 files changed, 188 insertions(+), 7 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index fd9fc11..bd896ca 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -7,7 +7,8 @@
 
 @Data
 public class HKConstants {
-    public static final String IMG_INDEX ="HKIMG=" ;
+    public static final String IMG_INDEX ="HKIMG_" ;
+    public static final String IMG_INDEX_ERROR ="HKIMG_ERROR=" ;
     private Logger logger = LoggerFactory.getLogger(HKConstants.class);
     //娴峰悍骞冲彴鏍规嵁鐜板満鐜閰嶇疆http杩樻槸https
     public static final String RESPONSE_SUCCEE = "0";
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/BaseResponse.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/BaseResponse.java
index 3f4800c..cb4b066 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/BaseResponse.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/BaseResponse.java
@@ -5,6 +5,7 @@
 @Data
 public class BaseResponse<T> {
 
+    private T data;
     /**
      * 杩斿洖鐮�
      * 0锛氭垚鍔�
@@ -16,5 +17,4 @@
      * 鎺ュ彛鎵ц鎯呭喌璇存槑淇℃伅
      */
     private String msg;
-    private T data;
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index cece265..f886834 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -73,7 +73,6 @@
     public  static  BaseResponse<OrgOrUserAddResponse>  addBatchOrg(List<OrgAddRequest> param){
         log.info("銆愭捣搴锋柊澧炵粍缁囥��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
-
             String res = HKTools.addBatchOrg(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<OrgOrUserAddResponse>>(){};
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index c0507f6..47a1f0e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -46,6 +46,10 @@
     public static final String VISIT_CONFIG = "VISIT_CONFIG";
     // 鍔冲姟鏉ヨ閰嶇疆
     public static final String LABOR_CONFIG = "LABOR_CONFIG";
+    public static final String VISIT_EVENT_IMG = "VISIT_EVENT_IMG";
+    public static final String CAR_EVENT_IMG = "CAR_EVENT_IMG";
+    public static final String DEVICE_EVENT_IMG = "DEVICE_EVENT_IMG";
+    public static  boolean DEALING_HK_IMG = false;
 
 
     public static  Date  getBirthdyByCardNo(String idCard){
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
index 22950ef..c5112c6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
@@ -67,7 +67,7 @@
     @ExcelColumn(name="浜嬩欢婧愬悕绉�")
     private String srcName;
 
-    @ApiModelProperty(value = "浜嬩欢绫诲瀷")
+    @ApiModelProperty(value = "浜嬩欢绫诲瀷锛堢櫥璁� 绛剧锛�")
     @ExcelColumn(name="浜嬩欢绫诲瀷")
     private Integer eventType;
 
@@ -131,13 +131,16 @@
     @ExcelColumn(name="璇佷欢绛惧彂鏈哄叧")
     private String signOrg;
 
-    @ApiModelProperty(value = "绂诲紑鏃堕棿")
-    @ExcelColumn(name="绂诲紑鏃堕棿")
+    @ApiModelProperty(value = "鏉ヨ鏃堕棿")
+    @ExcelColumn(name="鏉ヨ鏃堕棿")
     private String startTime;
 
+    @ApiModelProperty(value = "绂诲紑鏃堕棿")
+    @ExcelColumn(name="绂诲紑鏃堕棿")
+    private String endTime;
     @ApiModelProperty(value = "鎵嬫満鍙风爜")
     @ExcelColumn(name="鎵嬫満鍙风爜")
-    private String endTime;
+    private String phone;
 
     @ApiModelProperty(value = "杞︾墝鍙�")
     @ExcelColumn(name="杞︾墝鍙�")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java
index c3ab343..78f55c4 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java
@@ -51,5 +51,6 @@
     String dealVisitEvent(EventVisitRequest param, HttpServletResponse response);
 
     String dealParkEvent(EventParkRequest param, HttpServletResponse response);
+    String downHKImgs(int type);
     void cancelEventSub();
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
index a50fca1..240c794 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
@@ -69,4 +69,8 @@
     }
     @Override
     public void   cancelEventSub(){   }
+    @Override
+    public  String downHKImgs(int type){
+        return  null;
+    }
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java
new file mode 100644
index 0000000..f4562f5
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java
@@ -0,0 +1,169 @@
+package com.doumee.service.business.impl.hksync;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest;
+import com.doumee.core.haikang.model.param.respose.AcsDeviceInfoResponse;
+import com.doumee.core.haikang.model.param.respose.AcsDeviceListResponse;
+import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.model.CarEvent;
+import com.doumee.dao.business.model.Device;
+import com.doumee.dao.business.model.DeviceEvent;
+import com.doumee.dao.business.model.VisitEvent;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 璁惧淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Service
+public class HkSyncImgServiceImpl extends HkSyncBaseServiceImpl {
+
+    @Autowired
+    private CarEventMapper carEventMapper;
+    @Autowired
+    private DeviceEventMapper deviceEventMapper;
+    @Autowired
+    private VisitEventMapper visitEventMapper;
+    @Override
+    public  String downHKImgs(int type){
+        if(Constants.DEALING_HK_IMG){
+            return null ;
+        }
+        Constants.DEALING_HK_IMG =true;
+        try {
+            //鏌ヨ鎵�鏈夎瀹簨浠惰褰曚腑鎵�鏈変笅杞界殑娴峰悍绔� 鎶撴媿鐓х墖 鍜� 鐓х墖
+            startDealVisitImg();
+
+            //鏌ヨ鎵�鏈夊仠杞﹀満浜嬩欢璁板綍涓墍鏈変笅杞界殑娴峰悍绔� 杞︾墝鍥剧墖 鍜�   杞﹁締鍥剧墖
+            startDealCarImg();
+            //鏌ヨ鎵�鏈夐棬绂佷簨浠惰褰曚腑鎵�鏈変笅杞界殑娴峰悍绔� 鎶撴媿鐓х墖 鍜�   韬唤璇佸浘鐗嘦RL
+            startDealDeviceImg();
+        }catch (Exception e){
+
+        }finally {
+            Constants.DEALING_HK_IMG =false;
+        }
+        return  null;
+    }
+
+    private void startDealDeviceImg() {
+        List<DeviceEvent> deviceEventList = deviceEventMapper.selectList(new QueryWrapper<DeviceEvent>().lambda()
+                .eq(DeviceEvent::getIsdeleted,Constants.ZERO)
+                .and(wrapper ->{wrapper.likeLeft(DeviceEvent::getExtEventPictureURL,HKConstants.IMG_INDEX)
+                        .or()
+                        .likeLeft(DeviceEvent::getExtEventIDCardPictureURL,HKConstants.IMG_INDEX) ;}));
+        Date date= new Date();
+        if(deviceEventList !=null && deviceEventList.size()>0){
+            for(DeviceEvent model:deviceEventList){
+                String img1 = model.getExtEventPictureURL();
+                String img2 = model.getExtEventIDCardPictureURL();
+                String serverIndex = model.getSvrIndexCode();//鏈嶅姟鍣ㄧ紪鐮�
+                String rs1 = downHkImgToFtp(img1,serverIndex,Constants.DEVICE_EVENT_IMG);
+                String rs2 = downHkImgToFtp(img2,serverIndex,Constants.DEVICE_EVENT_IMG);
+                DeviceEvent event = new DeviceEvent();
+                event.setId(model.getId());
+                event.setEditDate(date);
+                if(StringUtils.isNotBlank(rs1)){
+                    event.setExtEventPictureURL(rs1);
+                }else{
+                    event.setExtEventPictureURL(img1.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR));
+                }
+                if(StringUtils.isNotBlank(rs2)){
+                    event.setExtEventIDCardPictureURL(rs2);
+                }else{
+                    event.setExtEventIDCardPictureURL(img2.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR));
+                }
+                deviceEventMapper.updateById(event);
+            }
+        }
+
+    }
+
+    private void startDealCarImg() {
+        List<CarEvent> carEventList = carEventMapper.selectList(new QueryWrapper<CarEvent>().lambda()
+                .eq(CarEvent::getIsdeleted,Constants.ZERO)
+                .and(wrapper ->{wrapper.likeLeft(CarEvent::getPlatePicUrl,HKConstants.IMG_INDEX)
+                        .or()
+                        .likeLeft(CarEvent::getVehiclePicUrl,HKConstants.IMG_INDEX) ;}));
+        Date date= new Date();
+        if(carEventList !=null && carEventList.size()>0){
+            for(CarEvent model:carEventList){
+                String img1 = model.getPlatePicUrl();
+                String img2 = model.getVehiclePicUrl();
+                String serverIndex = model.getSvrIndex();//鏈嶅姟鍣ㄧ紪鐮�
+                String rs1 = downHkImgToFtp(img1,serverIndex,Constants.CAR_EVENT_IMG);
+                String rs2 = downHkImgToFtp(img2,serverIndex,Constants.CAR_EVENT_IMG);
+                CarEvent event = new CarEvent();
+                event.setId(model.getId());
+                event.setEditDate(date);
+                if(StringUtils.isNotBlank(rs1)){
+                    event.setPlatePicUrl(rs1);
+                }else{
+                    event.setPlatePicUrl(img1.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR));
+                }
+                if(StringUtils.isNotBlank(rs2)){
+                    event.setVehiclePicUrl(rs2);
+                }else{
+                    event.setVehiclePicUrl(img2.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR));
+                }
+                carEventMapper.updateById(event);
+            }
+        }
+
+    }
+
+    private void startDealVisitImg() {
+        List<VisitEvent> visitEventList = visitEventMapper.selectList(new QueryWrapper<VisitEvent>().lambda()
+                .eq(VisitEvent::getIsdeleted,Constants.ZERO)
+                .and(wrapper ->{wrapper.likeLeft(VisitEvent::getCaptureUrl,HKConstants.IMG_INDEX)
+                        .or()
+                        .likeLeft(VisitEvent::getPhotoUrl,HKConstants.IMG_INDEX) ;}));
+
+        Date date= new Date();
+        if(visitEventList !=null && visitEventList.size()>0){
+            for(VisitEvent model:visitEventList){
+                String img1 = model.getCaptureUrl();
+                String img2 = model.getPhotoUrl();
+                String serverIndex = model.getSvrIndexCode();//鏈嶅姟鍣ㄧ紪鐮�
+                String rs1 = downHkImgToFtp(img1,serverIndex,Constants.VISIT_EVENT_IMG);
+                String rs2 = downHkImgToFtp(img2,serverIndex,Constants.VISIT_EVENT_IMG);
+                VisitEvent event = new VisitEvent();
+                event.setId(model.getId());
+                event.setEditDate(date);
+                if(StringUtils.isNotBlank(rs1)){
+                    event.setCaptureUrl(rs1);
+                }else{
+                    event.setCaptureUrl(img1.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR));
+                }
+                if(StringUtils.isNotBlank(rs2)){
+                    event.setPhotoUrl(rs2);
+                }else{
+                    event.setPhotoUrl(img2.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR));
+                }
+                visitEventMapper.updateById(event);
+            }
+        }
+
+    }
+
+    private String downHkImgToFtp(String img1, String serverIndex, String visitEventImg) {
+        //
+
+        return  null;
+    }
+}

--
Gitblit v1.9.3