From 69676cf96655ea6235a5e228c18783916d4edb55 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 06 十二月 2023 10:02:18 +0800
Subject: [PATCH] 海康接口对接开发
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java | 55 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 30 insertions(+), 25 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/HkSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
similarity index 80%
rename from server/dmvisit_service/src/main/java/com/doumee/service/business/impl/HkSyncServiceImpl.java
rename to server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
index fe25c11..1c99ba1 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/HkSyncServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
@@ -1,32 +1,25 @@
-package com.doumee.service.business.impl;
+package com.doumee.service.business.impl.hksync;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.request.ParkListRequest;
import com.doumee.core.haikang.model.param.respose.AcsDeviceInfoResponse;
import com.doumee.core.haikang.model.param.respose.AcsDeviceListResponse;
+import com.doumee.core.haikang.model.param.respose.ParkListResponse;
import com.doumee.core.haikang.service.HKService;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
-import com.doumee.core.utils.Utils;
import com.doumee.dao.business.DeviceMapper;
+import com.doumee.dao.business.ParksMapper;
import com.doumee.dao.business.model.Device;
-import com.doumee.service.business.DeviceService;
-import com.doumee.service.business.HkSyncService;
+import com.doumee.dao.business.model.Parks;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -37,13 +30,16 @@
* @date 2023/11/30 15:33
*/
@Service
-public class HkSyncServiceImpl implements HkSyncService {
+public class HkSyncDeviceServiceImpl extends HkSyncBaseServiceImpl {
@Autowired
private DeviceMapper deviceMapper;
- @Autowired
- private HKService hkService;
+ /**
+ * 鍚屾娴峰悍闂ㄧ璁惧鏁版嵁
+ * @param param
+ * @return
+ */
@Override
// @Async
public String syncHkDevices(AcsDeviceListRequest param){
@@ -56,10 +52,11 @@
List<Device> allList = deviceMapper.selectList(null);
boolean hasNext = true;
int curTotal = 0;
+ int curPage = 1;
while (hasNext){
//鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
param = new AcsDeviceListRequest();
- param.setPageNo(1);
+ param.setPageNo(curPage);
param.setPageSize(10000);
BaseResponse<AcsDeviceListResponse> response = hkService.acsDeviceList(param);
if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
@@ -70,11 +67,17 @@
if(curTotal >= r.getTotal()){
hasNext = false;
}
- List<AcsDeviceInfoResponse> tlist = r.getList();
+ if(r.getList() == null || r.getList().size()==0){
+ hasNext =false;
+ }else{
+ allHkList.addAll(r.getList());
+ }
+ curPage++;
}
- //鍒ゆ柇鑾峰彇鍒犻櫎鐨勯棬绂佽澶囷紝閫昏緫鍒犻櫎
- getAddAndEditList(allList,allHkList,addList,editList,date);
- getDeleteList(allList,allHkList,deleteList,date);
+ /**
+ * 鑾峰彇澧炲垹鏀规暟鎹泦鍚�
+ */
+ getDataChangeList(allList,allHkList,addList,editList,deleteList,date);
if(deleteList.size()>0){
//閫昏緫鍒犻櫎
for(Device d : deleteList){
@@ -89,25 +92,27 @@
deviceMapper.updateById(d);
}
}
- return "鍚屾闂ㄧ鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
+ return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
}
- private void getAddAndEditList(List<Device> allList, List<AcsDeviceInfoResponse> allHkList, List<Device> addList, List<Device> editList, Date date) {
+ private void getDataChangeList(List<Device> allList, List<AcsDeviceInfoResponse> allHkList, List<Device> addList, List<Device> editList,List<Device> deleteList, Date date) {
if(allHkList!=null && allHkList.size()>0){
for(AcsDeviceInfoResponse device : allHkList){
Device model = getExistedDevice(device,allList);
if(model !=null){
//濡傛灉宸插瓨鍦紝鍒欐洿鏂版暟鎹�
- model = initDeviceByHkData(model,device,date);
+ model = initDataByHkData(model,device,date);
editList.add(model);
}else{
//濡傛灉涓嶅瓨鍦紝鍒欐柊澧炴暟鎹�
model = new Device();
- model = initDeviceByHkData(model,device,date);
+ model = initDataByHkData(model,device,date);
addList.add(model);
}
}
}
+ //鍒ゆ柇鑾峰彇鍒犻櫎鐨勯棬绂佽澶囷紝閫昏緫鍒犻櫎
+ getDeleteList(allList,allHkList,deleteList,date);
}
/**
@@ -117,7 +122,7 @@
* @param date
* @return
*/
- private Device initDeviceByHkData(Device model, AcsDeviceInfoResponse device,Date date) {
+ private Device initDataByHkData(Device model, AcsDeviceInfoResponse device,Date date) {
model.setIsdeleted(Constants.ZERO);
model.setIp(device.getIp());
model.setHkDate(date);
--
Gitblit v1.9.3