Browse Source

Merge remote-tracking branch 'origin/feature/hk_device' into feature/hk_device

feature/hk_device
wanggongfeng 3 years ago
parent
commit
90936135bd
  1. 29
      epmet-plugins-common/src/main/java/com/epmet/plugin/commons/redis/RedisKeys.java
  2. 5
      epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/hik/HikErrorInfoDTO.java
  3. 4
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/entity/HikErrorInfoEntity.java
  4. 2
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikCommunityInfoServiceImpl.java
  5. 8
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/controller/RentContractInfoController.java
  6. 29
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/controller/RentTenantInfoController.java
  7. 10
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/service/RentContractInfoService.java
  8. 17
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/service/impl/RentContractInfoServiceImpl.java
  9. 13
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/utils/HkDeviceUtil.java

29
epmet-plugins-common/src/main/java/com/epmet/plugin/commons/redis/RedisKeys.java

@ -0,0 +1,29 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.plugin.commons.redis;
/**
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public class RedisKeys {
/**
* redis前缀
*/
private static String rootPrefix = "epmet:";
/**
* 海康accessToken
*/
public static String getHikTokenKey() {
return "hik:token";
}
}

5
epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/hik/HikErrorInfoDTO.java

@ -71,4 +71,9 @@ public class HikErrorInfoDTO implements Serializable {
*/ */
private String errorInfo; private String errorInfo;
/**
* 引用ID
*/
private String referenceId;
} }

4
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/entity/HikErrorInfoEntity.java

@ -41,4 +41,8 @@ public class HikErrorInfoEntity extends BaseEpmetEntity {
*/ */
private String errorInfo; private String errorInfo;
/**
* 引用ID
*/
private String referenceId;
} }

2
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikCommunityInfoServiceImpl.java

@ -72,7 +72,7 @@ public class HikCommunityInfoServiceImpl extends BaseServiceImpl<HikCommunityInf
QueryWrapper<HikCommunityInfoEntity> wrapper = new QueryWrapper<>(); QueryWrapper<HikCommunityInfoEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(communityName), "COMMUNITY_NAME", communityName); wrapper.like(StringUtils.isNotBlank(communityName), "COMMUNITY_NAME", communityName);
return wrapper; return wrapper;
} }

8
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/controller/RentContractInfoController.java

@ -72,6 +72,14 @@ public class RentContractInfoController {
return new Result(); return new Result();
} }
@NoRepeatSubmit
@PostMapping("resend/{id}")
public Result resend(@PathVariable("id") String id) {
//效验数据
rentContractInfoService.resend(id);
return new Result();
}
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("update") @PostMapping("update")
public Result update(@RequestBody RentContractInfoDTO dto) { public Result update(@RequestBody RentContractInfoDTO dto) {

29
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/controller/RentTenantInfoController.java

@ -7,14 +7,11 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.plugin.power.dto.hik.form.HikAuthorityFormDTO; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.plugin.power.dto.hik.form.HikPersonFormDTO;
import com.epmet.plugin.power.dto.rent.RentTenantInfoDTO; import com.epmet.plugin.power.dto.rent.RentTenantInfoDTO;
import com.epmet.plugin.power.modules.rent.excel.RentTenantInfoExcel; import com.epmet.plugin.power.modules.rent.excel.RentTenantInfoExcel;
import com.epmet.plugin.power.modules.rent.service.RentTenantInfoService; import com.epmet.plugin.power.modules.rent.service.RentTenantInfoService;
import com.epmet.plugin.power.modules.utils.HkDeviceUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -36,9 +33,6 @@ public class RentTenantInfoController {
@Autowired @Autowired
private RentTenantInfoService rentTenantInfoService; private RentTenantInfoService rentTenantInfoService;
@Autowired
private HkDeviceUtil hkDeviceUtil;
@RequestMapping("page") @RequestMapping("page")
public Result<PageData<RentTenantInfoDTO>> page(@RequestParam Map<String, Object> params) { public Result<PageData<RentTenantInfoDTO>> page(@RequestParam Map<String, Object> params) {
PageData<RentTenantInfoDTO> page = rentTenantInfoService.page(params); PageData<RentTenantInfoDTO> page = rentTenantInfoService.page(params);
@ -97,25 +91,4 @@ public class RentTenantInfoController {
ExcelUtils.exportExcelToTarget(response, null, list, RentTenantInfoExcel.class); ExcelUtils.exportExcelToTarget(response, null, list, RentTenantInfoExcel.class);
} }
@GetMapping("test")
public Result<String> test(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
HikPersonFormDTO dto = new HikPersonFormDTO();
dto.setPersonName("张三");
dto.setGender(1);
dto.setCredentialType(1);
dto.setCredentialNumber("350781196403072329");
dto.setMobile("17890987654");
dto.setFaceUrl("https://ai-security-protection.oss-cn-qingdao.aliyuncs.com/test/20220501/b714a5d77e46449980ad7d6dcf3d3aab.jpg");
HikAuthorityFormDTO dto1 = new HikAuthorityFormDTO();
dto1.setPersonType(1);
dto1.setPersonId("91704aafae7849529460809e04102a1e");
dto1.setCommunityId("98b6060a7b8e408dbc3278a5b4fcfe2b");
dto1.setDeviceId("edbc991eb97445e698f709f3710a6fd4");
return new Result<String>().ok(hkDeviceUtil.authorityIssued(dto1));
}
} }

10
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/service/RentContractInfoService.java

@ -77,6 +77,16 @@ public interface RentContractInfoService extends BaseService<RentContractInfoEnt
*/ */
void send(RentContractInfoDTO dto); void send(RentContractInfoDTO dto);
/**
* 重新下发
*
* @param id
* @return void
* @author generator
* @date 2022-04-22
*/
void resend(String id);
/** /**
* 默认更新 * 默认更新
* *

17
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/service/impl/RentContractInfoServiceImpl.java

@ -256,9 +256,14 @@ public class RentContractInfoServiceImpl extends BaseServiceImpl<RentContractInf
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void send(RentContractInfoDTO dto) { public void send(RentContractInfoDTO info) {
RentContractInfoDTO dto = get(info.getId());
dto.getTenantList().forEach(item -> { dto.getTenantList().forEach(item -> {
try { try {
Map<String, Object> delParams = new HashMap<>();
delParams.put("idCard", item.getIdCard());
hikErrorInfoService.deletePhysical(delParams);
HikPersonFormDTO person = new HikPersonFormDTO(); HikPersonFormDTO person = new HikPersonFormDTO();
person.setFaceUrl(item.getImgList().get(0).getFileUrl()); person.setFaceUrl(item.getImgList().get(0).getFileUrl());
person.setMobile(item.getMobile()); person.setMobile(item.getMobile());
@ -295,11 +300,21 @@ public class RentContractInfoServiceImpl extends BaseServiceImpl<RentContractInf
HikErrorInfoDTO error = new HikErrorInfoDTO(); HikErrorInfoDTO error = new HikErrorInfoDTO();
error.setIdCard(item.getIdCard()); error.setIdCard(item.getIdCard());
error.setErrorInfo(e.getMessage()); error.setErrorInfo(e.getMessage());
error.setCustomerId(loginUserUtil.getLoginUserCustomerId());
error.setReferenceId(dto.getId());
hikErrorInfoService.save(error); hikErrorInfoService.save(error);
} }
}); });
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void resend(String id) {
HikErrorInfoDTO errorDto = hikErrorInfoService.get(id);
RentContractInfoDTO dto = get(errorDto.getReferenceId());
send(dto);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(RentContractInfoDTO dto) { public void update(RentContractInfoDTO dto) {

13
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/utils/HkDeviceUtil.java

@ -5,9 +5,11 @@ import com.alibaba.fastjson.JSONObject;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.plugin.commons.redis.RedisKeys;
import com.epmet.plugin.power.config.HikCloudProperties; import com.epmet.plugin.power.config.HikCloudProperties;
import com.epmet.plugin.power.dto.hik.form.HikAuthorityFormDTO; import com.epmet.plugin.power.dto.hik.form.HikAuthorityFormDTO;
import com.epmet.plugin.power.dto.hik.form.HikPersonFormDTO; import com.epmet.plugin.power.dto.hik.form.HikPersonFormDTO;
@ -32,6 +34,9 @@ public class HkDeviceUtil {
@Autowired @Autowired
private HikCloudProperties hikCloudProperties; private HikCloudProperties hikCloudProperties;
@Autowired
private RedisUtils redisUtils;
private final String GET_ACCESS_TOKEN = "/oauth/token"; private final String GET_ACCESS_TOKEN = "/oauth/token";
private final String GET_DEVICES = "/api/v1/estate/devices"; private final String GET_DEVICES = "/api/v1/estate/devices";
private final String SEND_PERSON = "/api/v1/estate/system/person"; private final String SEND_PERSON = "/api/v1/estate/system/person";
@ -48,6 +53,12 @@ public class HkDeviceUtil {
* @date 2022/5/20 16:40 * @date 2022/5/20 16:40
*/ */
public String getAccessToken() { public String getAccessToken() {
String key = RedisKeys.getHikTokenKey();
Object obj = redisUtils.get(key);
if (null != obj) {
return (String) obj;
}
String url = hikCloudProperties.getUrl().concat(GET_ACCESS_TOKEN); String url = hikCloudProperties.getUrl().concat(GET_ACCESS_TOKEN);
Map<String, Object> paramsMap = new HashMap<>(8); Map<String, Object> paramsMap = new HashMap<>(8);
paramsMap.put("client_id", hikCloudProperties.getClient()); paramsMap.put("client_id", hikCloudProperties.getClient());
@ -65,6 +76,8 @@ public class HkDeviceUtil {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "AccessToken获取失败"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "AccessToken获取失败");
} }
String accessToken = "Bearer ".concat(toResult.get("access_token").toString()); String accessToken = "Bearer ".concat(toResult.get("access_token").toString());
redisUtils.set(key, accessToken, RedisUtils.HOUR_ONE_EXPIRE);
return accessToken; return accessToken;
} }

Loading…
Cancel
Save