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-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-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/DhChannelPageFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelPageFormDTO.java new file mode 100644 index 0000000..e69f387 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelPageFormDTO.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 DhChannelPageFormDTO 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/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/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/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/DhPersonPageFormDTO.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonPageFormDTO.java new file mode 100644 index 0000000..a053eab --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhPersonPageFormDTO.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 DhPersonPageFormDTO 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/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-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-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/pom.xml b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml index 0b22591..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 @@ -175,8 +175,9 @@ 111 222 - https://api2.hik-cloud.com - 111 + http://112.6.213.175:8314 + shundeju + hg123456 @@ -190,10 +191,10 @@ - + - root - Abc@123456 + epmet_pli_power_user + EpmEt-db-UsEr 0 192.168.1.140 @@ -206,7 +207,7 @@ false - 192.168.43.186 + 192.168.43.33 false @@ -233,8 +234,9 @@ 111 222 - https://api2.hik-cloud.com - 111 + http://112.6.213.175:8314 + shundeju + hg123456 @@ -295,8 +297,9 @@ 111 222 - https://api2.hik-cloud.com - 111 + http://112.6.213.175:8314 + shundeju + hg123456 @@ -352,8 +355,9 @@ 90688b09bb9d40088f7be404ccb347c7 7b1940707a4240be9c794c5a967a30c9 - https://api2.hik-cloud.com - 111 + http://112.6.213.175:8314 + shundeju + hg123456 @@ -412,8 +416,9 @@ 90688b09bb9d40088f7be404ccb347c7 7b1940707a4240be9c794c5a967a30c9 - https://api2.hik-cloud.com - 111 + 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 a923a45..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 @@ -133,6 +133,12 @@ public class VisitVisitorServiceImpl extends BaseServiceImpl getTraffic(VisitVisitorChartFormDTO dto) { @@ -150,7 +156,7 @@ public class VisitVisitorServiceImpl extends BaseServiceImpl 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获取失败"); } @@ -87,10 +92,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; } /** @@ -101,19 +106,28 @@ 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); - 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, dhCloudProperties.getLoginPass()); + } catch (Exception e) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "loginPass加密失败"); + } + 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获取失败"); } @@ -122,7 +136,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()); @@ -132,7 +146,7 @@ public class DhDeviceUtil { } /** - * 查询部门列表 + * 新增部门 * * @param * @return java.lang.String @@ -144,9 +158,12 @@ public class DhDeviceUtil { String urlParam = getDhUrlParams(); url = url + urlParam; - Map paramsMap = new HashMap<>(4); + Map 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().sendGet(url, paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询部门列表失败"); @@ -158,15 +175,154 @@ public class DhDeviceUtil { } 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(), "查询部门列表失败!" + result.getErrMsg()); } 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()); + 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); + DhPersonPageFormDTO dto = new DhPersonPageFormDTO(); + dto.setPageNum(1); + dto.setPageSize(100); + 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(), "查询人员列表失败!" + result.getErrMsg()); + } + Object registerResult = result.getData(); + + JSONObject jsonObject = JSON.parseObject(registerResult.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())); + } + if (!ids.isEmpty()) { + DhPersonDelFormDTO del = new DhPersonDelFormDTO(); + del.setPersonIds(ids); + 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(), "查询卡片列表失败!" + result.getErrMsg()); + } + 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()); + } + } + + /** + * 删除人员 + * + * @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(), "删除人员失败"); + } + } + + /** + * 退卡 + * + * @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(), "删除卡片失败"); } - return 0L; } /** @@ -182,9 +338,14 @@ public class DhDeviceUtil { String urlParam = getDhUrlParams(); url = url + urlParam; - Map paramsMap = new HashMap<>(4); + 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().sendGet(url, paramsMap).getData(); if (null == data) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取身份列表失败"); @@ -196,33 +357,39 @@ public class DhDeviceUtil { } 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(), "获取身份列表失败!" + result.getErrMsg()); } 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 ""; } /** - * 查询开门计划 + * 获取开门计划 * * @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); + DhPlanPageFormDTO dto = new DhPlanPageFormDTO(); + dto.setPageNum(1); + dto.setPageSize(100); + dto.setSingleCondition("默认"); - 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(), "查询开门计划失败"); @@ -234,15 +401,19 @@ public class DhDeviceUtil { } 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(), "查询开门计划失败!" + result.getErrMsg()); } Object registerResult = result.getData(); - JSONArray jsonArray = JSON.parseArray(registerResult.toString()); - JSONObject jsonObject = jsonArray.getJSONObject(0); - if (null != jsonObject) { - return jsonObject.get("id").toString(); + + JSONObject jsonObject = JSON.parseObject(registerResult.toString()); + + JSONArray jsonArray = JSON.parseArray(jsonObject.get("pageData").toString()); + + if (jsonArray.size() > 0) { + return Long.parseLong(jsonArray.getJSONObject(0).get("id").toString()); } - return ""; + + return null; } /** @@ -259,8 +430,11 @@ public class DhDeviceUtil { url = url + urlParam; Map paramsMap = new HashMap<>(4); + DhChannelPageFormDTO dto = new DhChannelPageFormDTO(); + dto.setPageSize(100); + 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(), "查询通道列表失败"); @@ -272,17 +446,20 @@ public class DhDeviceUtil { } 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(), "查询通道列表失败!" + result.getErrMsg()); } 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); } @@ -298,17 +475,20 @@ public class DhDeviceUtil { * @date 2022/5/23 11:04 */ public Long addPerson(DhPersonFormDTO dto) { + // 数据预处理 + dataHandle(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); @@ -327,12 +507,11 @@ public class DhDeviceUtil { } 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(), "新增人员失败!" + result.getErrMsg()); } 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; } @@ -368,14 +547,10 @@ 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) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "下发人员头像失败!" + result.getErrMsg()); + } else { return "success"; } - return ""; } /** @@ -389,8 +564,10 @@ 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(), "添加人员信息失败"); } + DhPersonCardListFormDTO cardListFormDTO = new DhPersonCardListFormDTO(); + List cardList = new ArrayList<>(); DhPersonCardFormDTO cardFormDTO = new DhPersonCardFormDTO(); String url = dhCloudProperties.getUrl().concat(OPEN_CARD); String urlParam = getDhUrlParams(); @@ -412,10 +589,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(), "人员开卡失败"); @@ -427,14 +606,10 @@ 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) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员开卡失败!" + result.getErrMsg()); + } else { return cardFormDTO.getCardNumber(); } - return ""; } /** @@ -447,27 +622,29 @@ public class DhDeviceUtil { */ public String addPersonAuth(DhPersonFormDTO dto, String imgUrl) { String personCard = addPersonCard(dto); - List channel = getChannel(); - String 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(), "获取通道失败"); } - if (StringUtils.isBlank(plan)) { - return "获取开门计划失败"; + + Long plan = getPlan(); + if (plan == null) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取开门计划失败"); } + DhAuthFormDTO authFormDTO = new DhAuthFormDTO(); String url = dhCloudProperties.getUrl().concat(ADD_AUTH); String urlParam = getDhUrlParams(); url = url + urlParam; authFormDTO.setCardNumber(personCard); - authFormDTO.setTimeQuantumId(plan); + authFormDTO.setTimeQuantumId(plan.toString()); authFormDTO.setCardPrivilegeDetails(channel); Map paramsMap = new HashMap<>(4); @@ -484,14 +661,10 @@ 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) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "下发人员权限失败!" + result.getErrMsg()); + } else { return "success"; } - return ""; } /** @@ -503,7 +676,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(); } @@ -585,5 +758,19 @@ public class DhDeviceUtil { return sb.toString().toUpperCase(); } + /** + * 退卡,然后删除人员 + * + * @param code + * @return void + * @author zhy + * @date 2022/8/3 10:48 + */ + public void dataHandle(String code) { + // 先退卡 + cardHandle(code); + // 再删人员 + personHandle(code); + } } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/bootstrap.yml b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/bootstrap.yml index 8114045..e20a81a 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/bootstrap.yml +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/bootstrap.yml @@ -136,6 +136,7 @@ dh: cloud: url: @dh.cloud.url@ loginName: @dh.cloud.loginName@ + loginPass: @dh.cloud.loginPass@ # 停机选项 shutdown: