From e40930bf2b5818d4a84d94e0ee56af1898698679 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Mon, 23 May 2022 14:33:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A4=BE=E5=8C=BA=E3=80=81=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HikCommunityInfoController.java | 12 +++ .../controller/HikDeviceInfoController.java | 12 +++ .../modules/hik/dao/HikCommunityInfoDao.java | 9 +- .../hik/service/HikCommunityInfoService.java | 11 ++- .../hik/service/HikDeviceInfoService.java | 10 ++- .../impl/HikCommunityInfoServiceImpl.java | 86 +++++++++++++++++- .../impl/HikDeviceInfoServiceImpl.java | 89 ++++++++++++++++++- .../mapper/hik/HikCommunityInfoDao.xml | 8 +- 8 files changed, 224 insertions(+), 13 deletions(-) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/controller/HikCommunityInfoController.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/controller/HikCommunityInfoController.java index 88c0b5f..1639f11 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/controller/HikCommunityInfoController.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/controller/HikCommunityInfoController.java @@ -77,6 +77,18 @@ public class HikCommunityInfoController { ExcelUtils.exportExcelToTarget(response, null, list, HikCommunityInfoExcel.class); } + /** + * @Description: 同步社区列表信息 + * @Param: [formDto] + * @return: com.elink.esua.epdc.commons.tools.utils.Result<> + * @Author: wgf + * @Date: 2022-05-23 + */ + @GetMapping("getCommunityList") + public Result getCommunityList() { + return hikCommunityInfoService.getCommunityList(); + } + } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/controller/HikDeviceInfoController.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/controller/HikDeviceInfoController.java index fa5ef45..f1bc823 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/controller/HikDeviceInfoController.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/controller/HikDeviceInfoController.java @@ -77,6 +77,18 @@ public class HikDeviceInfoController { ExcelUtils.exportExcelToTarget(response, null, list, HikDeviceInfoExcel.class); } + /** + * @Description: 同步设备列表信息 + * @Param: [formDto] + * @return: com.elink.esua.epdc.commons.tools.utils.Result<> + * @Author: wgf + * @Date: 2022-05-23 + */ + @GetMapping("getDeviceList") + public Result getDeviceList() { + return hikDeviceInfoService.getDeviceList(); + } + } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/dao/HikCommunityInfoDao.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/dao/HikCommunityInfoDao.java index 356270d..c25e7b3 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/dao/HikCommunityInfoDao.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/dao/HikCommunityInfoDao.java @@ -1,9 +1,12 @@ package com.epmet.plugin.power.modules.hik.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.plugin.power.dto.hik.HikCommunityInfoDTO; import com.epmet.plugin.power.modules.hik.entity.HikCommunityInfoEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 海康社区信息 * @@ -12,5 +15,7 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface HikCommunityInfoDao extends BaseDao { - -} \ No newline at end of file + + List getCommunityInfoAll(); + +} diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/HikCommunityInfoService.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/HikCommunityInfoService.java index 6128386..9a47eb5 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/HikCommunityInfoService.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/HikCommunityInfoService.java @@ -2,6 +2,7 @@ package com.epmet.plugin.power.modules.hik.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; import com.epmet.plugin.power.dto.hik.HikCommunityInfoDTO; import com.epmet.plugin.power.modules.hik.entity.HikCommunityInfoEntity; @@ -75,4 +76,12 @@ public interface HikCommunityInfoService extends BaseService { * @date 2022-05-20 */ void delete(String[] ids); -} \ No newline at end of file + + /** + * 同步设备信息 + * @param + * @return + */ + Result getDeviceList(); +} diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikCommunityInfoServiceImpl.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikCommunityInfoServiceImpl.java index 7fc5202..2edf97e 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikCommunityInfoServiceImpl.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikCommunityInfoServiceImpl.java @@ -1,24 +1,32 @@ package com.epmet.plugin.power.modules.hik.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.HttpClientManager; +import com.epmet.commons.tools.utils.Result; import com.epmet.plugin.power.modules.hik.dao.HikCommunityInfoDao; import com.epmet.plugin.power.dto.hik.HikCommunityInfoDTO; import com.epmet.plugin.power.modules.hik.entity.HikCommunityInfoEntity; import com.epmet.plugin.power.modules.hik.redis.HikCommunityInfoRedis; import com.epmet.plugin.power.modules.hik.service.HikCommunityInfoService; +import com.epmet.plugin.power.modules.utils.HkDeviceUtil; +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 海康社区信息 @@ -32,6 +40,16 @@ public class HikCommunityInfoServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -84,4 +102,64 @@ public class HikCommunityInfoServiceImpl extends BaseServiceImpl headerMap = new HashMap<>(4); + headerMap.put("Authorization",token); + + Map paramsMap = new HashMap<>(4); + paramsMap.put("pageNo", pageNo); + paramsMap.put("pageSize", pageSize); + + JSONArray jsonArray = getJSONArrayListGET(url,false,paramsMap,headerMap,"请求社区列表信息失败"); + + List entityList = new ArrayList(); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObj = jsonArray.getJSONObject(i); + // 转成对象实体 + HikCommunityInfoEntity entity = JSONObject.toJavaObject(jsonObj ,HikCommunityInfoEntity.class); + entity.setCustomerId(loginUserUtil.getLoginUserCustomerId() == null ? "0001" : loginUserUtil.getLoginUserCustomerId()); + entityList.add(entity); + } + insertBatch(entityList); + + if(jsonArray != null && jsonArray.size() == 10){ + pageNo++; + getCommunityList(); + } + + return new Result(); + } + + /** + * sendGet请求 + * @param url + * @param isHttps + * @param paramsMap + * @param headerMap + * @param msg + * @return + */ + public JSONArray getJSONArrayListGET(String url,Boolean isHttps,Map paramsMap,Map headerMap,String msg){ + // 请求接口 + String data = HttpClientManager.getInstance().sendGet(url,false,paramsMap, headerMap).getData(); + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg); + } + JSONObject toResult = JSON.parseObject(data); + + JSONObject dataList = JSON.parseObject(toResult.get("data").toString()); + + JSONArray rows = JSONArray.parseArray(dataList.get("rows").toString()); + + return rows; + } + +} diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikDeviceInfoServiceImpl.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikDeviceInfoServiceImpl.java index 07f8896..52b1fad 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikDeviceInfoServiceImpl.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikDeviceInfoServiceImpl.java @@ -1,24 +1,34 @@ package com.epmet.plugin.power.modules.hik.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.HttpClientManager; +import com.epmet.commons.tools.utils.Result; +import com.epmet.plugin.power.dto.hik.HikCommunityInfoDTO; +import com.epmet.plugin.power.modules.hik.dao.HikCommunityInfoDao; import com.epmet.plugin.power.modules.hik.dao.HikDeviceInfoDao; import com.epmet.plugin.power.dto.hik.HikDeviceInfoDTO; +import com.epmet.plugin.power.modules.hik.entity.HikCommunityInfoEntity; import com.epmet.plugin.power.modules.hik.entity.HikDeviceInfoEntity; import com.epmet.plugin.power.modules.hik.redis.HikDeviceInfoRedis; import com.epmet.plugin.power.modules.hik.service.HikDeviceInfoService; +import com.epmet.plugin.power.modules.utils.HkDeviceUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 海康设备信息 @@ -32,6 +42,15 @@ public class HikDeviceInfoServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -84,4 +103,66 @@ public class HikDeviceInfoServiceImpl extends BaseServiceImpl headerMap = new HashMap<>(4); + headerMap.put("Authorization",token); + + // 获取社区列表 + List communityList = hikCommunityInfoDao.getCommunityInfoAll(); + + for(HikCommunityInfoDTO hikCommunityInfoDTO : communityList){ + // 参数 + Integer pageNo = 1; + Integer pageSize = 1000; + Map paramsMap = new HashMap<>(4); + paramsMap.put("pageNo", pageNo); + paramsMap.put("pageSize", pageSize); + paramsMap.put("communityId",hikCommunityInfoDTO.getCommunityId()); + JSONArray jsonArray = getJSONArrayListPOST(url,JSON.toJSONString(paramsMap),headerMap,"请求设备列表信息失败"); + + List entityList = new ArrayList(); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObj = jsonArray.getJSONObject(i); + // 转成对象实体 + HikDeviceInfoEntity entity = JSONObject.toJavaObject(jsonObj ,HikDeviceInfoEntity.class); + entity.setCustomerId(loginUserUtil.getLoginUserCustomerId() == null ? "0001" : loginUserUtil.getLoginUserCustomerId()); + entityList.add(entity); + } + insertBatch(entityList); + } + + return new Result(); + } + + /** + * sendGet请求 + * @param url + * @param jsonStrParam + * @param headerMap + * @param msg + * @return + */ + public JSONArray getJSONArrayListPOST(String url,String jsonStrParam,Map headerMap,String msg){ + // 请求接口 + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url,jsonStrParam, headerMap).getData(); + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg); + } + JSONObject toResult = JSON.parseObject(data); + + JSONObject dataList = JSON.parseObject(toResult.get("data").toString()); + + JSONArray rows = JSONArray.parseArray(dataList.get("rows").toString()); + + return rows; + } + +} diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/hik/HikCommunityInfoDao.xml b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/hik/HikCommunityInfoDao.xml index 942410e..978427b 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/hik/HikCommunityInfoDao.xml +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/hik/HikCommunityInfoDao.xml @@ -21,5 +21,11 @@ + - \ No newline at end of file + +