From 511ba8678914c25597f2cac7bcfb6d2e1fcd06fa Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Thu, 28 Jul 2022 14:56:49 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E5=B8=82=E5=8C=97=E4=B9=9F=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pli-power-base/pli-power-base-server/pom.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml index d674639..22f5974 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml @@ -346,6 +346,9 @@ https://api2.hik-cloud.com 90688b09bb9d40088f7be404ccb347c7 7b1940707a4240be9c794c5a967a30c9 + + https://api2.hik-cloud.com + 111 From f31c1d3d45a61e7e8b3abab8fffe093a35526c2f Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Thu, 28 Jul 2022 16:21:53 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E5=87=86=E5=A4=87=E4=B8=8B=E5=8F=91?= =?UTF-8?q?=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../power/dto/visit/form/DhPersonFormDTO.java | 39 +++++ .../power/modules/utils/HkDeviceUtil.java | 4 +- .../service/impl/VisitVisitorServiceImpl.java | 13 +- .../modules/visit/utils/DhDeviceUtil.java | 138 +++++++++++++---- .../power/modules/visit/utils/DhResult.java | 142 ++++++++++++++++++ 5 files changed, 301 insertions(+), 35 deletions(-) create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonFormDTO.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhResult.java diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonFormDTO.java new file mode 100644 index 0000000..3cfcc53 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonFormDTO.java @@ -0,0 +1,39 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhPersonFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String paperType; + + private String paperNumber; + + private String name; + + private String code; + + private Long deptId; + + private String sex; + + private String birthday; + + private String phone; + + private String status; + + private String personIdentityId; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/utils/HkDeviceUtil.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/utils/HkDeviceUtil.java index f52f535..fd9689b 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/utils/HkDeviceUtil.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/utils/HkDeviceUtil.java @@ -109,8 +109,8 @@ public class HkDeviceUtil { logger.info(result.getMsg()); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员信息下发失败"); } - Object RegisterResult = result.getData(); - JSONObject jsonObject = JSON.parseObject(RegisterResult.toString()); + Object registerResult = result.getData(); + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); return jsonObject.getString("personId"); } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java index b4b1a57..61e7787 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java @@ -4,12 +4,14 @@ 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.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.plugin.power.dto.visit.VisitVisitorDTO; +import com.epmet.plugin.power.dto.visit.form.DhPersonFormDTO; import com.epmet.plugin.power.dto.visit.form.VisitVisitorChartFormDTO; import com.epmet.plugin.power.dto.visit.form.VisitVisitorFormDTO; import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO; @@ -149,7 +151,16 @@ public class VisitVisitorServiceImpl extends BaseServiceImpl paramsMap = new HashMap<>(4); - DhToken token = getLoginPass(getAccessToken()); - String urlParam = "?userId=" + token.getId() + "&username=" + token.getLoginName() + "&token=" + token.getToken(); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, StringUtils.EMPTY, paramsMap).getData(); + + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); + } + JSONObject toResult = JSON.parseObject(data); + DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); + if (null != toResult.get("code")) { + result.setCode(((Integer) toResult.get("code")).intValue()); + } + if (!result.getSuccess()) { + logger.info(result.getErrMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); + } + Object registerResult = result.getData(); + JSONArray jsonArray = JSON.parseArray(registerResult.toString()); + JSONObject jsonObject = jsonArray.getJSONObject(0); + if (null != jsonObject) { + return Long.parseLong(jsonObject.get("deptId").toString()); + } + return 0L; + } + + /** + * 下发人员权限 + * + * @param + * @return java.lang.String + * @author zhy + * @date 2022/5/23 11:04 + */ + public String getIdentity() { + String url = dhCloudProperties.getUrl().concat(GET_PERSON_IDENTITY); + String urlParam = getDhUrlParams(); url = url + urlParam; - String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); + Map paramsMap = new HashMap<>(4); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, StringUtils.EMPTY, paramsMap).getData(); if (null == data) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员信息下发失败"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); } JSONObject toResult = JSON.parseObject(data); - Result result = ConvertUtils.mapToEntity(toResult, Result.class); + DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); if (null != toResult.get("code")) { result.setCode(((Integer) toResult.get("code")).intValue()); } - if (NumConstant.TWO_HUNDRED != result.getCode()) { - logger.info(result.getMsg()); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员信息下发失败"); + if (!result.getSuccess()) { + logger.info(result.getErrMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); } - Object RegisterResult = result.getData(); - JSONObject jsonObject = JSON.parseObject(RegisterResult.toString()); - return jsonObject.getString("personId"); + Object registerResult = result.getData(); + JSONArray jsonArray = JSON.parseArray(registerResult.toString()); + JSONObject jsonObject = jsonArray.getJSONObject(0); + if (null != jsonObject) { + return jsonObject.get("id").toString(); + } + return ""; } /** @@ -158,27 +202,57 @@ public class DhDeviceUtil { * @author zhy * @date 2022/5/23 11:04 */ - public String authorityIssued(HikAuthorityFormDTO dto) { - String url = dhCloudProperties.getUrl().concat(ISSUE_AUTHORITY); + public String addPerson(DhPersonFormDTO dto) { + String url = dhCloudProperties.getUrl().concat(ADD_PERSON); + String urlParam = getDhUrlParams(); + url = url + urlParam; + + Long deptId = getDept(); + if (0L == deptId) { + return ""; + } + String identity = getIdentity(); + if (StringUtils.isBlank(identity)) { + return ""; + } + dto.setDeptId(deptId); + dto.setPersonIdentityId(identity); Map paramsMap = new HashMap<>(4); - paramsMap.put("Authorization", getAccessToken()); String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); if (null == data) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员权限下发失败"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); } JSONObject toResult = JSON.parseObject(data); - Result result = ConvertUtils.mapToEntity(toResult, Result.class); + DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); if (null != toResult.get("code")) { result.setCode(((Integer) toResult.get("code")).intValue()); } - if (NumConstant.TWO_HUNDRED != result.getCode()) { - logger.info(result.getMsg()); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员权限下发失败"); + if (!result.getSuccess()) { + logger.info(result.getErrMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); } - return "success"; + Object registerResult = result.getData(); + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); + if (null != jsonObject) { + return jsonObject.toString(); + } + return ""; + } + + /** + * 拼接url固定参数 + * + * @param + * @return java.lang.String + * @author zhy + * @date 2022/7/28 16:09 + */ + private String getDhUrlParams() { + DhToken token = getLoginPass(getAccessToken()); + return "?userId=" + token.getId() + "&username=" + token.getLoginName() + "&token=" + token.getToken(); } } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhResult.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhResult.java new file mode 100644 index 0000000..86a8748 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhResult.java @@ -0,0 +1,142 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet.plugin.power.modules.visit.utils; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.ErrorCode; +import com.epmet.commons.tools.utils.MessageUtils; +import com.epmet.commons.tools.utils.Result; +import org.apache.commons.lang3.StringUtils; + +import java.io.Serializable; + +/** + * 响应数据 + * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +public class DhResult implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 编码:0表示成功,其他值表示失败 + */ + private Integer code = 0; + /** + * 消息内容 + */ + private String errMsg = "success"; + + /** + * 内部信息 + */ + private Boolean success = true; + + /** + * 响应数据 + */ + private T data; + + public DhResult ok(T data) { + this.setData(data); + return this; + } + + public boolean success(){ + return code == 0; + } + + /** + * 返回 + * "code": 8000, + * "msg": "服务器开小差了...", + */ + public DhResult error() { + this.code = EpmetErrorCode.SERVER_ERROR.getCode(); + this.errMsg = EpmetErrorCode.getMsg(code); + if (StringUtils.isBlank(this.errMsg)) { + this.errMsg = MessageUtils.getMessage(this.code); + } + return this; + } + + /** + * 根据错误编码查询msg返回 + */ + public DhResult error(int code) { + this.code = code; + this.errMsg = EpmetErrorCode.getMsg(code); + if (StringUtils.isBlank(this.errMsg)) { + this.errMsg = MessageUtils.getMessage(this.code); + } + return this; + } + + /** + * 传入错误编码+msg返回 + */ + public DhResult error(int code, String msg) { + this.code = code; + this.errMsg = msg; + return this; + } + + /** + * + * @param msg + * @return 此方法废弃,统一使用 + * logger.error(XXXX); + * throw new RenException(XXXX); + * XXXX定义常量里 + */ + @Deprecated + public DhResult error(String msg) { + this.code = ErrorCode.INTERNAL_SERVER_ERROR; + this.errMsg = msg; + return this; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getErrMsg() { + return errMsg; + } + + public void setErrMsg(String errMsg) { + this.errMsg = errMsg; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + @Override + public String toString() { + return JSON.toJSONString(this); + } +} From f66f803682b7e55e49372a9c1560880a1fda26f5 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 29 Jul 2022 10:21:03 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E4=B8=8B=E5=8F=91=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../power/dto/visit/form/DhAuthFormDTO.java | 27 ++ .../dto/visit/form/DhPersonCardFormDTO.java | 39 ++ .../dto/visit/form/DhPersonImgFormDTO.java | 23 ++ .../dto/visit/result/DhChannelResultDTO.java | 23 ++ .../pli-power-base-server/pom.xml | 5 + .../service/impl/VisitVisitorServiceImpl.java | 2 +- .../modules/visit/utils/DhDeviceUtil.java | 373 ++++++++++++++++-- 7 files changed, 467 insertions(+), 25 deletions(-) create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhAuthFormDTO.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonCardFormDTO.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonImgFormDTO.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/result/DhChannelResultDTO.java diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhAuthFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhAuthFormDTO.java new file mode 100644 index 0000000..0f5062e --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhAuthFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.plugin.power.dto.visit.form; + +import com.epmet.plugin.power.dto.visit.result.DhChannelResultDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhAuthFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String cardNumber; + + private String timeQuantumId; + + private List cardPrivilegeDetails; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonCardFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonCardFormDTO.java new file mode 100644 index 0000000..0c53aa0 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonCardFormDTO.java @@ -0,0 +1,39 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhPersonCardFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long personId; + + private String personName; + + private String cardNumber; + + private String cardType; + + private String category; + + private String cardStatus; + + private String startDate; + + private String endDate; + + private String cardPassword; + + private String subSystems; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonImgFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonImgFormDTO.java new file mode 100644 index 0000000..62c0e89 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonImgFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhPersonImgFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String personCode; + + private String base64file; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/result/DhChannelResultDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/result/DhChannelResultDTO.java new file mode 100644 index 0000000..737b3e8 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/result/DhChannelResultDTO.java @@ -0,0 +1,23 @@ +package com.epmet.plugin.power.dto.visit.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhChannelResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String privilegeType; + + private String resouceCode; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml index 22f5974..0b22591 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml @@ -83,6 +83,11 @@ RELEASE compile + + net.coobird + thumbnailator + 0.4.8 + diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java index 61e7787..a923a45 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java @@ -160,7 +160,7 @@ public class VisitVisitorServiceImpl extends BaseServiceImpl paramsMap = new HashMap<>(4); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, StringUtils.EMPTY, paramsMap).getData(); + + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询开门计划失败"); + } + JSONObject toResult = JSON.parseObject(data); + DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); + if (null != toResult.get("success")) { + result.setCode(200); + } + if (!result.getSuccess()) { + logger.info(result.getErrMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询开门计划失败"); + } + Object registerResult = result.getData(); + JSONArray jsonArray = JSON.parseArray(registerResult.toString()); + JSONObject jsonObject = jsonArray.getJSONObject(0); + if (null != jsonObject) { + return jsonObject.get("id").toString(); + } + return ""; + } + + /** + * 查询通道 + * + * @param + * @return java.lang.String + * @author zhy + * @date 2022/5/23 11:04 + */ + public List getChannel() { + String url = dhCloudProperties.getUrl().concat(GET_DOOR_CHANNEL); + String urlParam = getDhUrlParams(); + url = url + urlParam; + + Map paramsMap = new HashMap<>(4); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, StringUtils.EMPTY, paramsMap).getData(); + + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询通道列表失败"); + } + JSONObject toResult = JSON.parseObject(data); + DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); + if (null != toResult.get("success")) { + result.setCode(200); + } + if (!result.getSuccess()) { + logger.info(result.getErrMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询通道列表失败"); + } + Object registerResult = result.getData(); + JSONArray jsonArray = JSON.parseArray(registerResult.toString()); + List list = new ArrayList<>(); + + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(0); + DhChannelResultDTO channel = new DhChannelResultDTO(); + channel.setPrivilegeType("1"); + channel.setResouceCode(jsonObject.get("channelCode").toString()); + list.add(channel); + } + + return list; + } + + /** + * 新增人员 * * @param dto * @return java.lang.String * @author zhy * @date 2022/5/23 11:04 */ - public String addPerson(DhPersonFormDTO dto) { + public Long addPerson(DhPersonFormDTO dto) { String url = dhCloudProperties.getUrl().concat(ADD_PERSON); String urlParam = getDhUrlParams(); url = url + urlParam; Long deptId = getDept(); if (0L == deptId) { - return ""; + return null; } String identity = getIdentity(); if (StringUtils.isBlank(identity)) { - return ""; + return null; } dto.setDeptId(deptId); dto.setPersonIdentityId(identity); @@ -223,21 +318,172 @@ public class DhDeviceUtil { String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); if (null == data) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "新增人员失败"); } JSONObject toResult = JSON.parseObject(data); DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); - if (null != toResult.get("code")) { - result.setCode(((Integer) toResult.get("code")).intValue()); + if (null != toResult.get("success")) { + result.setCode(200); } if (!result.getSuccess()) { logger.info(result.getErrMsg()); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "新增人员失败"); + } + Object registerResult = result.getData(); + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); + if (null != jsonObject) { + return Long.parseLong(jsonObject.toString()); + } + return null; + } + + /** + * 下发人员头像 + * + * @param dto + * @return java.lang.String + * @author zhy + * @date 2022/5/23 11:04 + */ + public String addPersonImg(DhPersonFormDTO dto, String imgUrl) { + DhPersonImgFormDTO imgFormDTO = new DhPersonImgFormDTO(); + String url = dhCloudProperties.getUrl().concat(ADD_PERSON_IMG); + String urlParam = getDhUrlParams(); + url = url + urlParam; + + imgFormDTO.setPersonCode(dto.getCode()); + imgFormDTO.setBase64file(getBase64ByUrl(imgUrl)); + + Map paramsMap = new HashMap<>(4); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(imgFormDTO), paramsMap).getData(); + + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "下发人员头像失败"); + } + JSONObject toResult = JSON.parseObject(data); + DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); + if (null != toResult.get("success")) { + result.setCode(200); + } + if (!result.getSuccess()) { + logger.info(result.getErrMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "下发人员头像失败"); + } + Object registerResult = result.getData(); + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); + if (null != jsonObject) { + return "success"; + } + return ""; + } + + /** + * 人员开卡 + * + * @param dto + * @return java.lang.String + * @author zhy + * @date 2022/5/23 11:04 + */ + public String addPersonCard(DhPersonFormDTO dto) { + Long personId = addPerson(dto); + if (personId == null) { + return "添加人员信息失败"; + } + DhPersonCardFormDTO cardFormDTO = new DhPersonCardFormDTO(); + String url = dhCloudProperties.getUrl().concat(OPEN_CARD); + String urlParam = getDhUrlParams(); + url = url + urlParam; + + cardFormDTO.setPersonId(personId); + cardFormDTO.setPersonName(dto.getName()); + cardFormDTO.setCardNumber(generateNiceString(8)); + cardFormDTO.setCardType("0"); + cardFormDTO.setCategory("0"); + cardFormDTO.setCardStatus("ACTIVE"); + cardFormDTO.setStartDate(LocalDate.now().toString()); + cardFormDTO.setEndDate(LocalDate.now().plusDays(1L).toString()); + cardFormDTO.setCardPassword("0"); + cardFormDTO.setSubSystems("1"); + + Map paramsMap = new HashMap<>(4); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(cardFormDTO), paramsMap).getData(); + + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员开卡失败"); + } + JSONObject toResult = JSON.parseObject(data); + DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); + if (null != toResult.get("success")) { + result.setCode(200); + } + if (!result.getSuccess()) { + logger.info(result.getErrMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员开卡失败"); } Object registerResult = result.getData(); JSONObject jsonObject = JSON.parseObject(registerResult.toString()); if (null != jsonObject) { - return jsonObject.toString(); + return cardFormDTO.getCardNumber(); + } + return ""; + } + + /** + * 下发人员权限 + * + * @param dto + * @return java.lang.String + * @author zhy + * @date 2022/5/23 11:04 + */ + public String addPersonAuth(DhPersonFormDTO dto, String imgUrl) { + String personCard = addPersonCard(dto); + List channel = getChannel(); + String plan = getPlan(); + + if (StringUtils.isBlank(personCard)) { + return "开卡失败"; + } else if (StringUtils.isNotBlank(imgUrl)) { + addPersonImg(dto, imgUrl); + } + if (channel.isEmpty()) { + return "获取通道失败"; + } + if (StringUtils.isBlank(plan)) { + return "获取开门计划失败"; + } + DhAuthFormDTO authFormDTO = new DhAuthFormDTO(); + String url = dhCloudProperties.getUrl().concat(ADD_AUTH); + String urlParam = getDhUrlParams(); + url = url + urlParam; + + authFormDTO.setCardNumber(personCard); + authFormDTO.setTimeQuantumId(plan); + authFormDTO.setCardPrivilegeDetails(channel); + + Map paramsMap = new HashMap<>(4); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(authFormDTO), paramsMap).getData(); + + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "下发人员权限失败"); + } + JSONObject toResult = JSON.parseObject(data); + DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); + if (null != toResult.get("success")) { + result.setCode(200); + } + if (!result.getSuccess()) { + logger.info(result.getErrMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "下发人员权限失败"); + } + Object registerResult = result.getData(); + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); + if (null != jsonObject) { + return "success"; } return ""; } @@ -255,4 +501,83 @@ public class DhDeviceUtil { return "?userId=" + token.getId() + "&username=" + token.getLoginName() + "&token=" + token.getToken(); } + private String getBase64ByUrl(String imgUrl) { + String ossDomain; + byte[] fileBytes; + try { + URL url = new URL(imgUrl); + DataInputStream dataInputStream = new DataInputStream(url.openStream()); + byte[] originBytes = toByteArray(dataInputStream); + + fileBytes = compressPicCycle(originBytes, 100L, 0.3); + } catch (IOException e) { + logger.error("图片上传异常", e); + throw new RenException("图片上传异常"); + } + return DatatypeConverter.printBase64Binary(fileBytes); + } + + /** + * @param bytes 原图片字节数组 + * @param desFileSize 指定图片大小,单位 kb + * @param accuracy 精度,递归压缩的比率,建议小于0.9 + * @return + */ + private byte[] compressPicCycle(byte[] bytes, long desFileSize, double accuracy) throws IOException { + // 获取目标图片 + long fileSize = bytes.length; + System.out.println("=====fileSize======== " + fileSize); + // 判断图片大小是否小于指定图片大小 + if (fileSize <= desFileSize * 1024) { + return bytes; + } + //计算宽高 + BufferedImage bim = ImageIO.read(new ByteArrayInputStream(bytes)); + int imgWidth = bim.getWidth(); + System.out.println(imgWidth + "====imgWidth====="); + int imgHeight = bim.getHeight(); + int desWidth = new BigDecimal(imgWidth).multiply(new BigDecimal(accuracy)).intValue(); + System.out.println(desWidth + "====desWidth====="); + int desHeight = new BigDecimal(imgHeight).multiply(new BigDecimal(accuracy)).intValue(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); //字节输出流(写入到内存) + Thumbnails.of(new ByteArrayInputStream(bytes)).size(desWidth, desHeight).outputQuality(accuracy).toOutputStream(baos); + //如果不满足要求,递归直至满足要求 + return compressPicCycle(baos.toByteArray(), desFileSize, accuracy); + } + + /** + * inputstream输入流转换成byte[]字节数组 + * + * @param input + * @return byte[] + * @author yinzuomei + * @date 2020/2/27 16:09 + */ + public static byte[] toByteArray(InputStream input) throws IOException { + ByteArrayOutputStream output = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024 * 4]; + int n = 0; + while (-1 != (n = input.read(buffer))) { + output.write(buffer, 0, n); + } + return output.toByteArray(); + } + + /** + * 随机生成16进制字符串 + * + * @param len + * @return java.lang.String + * @author zhy + * @date 2022/7/29 9:47 + */ + public static String generateNiceString(int len) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < len; i++) { + sb.append(Integer.toHexString(new Random().nextInt(16))); + } + return sb.toString().toUpperCase(); + } + + } From 8a282df6c09ac7bd7d7f3a7fc00dcf6100e4ea1a Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 29 Jul 2022 10:55:55 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E7=94=9F=E6=88=90=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/visit/utils/DhDeviceUtil.java | 16 +++++++++++----- .../power/modules/visit/utils/RSAUtils.java | 18 +++++++++++++++++- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java index 06c265f..d12936f 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java @@ -67,7 +67,7 @@ public class DhDeviceUtil { * @author zhy * @date 2022/5/20 16:40 */ - public String getAccessToken() { + public String getPublicKey() { String key = RedisKeys.getDhPublicKey(); Object obj = redisUtils.get(key); if (null != obj) { @@ -404,7 +404,13 @@ public class DhDeviceUtil { cardFormDTO.setCardStatus("ACTIVE"); cardFormDTO.setStartDate(LocalDate.now().toString()); cardFormDTO.setEndDate(LocalDate.now().plusDays(1L).toString()); - cardFormDTO.setCardPassword("0"); + String pwd; + try { + pwd = RSAUtils.getPwdByRsa(getPublicKey(), "123456"); + } catch (Exception e) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "密码加密失败"); + } + cardFormDTO.setCardPassword(pwd); cardFormDTO.setSubSystems("1"); Map paramsMap = new HashMap<>(4); @@ -497,7 +503,7 @@ public class DhDeviceUtil { * @date 2022/7/28 16:09 */ private String getDhUrlParams() { - DhToken token = getLoginPass(getAccessToken()); + DhToken token = getLoginPass(getPublicKey()); return "?userId=" + token.getId() + "&username=" + token.getLoginName() + "&token=" + token.getToken(); } @@ -553,7 +559,7 @@ public class DhDeviceUtil { * @author yinzuomei * @date 2020/2/27 16:09 */ - public static byte[] toByteArray(InputStream input) throws IOException { + private byte[] toByteArray(InputStream input) throws IOException { ByteArrayOutputStream output = new ByteArrayOutputStream(); byte[] buffer = new byte[1024 * 4]; int n = 0; @@ -571,7 +577,7 @@ public class DhDeviceUtil { * @author zhy * @date 2022/7/29 9:47 */ - public static String generateNiceString(int len) { + private String generateNiceString(int len) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < len; i++) { sb.append(Integer.toHexString(new Random().nextInt(16))); diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/RSAUtils.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/RSAUtils.java index 9d33dfa..866b401 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/RSAUtils.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/RSAUtils.java @@ -18,6 +18,7 @@ import java.util.Map; import javax.crypto.Cipher; +import cn.hutool.core.codec.Base64; import org.bouncycastle.jce.provider.BouncyCastleProvider; /** @@ -305,5 +306,20 @@ public class RSAUtils{ keyMap.put(PRIVATE_KEY, privateKey); return keyMap; } - + + /** + * 密码加密 + * + * @param + * @return java.lang.String + * @author zhy + * @date 2022/7/29 10:46 + */ + public static String getPwdByRsa(String publicKey, String str) throws Exception { + byte[] decoded = Base64.decode(publicKey); + RSAPublicKey pubKey =(RSAPublicKey)KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));// RSA加密 + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, pubKey); + return Base64.encode(cipher.doFinal(str.getBytes("UTF-8"))); + } } From 0dadf5d3b4f2ffa90a08dee06810ccb680e68545 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 29 Jul 2022 11:04:39 +0800 Subject: [PATCH 5/9] weizhitiaozheng --- .../com/epmet/plugin/power/dto/visit/DhTokenDTO.java} | 5 ++--- .../plugin/power/modules/visit/utils/DhDeviceUtil.java | 9 +++++---- 2 files changed, 7 insertions(+), 7 deletions(-) rename epmet-plugins-module/pli-power-base/{pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhToken.java => pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/DhTokenDTO.java} (75%) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhToken.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/DhTokenDTO.java similarity index 75% rename from epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhToken.java rename to epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/DhTokenDTO.java index 8878bb4..bd9732d 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhToken.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/DhTokenDTO.java @@ -1,8 +1,7 @@ -package com.epmet.plugin.power.modules.visit.utils; +package com.epmet.plugin.power.dto.visit; import lombok.Data; -import javax.validation.constraints.NotBlank; import java.io.Serializable; @@ -13,7 +12,7 @@ import java.io.Serializable; * @since v1.0.0 2022-04-22 */ @Data -public class DhToken implements Serializable { +public class DhTokenDTO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java index d12936f..ba5dbdd 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java @@ -11,6 +11,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.plugin.commons.redis.RedisKeys; import com.epmet.plugin.power.config.DhCloudProperties; +import com.epmet.plugin.power.dto.visit.DhTokenDTO; import com.epmet.plugin.power.dto.visit.form.DhAuthFormDTO; import com.epmet.plugin.power.dto.visit.form.DhPersonCardFormDTO; import com.epmet.plugin.power.dto.visit.form.DhPersonFormDTO; @@ -101,11 +102,11 @@ public class DhDeviceUtil { * @author zhy * @date 2022/5/20 16:40 */ - public DhToken getLoginPass(String publicKey) { + public DhTokenDTO getLoginPass(String publicKey) { String key = RedisKeys.getDhToken(); Object obj = redisUtils.get(key); if (null != obj) { - return (DhToken) obj; + return (DhTokenDTO) obj; } String url = dhCloudProperties.getUrl().concat(GET_LOGIN_PASS); @@ -122,7 +123,7 @@ public class DhDeviceUtil { if (!toResult.containsKey("token")) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "loginPass获取失败"); } - DhToken token = new DhToken(); + DhTokenDTO token = new DhTokenDTO(); token.setId(toResult.get("id").toString()); token.setLoginName(toResult.get("loginName").toString()); token.setPublicKey(toResult.get("publicKey").toString()); @@ -503,7 +504,7 @@ public class DhDeviceUtil { * @date 2022/7/28 16:09 */ private String getDhUrlParams() { - DhToken token = getLoginPass(getPublicKey()); + DhTokenDTO token = getLoginPass(getPublicKey()); return "?userId=" + token.getId() + "&username=" + token.getLoginName() + "&token=" + token.getToken(); } From be3f659f517765d5af49da6fbf42bfab0213f18f Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Mon, 1 Aug 2022 15:19:22 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E5=8F=98=E6=9B=B4=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/plugin/commons/redis/RedisKeys.java | 6 +- .../dto/visit/form/DhChannelFormDTO.java | 23 +++++++ .../power/dto/visit/form/DhDeptFormDTO.java | 27 ++++++++ .../dto/visit/form/DhIdentityFormDTO.java | 29 +++++++++ .../power/dto/visit/form/DhPlanFormDTO.java | 27 ++++++++ .../pli-power-base-server/pom.xml | 28 ++++----- .../service/impl/VisitVisitorServiceImpl.java | 1 + .../modules/visit/utils/DhDeviceUtil.java | 62 ++++++++++++------- 8 files changed, 165 insertions(+), 38 deletions(-) create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelFormDTO.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhDeptFormDTO.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhIdentityFormDTO.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPlanFormDTO.java diff --git a/epmet-plugins-common/src/main/java/com/epmet/plugin/commons/redis/RedisKeys.java b/epmet-plugins-common/src/main/java/com/epmet/plugin/commons/redis/RedisKeys.java index c38a55c..10ead82 100644 --- a/epmet-plugins-common/src/main/java/com/epmet/plugin/commons/redis/RedisKeys.java +++ b/epmet-plugins-common/src/main/java/com/epmet/plugin/commons/redis/RedisKeys.java @@ -23,21 +23,21 @@ public class RedisKeys { * 海康accessToken */ public static String getHikTokenKey() { - return "hik:token"; + return rootPrefix.concat("hik:token"); } /** * 大华publicKey */ public static String getDhPublicKey() { - return "dh:public"; + return rootPrefix.concat("dh:public"); } /** * 大华token */ public static String getDhToken() { - return "dh:token"; + return rootPrefix.concat("dh:token"); } } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelFormDTO.java new file mode 100644 index 0000000..7ab1b72 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhChannelFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer pageNum; + + private Integer pageSize; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhDeptFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhDeptFormDTO.java new file mode 100644 index 0000000..456179d --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhDeptFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.plugin.power.dto.visit.form; + +import com.epmet.plugin.power.dto.visit.result.DhChannelResultDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhDeptFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String name; + + private String description; + + private Long parentId; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhIdentityFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhIdentityFormDTO.java new file mode 100644 index 0000000..c30adda --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhIdentityFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhIdentityFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String name; + + private Double subsidyAmount; + + private Integer isCashRecharge; + + private Integer isMachineRecharge; + + private String description; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPlanFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPlanFormDTO.java new file mode 100644 index 0000000..7719a5a --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPlanFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhPlanFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String detail; + + private String memo; + + private String name; + + private Integer type; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml index 0b22591..0c50438 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml @@ -175,8 +175,8 @@ 111 222 - https://api2.hik-cloud.com - 111 + http://112.6.213.175:8314 + shundeju @@ -190,10 +190,10 @@ - + - root - Abc@123456 + epmet_pli_power_user + EpmEt-db-UsEr 0 192.168.1.140 @@ -206,7 +206,7 @@ false - 192.168.43.186 + 192.168.43.84 false @@ -233,8 +233,8 @@ 111 222 - https://api2.hik-cloud.com - 111 + http://112.6.213.175:8314 + shundeju @@ -295,8 +295,8 @@ 111 222 - https://api2.hik-cloud.com - 111 + http://112.6.213.175:8314 + shundeju @@ -352,8 +352,8 @@ 90688b09bb9d40088f7be404ccb347c7 7b1940707a4240be9c794c5a967a30c9 - https://api2.hik-cloud.com - 111 + http://112.6.213.175:8314 + shundeju @@ -412,8 +412,8 @@ 90688b09bb9d40088f7be404ccb347c7 7b1940707a4240be9c794c5a967a30c9 - https://api2.hik-cloud.com - 111 + http://112.6.213.175:8314 + shundeju diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java index a923a45..286461b 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java @@ -131,6 +131,7 @@ public class VisitVisitorServiceImpl extends BaseServiceImpl paramsMap = new HashMap<>(4); + DhDeptFormDTO dto = new DhDeptFormDTO(); + dto.setName("访客部门"); + dto.setParentId(1L); - String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, StringUtils.EMPTY, paramsMap).getData(); + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); @@ -162,11 +162,15 @@ public class DhDeviceUtil { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); } Object registerResult = result.getData(); - JSONArray jsonArray = JSON.parseArray(registerResult.toString()); - JSONObject jsonObject = jsonArray.getJSONObject(0); + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); if (null != jsonObject) { - return Long.parseLong(jsonObject.get("deptId").toString()); + return Long.parseLong(jsonObject.toString()); } +// JSONArray jsonArray = JSON.parseArray(registerResult.toString()); +// JSONObject jsonObject = jsonArray.getJSONObject(0); +// if (null != jsonObject) { +// return Long.parseLong(jsonObject.get("deptId").toString()); +// } return 0L; } @@ -184,8 +188,13 @@ public class DhDeviceUtil { url = url + urlParam; Map paramsMap = new HashMap<>(4); + DhIdentityFormDTO dto = new DhIdentityFormDTO(); + dto.setName("访客"); + dto.setSubsidyAmount(0D); + dto.setIsCashRecharge(1); + dto.setIsMachineRecharge(1); - String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, StringUtils.EMPTY, paramsMap).getData(); + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取身份列表失败"); @@ -209,21 +218,25 @@ public class DhDeviceUtil { } /** - * 查询开门计划 + * 新增开门计划 * * @param * @return java.lang.String * @author zhy * @date 2022/5/23 11:04 */ - public String getPlan() { + public Long getPlan() { String url = dhCloudProperties.getUrl().concat(GET_DOOR_PLAN); String urlParam = getDhUrlParams(); url = url + urlParam; Map paramsMap = new HashMap<>(4); + DhPlanFormDTO dto = new DhPlanFormDTO(); + dto.setDetail("{\\\"monday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"tuesday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"wednesday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"thursday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"friday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"saturday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"sunday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"]}"); + dto.setName("访客计划"); + dto.setType(1); - String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, StringUtils.EMPTY, paramsMap).getData(); + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询开门计划失败"); @@ -238,12 +251,16 @@ public class DhDeviceUtil { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询开门计划失败"); } Object registerResult = result.getData(); - JSONArray jsonArray = JSON.parseArray(registerResult.toString()); - JSONObject jsonObject = jsonArray.getJSONObject(0); + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); if (null != jsonObject) { - return jsonObject.get("id").toString(); + return Long.parseLong(jsonObject.toString()); } - return ""; +// JSONArray jsonArray = JSON.parseArray(registerResult.toString()); +// JSONObject jsonObject = jsonArray.getJSONObject(0); +// if (null != jsonObject) { +// return jsonObject.get("id").toString(); +// } + return null; } /** @@ -260,8 +277,11 @@ public class DhDeviceUtil { url = url + urlParam; Map paramsMap = new HashMap<>(4); + DhChannelFormDTO dto = new DhChannelFormDTO(); + dto.setPageSize(1000); + dto.setPageSize(1); - String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, StringUtils.EMPTY, paramsMap).getData(); + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询通道列表失败"); @@ -449,7 +469,7 @@ public class DhDeviceUtil { public String addPersonAuth(DhPersonFormDTO dto, String imgUrl) { String personCard = addPersonCard(dto); List channel = getChannel(); - String plan = getPlan(); + Long plan = getPlan(); if (StringUtils.isBlank(personCard)) { return "开卡失败"; @@ -459,7 +479,7 @@ public class DhDeviceUtil { if (channel.isEmpty()) { return "获取通道失败"; } - if (StringUtils.isBlank(plan)) { + if (plan == null) { return "获取开门计划失败"; } DhAuthFormDTO authFormDTO = new DhAuthFormDTO(); @@ -468,7 +488,7 @@ public class DhDeviceUtil { url = url + urlParam; authFormDTO.setCardNumber(personCard); - authFormDTO.setTimeQuantumId(plan); + authFormDTO.setTimeQuantumId(plan.toString()); authFormDTO.setCardPrivilegeDetails(channel); Map paramsMap = new HashMap<>(4); From d9eb7903ff1f1e06334e07066d3f95eed1ea1ea0 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Tue, 2 Aug 2022 11:20:59 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/visit/form/DhLoginPassFormDTO.java | 23 +++ .../dto/visit/form/DhPersonDelFormDTO.java | 22 +++ .../dto/visit/form/DhPersonListFormDTO.java | 26 +++ .../dto/visit/form/DhPublicKeyFormDTO.java | 21 +++ .../modules/visit/utils/DhDeviceUtil.java | 166 +++++++++++++----- 5 files changed, 217 insertions(+), 41 deletions(-) create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhLoginPassFormDTO.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonDelFormDTO.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonListFormDTO.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPublicKeyFormDTO.java diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhLoginPassFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhLoginPassFormDTO.java new file mode 100644 index 0000000..42e4c95 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhLoginPassFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhLoginPassFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String loginName; + + private String loginPass; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonDelFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonDelFormDTO.java new file mode 100644 index 0000000..6a2c810 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonDelFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhPersonDelFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private List personIds; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonListFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonListFormDTO.java new file mode 100644 index 0000000..fc59e74 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonListFormDTO.java @@ -0,0 +1,26 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhPersonListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private Integer pageNum; + + private Integer pageSize; + + private String code; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPublicKeyFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPublicKeyFormDTO.java new file mode 100644 index 0000000..5400419 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPublicKeyFormDTO.java @@ -0,0 +1,21 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhPublicKeyFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String loginName; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java index 000195a..c737eb4 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java @@ -52,7 +52,9 @@ public class DhDeviceUtil { private final String GET_PERSON_IDENTITY = "/CardSolution/card/person/personidentity"; private final String GET_DOOR_PLAN = "/CardSolution/card/accessControl/timeQuantum/1/page"; private final String GET_DOOR_CHANNEL = "/CardSolution/card/accessControl/channel/bycondition/combined"; - private final String ADD_PERSON = " /CardSolution/card/person"; + private final String ADD_PERSON = "/CardSolution/card/person"; + private final String LIST_PERSON = "/CardSolution/card/person/bycondition/combined"; + private final String DEL_PERSON = "/CardSolution/card/person/delete"; private final String ADD_PERSON_IMG = "/CardSolution/common/saveMobileBase64ImageToByte"; private final String ADD_AUTH = "/CardSolution/card/accessControl/doorAuthority/update"; private final String OPEN_CARD = "/CardSolution/card/card/open/batch"; @@ -73,10 +75,13 @@ public class DhDeviceUtil { } String url = dhCloudProperties.getUrl().concat(GET_PUBLIC_KEY); - Map paramsMap = new HashMap<>(4); - paramsMap.put("loginName", dhCloudProperties.getLoginName()); + Map paramsMap = new HashMap<>(4); + + DhPublicKeyFormDTO dto = new DhPublicKeyFormDTO(); + dto.setLoginName(dhCloudProperties.getLoginName()); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); - String data = HttpClientManager.getInstance().sendPost(url, paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "publicKey获取失败"); } @@ -85,10 +90,10 @@ public class DhDeviceUtil { if (!toResult.containsKey("publicKey")) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "publicKey获取失败"); } - String accessToken = toResult.get("publicKey").toString(); + String publicKey = toResult.get("publicKey").toString(); - redisUtils.set(key, accessToken, RedisUtils.MINUTE_THIRTY_EXPIRE); - return accessToken; + redisUtils.set(key, publicKey, RedisUtils.MINUTE_THIRTY_EXPIRE); + return publicKey; } /** @@ -107,11 +112,20 @@ public class DhDeviceUtil { } String url = dhCloudProperties.getUrl().concat(GET_LOGIN_PASS); - Map paramsMap = new HashMap<>(8); - paramsMap.put("loginName", dhCloudProperties.getLoginName()); - paramsMap.put("loginPass", publicKey); + Map paramsMap = new HashMap<>(4); + + DhLoginPassFormDTO dto = new DhLoginPassFormDTO(); + dto.setLoginName(dhCloudProperties.getLoginName()); + String pwd; + try { + pwd = RSAUtils.getPwdByRsa(publicKey, "hg123456"); + } catch (Exception e) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "密码加密失败"); + } + dto.setLoginPass(pwd); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); - String data = HttpClientManager.getInstance().sendPost(url, paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "loginPass获取失败"); } @@ -142,12 +156,12 @@ public class DhDeviceUtil { String urlParam = getDhUrlParams(); url = url + urlParam; - Map paramsMap = new HashMap<>(4); - DhDeptFormDTO dto = new DhDeptFormDTO(); - dto.setName("访客部门"); - dto.setParentId(1L); + Map paramsMap = new HashMap<>(4); +// DhDeptFormDTO dto = new DhDeptFormDTO(); +// dto.setName("访客部门"); +// dto.setParentId(1L); - String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); + String data = HttpClientManager.getInstance().sendGet(url, paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); @@ -162,16 +176,84 @@ public class DhDeviceUtil { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); } Object registerResult = result.getData(); + + JSONArray jsonArray = JSON.parseArray(registerResult.toString()); + for (int i = 0; i < jsonArray.size(); i++) { + if ("临时人员".equals(jsonArray.getJSONObject(i).get("name").toString())) { + return Long.parseLong(jsonArray.getJSONObject(i).get("id").toString()); + } + } + + return null; + } + + /** + * 人员预处理 + * + * @param + * @return java.lang.String + * @author zhy + * @date 2022/5/23 10:08 + */ + public void personHandle(String code) { + String url = dhCloudProperties.getUrl().concat(LIST_PERSON); + String urlParam = getDhUrlParams(); + url = url + urlParam; + + Map paramsMap = new HashMap<>(4); + DhPersonListFormDTO dto = new DhPersonListFormDTO(); + dto.setPageNum(1); + dto.setPageSize(10); + dto.setCode(code); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); + + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询人员列表失败"); + } + JSONObject toResult = JSON.parseObject(data); + DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); + if (null != toResult.get("success")) { + result.setCode(200); + } + if (!result.getSuccess()) { + logger.info(result.getErrMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询人员列表失败"); + } + Object registerResult = result.getData(); + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); - if (null != jsonObject) { - return Long.parseLong(jsonObject.toString()); + + List ids = new ArrayList<>(); + JSONArray jsonArray = JSON.parseArray(jsonObject.get("pageData").toString()); + for (int i = 0; i < jsonArray.size(); i++) { + ids.add(Integer.parseInt(jsonArray.getJSONObject(i).get("id").toString())); + } + DhPersonDelFormDTO del = new DhPersonDelFormDTO(); + del.setPersonIds(ids); + delPerson(del); + } + + + /** + * 删除人员 + * + * @param + * @return java.lang.String + * @author zhy + * @date 2022/5/23 10:08 + */ + public void delPerson(DhPersonDelFormDTO dto) { + String url = dhCloudProperties.getUrl().concat(DEL_PERSON); + String urlParam = getDhUrlParams(); + url = url + urlParam; + + Map paramsMap = new HashMap<>(4); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "删除人员失败"); } -// JSONArray jsonArray = JSON.parseArray(registerResult.toString()); -// JSONObject jsonObject = jsonArray.getJSONObject(0); -// if (null != jsonObject) { -// return Long.parseLong(jsonObject.get("deptId").toString()); -// } - return 0L; } /** @@ -187,14 +269,14 @@ public class DhDeviceUtil { String urlParam = getDhUrlParams(); url = url + urlParam; - Map paramsMap = new HashMap<>(4); - DhIdentityFormDTO dto = new DhIdentityFormDTO(); - dto.setName("访客"); - dto.setSubsidyAmount(0D); - dto.setIsCashRecharge(1); - dto.setIsMachineRecharge(1); + Map paramsMap = new HashMap<>(4); +// DhIdentityFormDTO dto = new DhIdentityFormDTO(); +// dto.setName("访客"); +// dto.setSubsidyAmount(0D); +// dto.setIsCashRecharge(1); +// dto.setIsMachineRecharge(1); - String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); + String data = HttpClientManager.getInstance().sendGet(url, paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取身份列表失败"); @@ -210,10 +292,12 @@ public class DhDeviceUtil { } Object registerResult = result.getData(); JSONArray jsonArray = JSON.parseArray(registerResult.toString()); - JSONObject jsonObject = jsonArray.getJSONObject(0); - if (null != jsonObject) { - return jsonObject.get("id").toString(); + for (int i = 0; i < jsonArray.size(); i++) { + if ("默认身份".equals(jsonArray.getJSONObject(i).get("name").toString())) { + return jsonArray.getJSONObject(i).get("id").toString(); + } } + return ""; } @@ -319,17 +403,18 @@ public class DhDeviceUtil { * @date 2022/5/23 11:04 */ public Long addPerson(DhPersonFormDTO dto) { + personHandle(dto.getCode()); String url = dhCloudProperties.getUrl().concat(ADD_PERSON); String urlParam = getDhUrlParams(); url = url + urlParam; Long deptId = getDept(); - if (0L == deptId) { - return null; + if (null == deptId) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询临时人员部门失败"); } String identity = getIdentity(); if (StringUtils.isBlank(identity)) { - return null; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取身份失败"); } dto.setDeptId(deptId); dto.setPersonIdentityId(identity); @@ -351,9 +436,8 @@ public class DhDeviceUtil { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "新增人员失败"); } Object registerResult = result.getData(); - JSONObject jsonObject = JSON.parseObject(registerResult.toString()); - if (null != jsonObject) { - return Long.parseLong(jsonObject.toString()); + if (null != registerResult) { + return Long.parseLong(registerResult.toString()); } return null; } @@ -410,7 +494,7 @@ public class DhDeviceUtil { public String addPersonCard(DhPersonFormDTO dto) { Long personId = addPerson(dto); if (personId == null) { - return "添加人员信息失败"; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "添加人员信息失败"); } DhPersonCardFormDTO cardFormDTO = new DhPersonCardFormDTO(); String url = dhCloudProperties.getUrl().concat(OPEN_CARD); From 4f89fa5d5cdd9bf790530b02bca176c113d3d95f Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 3 Aug 2022 10:33:08 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=B8=8B=E5=8F=91?= =?UTF-8?q?=E5=8D=A1=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/visit/form/DhCardPageFormDTO.java | 29 ++++ ...FormDTO.java => DhChannelPageFormDTO.java} | 2 +- .../visit/form/DhPersonCardListFormDTO.java | 22 +++ ...tFormDTO.java => DhPersonPageFormDTO.java} | 3 +- .../dto/visit/form/DhPlanPageFormDTO.java | 25 +++ .../pli-power-base-server/pom.xml | 2 +- .../modules/visit/utils/DhDeviceUtil.java | 152 +++++++++++++----- 7 files changed, 188 insertions(+), 47 deletions(-) create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhCardPageFormDTO.java rename epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/{DhChannelFormDTO.java => DhChannelPageFormDTO.java} (84%) create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonCardListFormDTO.java rename epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/{DhPersonListFormDTO.java => DhPersonPageFormDTO.java} (85%) create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPlanPageFormDTO.java diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhCardPageFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhCardPageFormDTO.java new file mode 100644 index 0000000..b72df21 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhCardPageFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhCardPageFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer pageNum; + + private Integer pageSize; + + private String personCode; + + private String cardNumber; + + private String cardStatus; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelPageFormDTO.java similarity index 84% rename from epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelFormDTO.java rename to epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelPageFormDTO.java index 7ab1b72..e69f387 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelFormDTO.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelPageFormDTO.java @@ -12,7 +12,7 @@ import java.io.Serializable; * @since v1.0.0 2022-05-20 */ @Data -public class DhChannelFormDTO implements Serializable { +public class DhChannelPageFormDTO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonCardListFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonCardListFormDTO.java new file mode 100644 index 0000000..7a734c8 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonCardListFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhPersonCardListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private List objectList; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonListFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonPageFormDTO.java similarity index 85% rename from epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonListFormDTO.java rename to epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonPageFormDTO.java index fc59e74..a053eab 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonListFormDTO.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonPageFormDTO.java @@ -12,11 +12,10 @@ import java.io.Serializable; * @since v1.0.0 2022-05-20 */ @Data -public class DhPersonListFormDTO implements Serializable { +public class DhPersonPageFormDTO implements Serializable { private static final long serialVersionUID = 1L; - private Integer pageNum; private Integer pageSize; diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPlanPageFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPlanPageFormDTO.java new file mode 100644 index 0000000..9b6f7c6 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPlanPageFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.plugin.power.dto.visit.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 海康社区人员信息下放 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-20 + */ +@Data +public class DhPlanPageFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer pageNum; + + private Integer pageSize; + + private String singleCondition; + +} \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml index 0c50438..e7d83b6 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml @@ -206,7 +206,7 @@ false - 192.168.43.84 + 192.168.43.33 false diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java index c737eb4..08f4279 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java @@ -57,6 +57,8 @@ public class DhDeviceUtil { private final String DEL_PERSON = "/CardSolution/card/person/delete"; private final String ADD_PERSON_IMG = "/CardSolution/common/saveMobileBase64ImageToByte"; private final String ADD_AUTH = "/CardSolution/card/accessControl/doorAuthority/update"; + private final String LIST_CARD = "/CardSolution/card/card/bycondition/combined"; + private final String DEL_CARD = "/CardSolution/card/card/returnByNumber/"; private final String OPEN_CARD = "/CardSolution/card/card/open/batch"; /** @@ -201,9 +203,9 @@ public class DhDeviceUtil { url = url + urlParam; Map paramsMap = new HashMap<>(4); - DhPersonListFormDTO dto = new DhPersonListFormDTO(); + DhPersonPageFormDTO dto = new DhPersonPageFormDTO(); dto.setPageNum(1); - dto.setPageSize(10); + dto.setPageSize(100); dto.setCode(code); String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); @@ -234,6 +236,48 @@ public class DhDeviceUtil { delPerson(del); } + /** + * 卡片预处理 + * + * @param + * @return java.lang.String + * @author zhy + * @date 2022/5/23 10:08 + */ + public void cardHandle(String code) { + String url = dhCloudProperties.getUrl().concat(LIST_CARD); + String urlParam = getDhUrlParams(); + url = url + urlParam; + + Map paramsMap = new HashMap<>(4); + DhCardPageFormDTO dto = new DhCardPageFormDTO(); + dto.setPageNum(1); + dto.setPageSize(100); + dto.setPersonCode(code); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); + + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询卡片列表失败"); + } + JSONObject toResult = JSON.parseObject(data); + DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class); + if (null != toResult.get("success")) { + result.setCode(200); + } + if (!result.getSuccess()) { + logger.info(result.getErrMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询卡片列表失败"); + } + Object registerResult = result.getData(); + + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); + + JSONArray jsonArray = JSON.parseArray(jsonObject.get("pageData").toString()); + for (int i = 0; i < jsonArray.size(); i++) { + delCard(jsonArray.getJSONObject(i).get("cardNumber").toString()); + } + } /** * 删除人员 @@ -256,6 +300,28 @@ public class DhDeviceUtil { } } + /** + * 退卡 + * + * @param + * @return java.lang.String + * @author zhy + * @date 2022/5/23 10:08 + */ + public void delCard(String cardNum) { + String url = dhCloudProperties.getUrl().concat(DEL_CARD); + url = url + cardNum; + String urlParam = getDhUrlParams(); + url = url + urlParam; + + Map paramsMap = new HashMap<>(4); + + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, StringUtils.EMPTY, paramsMap).getData(); + if (null == data) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "删除卡片失败"); + } + } + /** * 获取身份 * @@ -302,7 +368,7 @@ public class DhDeviceUtil { } /** - * 新增开门计划 + * 获取开门计划 * * @param * @return java.lang.String @@ -315,10 +381,10 @@ public class DhDeviceUtil { url = url + urlParam; Map paramsMap = new HashMap<>(4); - DhPlanFormDTO dto = new DhPlanFormDTO(); - dto.setDetail("{\\\"monday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"tuesday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"wednesday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"thursday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"friday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"saturday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"],\\\"sunday\\\":[\\\"00:00-23:59\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\",\\\"00:00-00:00\\\"]}"); - dto.setName("访客计划"); - dto.setType(1); + DhPlanPageFormDTO dto = new DhPlanPageFormDTO(); + dto.setPageNum(1); + dto.setPageSize(100); + dto.setSingleCondition("默认"); String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); @@ -335,15 +401,15 @@ public class DhDeviceUtil { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询开门计划失败"); } Object registerResult = result.getData(); + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); - if (null != jsonObject) { - return Long.parseLong(jsonObject.toString()); - } -// JSONArray jsonArray = JSON.parseArray(registerResult.toString()); -// JSONObject jsonObject = jsonArray.getJSONObject(0); -// if (null != jsonObject) { -// return jsonObject.get("id").toString(); -// } + + JSONArray jsonArray = JSON.parseArray(jsonObject.get("pageData").toString()); + + if (jsonArray.size() > 0) { + return Long.parseLong(jsonArray.getJSONObject(0).get("id").toString()); + } + return null; } @@ -361,8 +427,8 @@ public class DhDeviceUtil { url = url + urlParam; Map paramsMap = new HashMap<>(4); - DhChannelFormDTO dto = new DhChannelFormDTO(); - dto.setPageSize(1000); + DhChannelPageFormDTO dto = new DhChannelPageFormDTO(); + dto.setPageSize(100); dto.setPageSize(1); String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData(); @@ -380,14 +446,17 @@ public class DhDeviceUtil { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询通道列表失败"); } Object registerResult = result.getData(); - JSONArray jsonArray = JSON.parseArray(registerResult.toString()); - List list = new ArrayList<>(); + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); + + JSONArray jsonArray = JSON.parseArray(jsonObject.get("pageData").toString()); + + List list = new ArrayList<>(); for (int i = 0; i < jsonArray.size(); i++) { - JSONObject jsonObject = jsonArray.getJSONObject(0); + JSONObject jsonItem = jsonArray.getJSONObject(0); DhChannelResultDTO channel = new DhChannelResultDTO(); channel.setPrivilegeType("1"); - channel.setResouceCode(jsonObject.get("channelCode").toString()); + channel.setResouceCode(jsonItem.get("channelCode").toString()); list.add(channel); } @@ -403,6 +472,9 @@ public class DhDeviceUtil { * @date 2022/5/23 11:04 */ public Long addPerson(DhPersonFormDTO dto) { + // 先退卡 + cardHandle(dto.getCode()); + // 再删人员 personHandle(dto.getCode()); String url = dhCloudProperties.getUrl().concat(ADD_PERSON); String urlParam = getDhUrlParams(); @@ -474,13 +546,9 @@ public class DhDeviceUtil { if (!result.getSuccess()) { logger.info(result.getErrMsg()); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "下发人员头像失败"); - } - Object registerResult = result.getData(); - JSONObject jsonObject = JSON.parseObject(registerResult.toString()); - if (null != jsonObject) { + } else { return "success"; } - return ""; } /** @@ -496,6 +564,8 @@ public class DhDeviceUtil { if (personId == null) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "添加人员信息失败"); } + DhPersonCardListFormDTO cardListFormDTO = new DhPersonCardListFormDTO(); + List cardList = new ArrayList<>(); DhPersonCardFormDTO cardFormDTO = new DhPersonCardFormDTO(); String url = dhCloudProperties.getUrl().concat(OPEN_CARD); String urlParam = getDhUrlParams(); @@ -517,10 +587,12 @@ public class DhDeviceUtil { } cardFormDTO.setCardPassword(pwd); cardFormDTO.setSubSystems("1"); + cardList.add(cardFormDTO); + cardListFormDTO.setObjectList(cardList); Map paramsMap = new HashMap<>(4); - String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(cardFormDTO), paramsMap).getData(); + String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(cardListFormDTO), paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员开卡失败"); @@ -533,13 +605,9 @@ public class DhDeviceUtil { if (!result.getSuccess()) { logger.info(result.getErrMsg()); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员开卡失败"); - } - Object registerResult = result.getData(); - JSONObject jsonObject = JSON.parseObject(registerResult.toString()); - if (null != jsonObject) { + } else { return cardFormDTO.getCardNumber(); } - return ""; } /** @@ -552,20 +620,22 @@ public class DhDeviceUtil { */ public String addPersonAuth(DhPersonFormDTO dto, String imgUrl) { String personCard = addPersonCard(dto); - List channel = getChannel(); - Long plan = getPlan(); - if (StringUtils.isBlank(personCard)) { - return "开卡失败"; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "开卡失败"); } else if (StringUtils.isNotBlank(imgUrl)) { addPersonImg(dto, imgUrl); } + + List channel = getChannel(); if (channel.isEmpty()) { - return "获取通道失败"; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取通道失败"); } + + Long plan = getPlan(); if (plan == null) { - return "获取开门计划失败"; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取开门计划失败"); } + DhAuthFormDTO authFormDTO = new DhAuthFormDTO(); String url = dhCloudProperties.getUrl().concat(ADD_AUTH); String urlParam = getDhUrlParams(); @@ -590,13 +660,9 @@ public class DhDeviceUtil { if (!result.getSuccess()) { logger.info(result.getErrMsg()); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "下发人员权限失败"); - } - Object registerResult = result.getData(); - JSONObject jsonObject = JSON.parseObject(registerResult.toString()); - if (null != jsonObject) { + } else { return "success"; } - return ""; } /** From a1242f26a3a2a9b6736bab9aeafbcf2920d3a1b3 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 3 Aug 2022 11:23:59 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E6=8B=86=E5=88=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pli-power-base-server/pom.xml | 5 ++ .../power/config/DhCloudProperties.java | 17 +++++- .../controller/VisitVisitorController.java | 1 + .../visit/service/VisitVisitorService.java | 10 ++++ .../service/impl/VisitVisitorServiceImpl.java | 21 +++++++- .../modules/visit/utils/DhDeviceUtil.java | 54 ++++++++++++------- .../src/main/resources/bootstrap.yml | 1 + 7 files changed, 86 insertions(+), 23 deletions(-) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml index e7d83b6..c95ef81 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml @@ -177,6 +177,7 @@ http://112.6.213.175:8314 shundeju + hg123456 @@ -235,6 +236,7 @@ http://112.6.213.175:8314 shundeju + hg123456 @@ -297,6 +299,7 @@ http://112.6.213.175:8314 shundeju + hg123456 @@ -354,6 +357,7 @@ http://112.6.213.175:8314 shundeju + hg123456 @@ -414,6 +418,7 @@ http://112.6.213.175:8314 shundeju + hg123456 diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/config/DhCloudProperties.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/config/DhCloudProperties.java index 260d863..ece4248 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/config/DhCloudProperties.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/config/DhCloudProperties.java @@ -14,16 +14,22 @@ import org.springframework.context.annotation.Configuration; public class DhCloudProperties { /** - * 应用ID + * URL */ private String url; /** - * 应用KEY + * 账号 */ private String loginName; + /** + * 账号密码 + */ + private String loginPass; + + public String getUrl() { return url; } @@ -40,4 +46,11 @@ public class DhCloudProperties { this.loginName = loginName; } + public String getLoginPass() { + return loginPass; + } + + public void setLoginPass(String loginPass) { + this.loginPass = loginPass; + } } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java index 843ca47..600c86c 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java @@ -86,6 +86,7 @@ public class VisitVisitorController { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); visitVisitorService.visit(dto); + visitVisitorService.doorAuthority(dto); return new Result(); } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/VisitVisitorService.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/VisitVisitorService.java index 46efafa..5451f38 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/VisitVisitorService.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/VisitVisitorService.java @@ -89,6 +89,16 @@ public interface VisitVisitorService extends BaseService { */ void visit(VisitVisitorFormDTO dto); + /** + * 临时授权 + * + * @param dto + * @return void + * @author generator + * @date 2022-07-26 + */ + void doorAuthority(VisitVisitorFormDTO dto); + /** * 人流量 * diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java index 286461b..c769496 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java @@ -131,7 +131,12 @@ public class VisitVisitorServiceImpl extends BaseServiceImpl