Browse Source

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

feature/hk_device
wanggongfeng 3 years ago
parent
commit
dd07057ebf
  1. 74
      epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/hik/HikErrorInfoDTO.java
  2. 27
      epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/hik/form/HikAuthorityFormDTO.java
  3. 16
      epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/hik/form/HikPersonFormDTO.java
  4. 82
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/controller/HikErrorInfoController.java
  5. 27
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/dao/HikErrorInfoDao.java
  6. 44
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/entity/HikErrorInfoEntity.java
  7. 51
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/excel/HikErrorInfoExcel.java
  8. 30
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/redis/HikErrorInfoRedis.java
  9. 88
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/HikErrorInfoService.java
  10. 2
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikCommunityInfoServiceImpl.java
  11. 2
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikDeviceInfoServiceImpl.java
  12. 95
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/impl/HikErrorInfoServiceImpl.java
  13. 9
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/controller/RentContractInfoController.java
  14. 22
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/controller/RentTenantInfoController.java
  15. 10
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/service/RentContractInfoService.java
  16. 67
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/rent/service/impl/RentContractInfoServiceImpl.java
  17. 58
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/utils/HkDeviceUtil.java
  18. 30
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/hik/HikErrorInfoDao.xml

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

@ -0,0 +1,74 @@
package com.epmet.plugin.power.dto.hik;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 海康设备推送失败信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-23
*/
@Data
public class HikErrorInfoDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 删除标记 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 客户ID
*/
private String customerId;
/**
* 身份证号
*/
private String idCard;
/**
* 错误类型 0token1人员2权限
*/
private String errorType;
/**
* 错误详情
*/
private String errorInfo;
}

27
epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/hik/form/HikAuthorityFormDTO.java

@ -0,0 +1,27 @@
package com.epmet.plugin.power.dto.hik.form;
import lombok.Data;
import java.io.Serializable;
/**
* 海康社区人员权限信息下放
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-20
*/
@Data
public class HikAuthorityFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String communityId;
private String personId;
private Integer personType;
private String deviceId;
}

16
epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/hik/form/HikPersonFormDTO.java

@ -6,7 +6,7 @@ import java.io.Serializable;
/**
* 海康社区人员信息
* 海康社区人员信息下放
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-20
@ -16,18 +16,18 @@ public class HikPersonFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String unionId;
private String unionId;
private String personName;
private String personName;
private Integer gender;
private Integer gender;
private Integer credentialType;
private Integer credentialType;
private String credentialNumber;
private String credentialNumber;
private String mobile;
private String mobile;
private String faceUrl;
private String faceUrl;
}

82
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/controller/HikErrorInfoController.java

@ -0,0 +1,82 @@
package com.epmet.plugin.power.modules.hik.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
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.plugin.power.dto.hik.HikErrorInfoDTO;
import com.epmet.plugin.power.modules.hik.excel.HikErrorInfoExcel;
import com.epmet.plugin.power.modules.hik.service.HikErrorInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 海康设备推送失败信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-23
*/
@RestController
@RequestMapping("hikErrorInfo")
public class HikErrorInfoController {
@Autowired
private HikErrorInfoService hikErrorInfoService;
@RequestMapping("page")
public Result<PageData<HikErrorInfoDTO>> page(@RequestParam Map<String, Object> params){
PageData<HikErrorInfoDTO> page = hikErrorInfoService.page(params);
return new Result<PageData<HikErrorInfoDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<HikErrorInfoDTO> get(@PathVariable("id") String id){
HikErrorInfoDTO data = hikErrorInfoService.get(id);
return new Result<HikErrorInfoDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody HikErrorInfoDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
hikErrorInfoService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody HikErrorInfoDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
hikErrorInfoService.update(dto);
return new Result();
}
@RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE})
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
hikErrorInfoService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<HikErrorInfoDTO> list = hikErrorInfoService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, HikErrorInfoExcel.class);
}
}

27
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/dao/HikErrorInfoDao.java

@ -0,0 +1,27 @@
package com.epmet.plugin.power.modules.hik.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.plugin.power.modules.hik.entity.HikErrorInfoEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
/**
* 海康设备推送失败信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-23
*/
@Mapper
public interface HikErrorInfoDao extends BaseDao<HikErrorInfoEntity> {
/**
* 物理删除
*
* @param params
* @return void
* @author zhy
* @date 2022/4/24 14:08
*/
void deletePhysical(Map<String, Object> params);
}

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

@ -0,0 +1,44 @@
package com.epmet.plugin.power.modules.hik.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 海康设备推送失败信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-23
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("pli_hik_error_info")
public class HikErrorInfoEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 身份证号
*/
private String idCard;
/**
* 错误类型 0token1人员2权限
*/
private String errorType;
/**
* 错误详情
*/
private String errorInfo;
}

51
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/excel/HikErrorInfoExcel.java

@ -0,0 +1,51 @@
package com.epmet.plugin.power.modules.hik.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 海康设备推送失败信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-23
*/
@Data
public class HikErrorInfoExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "删除标记 0:未删除,1:已删除")
private String delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
@Excel(name = "客户ID")
private String customerId;
@Excel(name = "身份证号")
private String idCard;
@Excel(name = "错误类型 0:token,1:人员,2权限")
private String errorType;
@Excel(name = "错误详情")
private String errorInfo;
}

30
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/redis/HikErrorInfoRedis.java

@ -0,0 +1,30 @@
package com.epmet.plugin.power.modules.hik.redis;
import com.epmet.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 海康设备推送失败信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-23
*/
@Component
public class HikErrorInfoRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

88
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/hik/service/HikErrorInfoService.java

@ -0,0 +1,88 @@
package com.epmet.plugin.power.modules.hik.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.plugin.power.dto.hik.HikErrorInfoDTO;
import com.epmet.plugin.power.modules.hik.entity.HikErrorInfoEntity;
import java.util.List;
import java.util.Map;
/**
* 海康设备推送失败信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-23
*/
public interface HikErrorInfoService extends BaseService<HikErrorInfoEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<HikErrorInfoDTO>
* @author generator
* @date 2022-05-23
*/
PageData<HikErrorInfoDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<HikErrorInfoDTO>
* @author generator
* @date 2022-05-23
*/
List<HikErrorInfoDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return HikErrorInfoDTO
* @author generator
* @date 2022-05-23
*/
HikErrorInfoDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-23
*/
void save(HikErrorInfoDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-23
*/
void update(HikErrorInfoDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-23
*/
void delete(String[] ids);
/**
* 物理删除
*
* @param params
* @return void
* @author zhy
* @date 2022/4/24 14:08
*/
void deletePhysical(Map<String, Object> params);
}

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

@ -68,9 +68,11 @@ public class HikCommunityInfoServiceImpl extends BaseServiceImpl<HikCommunityInf
private QueryWrapper<HikCommunityInfoEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
String communityName = (String)params.get("communityName");
QueryWrapper<HikCommunityInfoEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(communityName), "COMMUNITY_NAME", communityName);
return wrapper;
}

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

@ -69,9 +69,11 @@ public class HikDeviceInfoServiceImpl extends BaseServiceImpl<HikDeviceInfoDao,
private QueryWrapper<HikDeviceInfoEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
String communityId = (String)params.get("communityId");
QueryWrapper<HikDeviceInfoEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(communityId), "COMMUNITY_ID", communityId);
return wrapper;
}

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

@ -0,0 +1,95 @@
package com.epmet.plugin.power.modules.hik.service.impl;
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.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.plugin.power.modules.hik.dao.HikErrorInfoDao;
import com.epmet.plugin.power.dto.hik.HikErrorInfoDTO;
import com.epmet.plugin.power.modules.hik.entity.HikErrorInfoEntity;
import com.epmet.plugin.power.modules.hik.redis.HikErrorInfoRedis;
import com.epmet.plugin.power.modules.hik.service.HikErrorInfoService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 海康设备推送失败信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-23
*/
@Service
public class HikErrorInfoServiceImpl extends BaseServiceImpl<HikErrorInfoDao, HikErrorInfoEntity> implements HikErrorInfoService {
@Autowired
private HikErrorInfoRedis hikErrorInfoRedis;
@Override
public PageData<HikErrorInfoDTO> page(Map<String, Object> params) {
IPage<HikErrorInfoEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, HikErrorInfoDTO.class);
}
@Override
public List<HikErrorInfoDTO> list(Map<String, Object> params) {
List<HikErrorInfoEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, HikErrorInfoDTO.class);
}
private QueryWrapper<HikErrorInfoEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<HikErrorInfoEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public HikErrorInfoDTO get(String id) {
HikErrorInfoEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, HikErrorInfoDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(HikErrorInfoDTO dto) {
HikErrorInfoEntity entity = ConvertUtils.sourceToTarget(dto, HikErrorInfoEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(HikErrorInfoDTO dto) {
HikErrorInfoEntity entity = ConvertUtils.sourceToTarget(dto, HikErrorInfoEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deletePhysical(Map<String, Object> params) {
if (!params.isEmpty()) {
baseDao.deletePhysical(params);
}
}
}

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

@ -63,6 +63,15 @@ public class RentContractInfoController {
return new Result();
}
@NoRepeatSubmit
@PostMapping("send")
public Result send(@RequestBody RentContractInfoDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
rentContractInfoService.send(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody RentContractInfoDTO dto) {

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

@ -9,6 +9,8 @@ import com.epmet.commons.tools.validator.ValidatorUtils;
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.plugin.power.dto.hik.form.HikAuthorityFormDTO;
import com.epmet.plugin.power.dto.hik.form.HikPersonFormDTO;
import com.epmet.plugin.power.dto.rent.RentTenantInfoDTO;
import com.epmet.plugin.power.modules.rent.excel.RentTenantInfoExcel;
import com.epmet.plugin.power.modules.rent.service.RentTenantInfoService;
@ -97,10 +99,22 @@ public class RentTenantInfoController {
@GetMapping("test")
public Result<String> test(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
String token =hkDeviceUtil.getAccessToken();
token = "Bearer ".concat(token);
return new Result<String>().ok(hkDeviceUtil.sendPerson(token));
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

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

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

@ -20,9 +20,17 @@ import com.epmet.dto.form.IcHouseAddFormDTO;
import com.epmet.dto.form.RentTenantFormDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.plugin.power.dto.hik.HikCommunityInfoDTO;
import com.epmet.plugin.power.dto.hik.HikDeviceInfoDTO;
import com.epmet.plugin.power.dto.hik.HikErrorInfoDTO;
import com.epmet.plugin.power.dto.hik.form.HikAuthorityFormDTO;
import com.epmet.plugin.power.dto.hik.form.HikPersonFormDTO;
import com.epmet.plugin.power.dto.rent.RentContractFileDTO;
import com.epmet.plugin.power.dto.rent.RentContractInfoDTO;
import com.epmet.plugin.power.dto.rent.RentTenantInfoDTO;
import com.epmet.plugin.power.modules.hik.service.HikCommunityInfoService;
import com.epmet.plugin.power.modules.hik.service.HikDeviceInfoService;
import com.epmet.plugin.power.modules.hik.service.HikErrorInfoService;
import com.epmet.plugin.power.modules.rent.dao.RentContractInfoDao;
import com.epmet.plugin.power.modules.rent.entity.RentContractFileEntity;
import com.epmet.plugin.power.modules.rent.entity.RentContractInfoEntity;
@ -31,6 +39,7 @@ import com.epmet.plugin.power.modules.rent.redis.RentContractInfoRedis;
import com.epmet.plugin.power.modules.rent.service.RentContractFileService;
import com.epmet.plugin.power.modules.rent.service.RentContractInfoService;
import com.epmet.plugin.power.modules.rent.service.RentTenantInfoService;
import com.epmet.plugin.power.modules.utils.HkDeviceUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -54,6 +63,9 @@ public class RentContractInfoServiceImpl extends BaseServiceImpl<RentContractInf
@Autowired
private LoginUserUtil loginUserUtil;
@Autowired
private HkDeviceUtil hkDeviceUtil;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@ -66,6 +78,15 @@ public class RentContractInfoServiceImpl extends BaseServiceImpl<RentContractInf
@Autowired
private RentContractFileService rentContractFileService;
@Autowired
private HikErrorInfoService hikErrorInfoService;
@Autowired
private HikCommunityInfoService hikCommunityInfoService;
@Autowired
private HikDeviceInfoService hikDeviceInfoService;
@Override
public PageData<RentContractInfoDTO> page(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
@ -233,6 +254,52 @@ public class RentContractInfoServiceImpl extends BaseServiceImpl<RentContractInf
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void send(RentContractInfoDTO dto) {
dto.getTenantList().forEach(item -> {
try {
HikPersonFormDTO person = new HikPersonFormDTO();
person.setFaceUrl(item.getImgList().get(0).getFileUrl());
person.setMobile(item.getMobile());
person.setCredentialType(NumConstant.ONE);
person.setCredentialNumber(item.getIdCard());
person.setPersonName(item.getName());
person.setGender(NumConstant.ONE_NEG);
String personId = hkDeviceUtil.sendPerson(person);
if (StringUtils.isNotBlank(personId)) {
HikAuthorityFormDTO authority = new HikAuthorityFormDTO();
authority.setPersonType(NumConstant.ONE);
authority.setPersonId(personId);
Map<String, Object> communityParams = new HashMap<>(4);
communityParams.put("communityName", dto.getVillageName());
List<HikCommunityInfoDTO> communityList = hikCommunityInfoService.list(communityParams);
communityList.forEach(community -> {
authority.setCommunityId(community.getCommunityId());
Map<String, Object> deviceParams = new HashMap<>(4);
deviceParams.put("communityName", dto.getVillageName());
List<HikDeviceInfoDTO> deviceList = hikDeviceInfoService.list(deviceParams);
deviceList.forEach(device -> {
authority.setDeviceId(device.getDeviceId());
hkDeviceUtil.authorityIssued(authority);
});
});
}
} catch (EpmetException e) {
HikErrorInfoDTO error = new HikErrorInfoDTO();
error.setIdCard(item.getIdCard());
error.setErrorInfo(e.getMessage());
hikErrorInfoService.save(error);
}
});
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(RentContractInfoDTO dto) {

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

@ -2,12 +2,14 @@ package com.epmet.plugin.power.modules.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.plugin.power.config.HikCloudProperties;
import com.epmet.plugin.power.dto.hik.form.HikAuthorityFormDTO;
import com.epmet.plugin.power.dto.hik.form.HikPersonFormDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -33,6 +35,7 @@ public class HkDeviceUtil {
private final String GET_ACCESS_TOKEN = "/oauth/token";
private final String GET_DEVICES = "/api/v1/estate/devices";
private final String SEND_PERSON = "/api/v1/estate/system/person";
private final String ISSUE_AUTHORITY = "/api/v1/estate/entranceGuard/permissions/actions/authorityIssued";
private final String GRANT_TYPE = "client_credentials";
@ -61,29 +64,24 @@ public class HkDeviceUtil {
if (!toResult.containsKey("access_token")) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "AccessToken获取失败");
}
return toResult.get("access_token").toString();
String accessToken = "Bearer ".concat(toResult.get("access_token").toString());
return accessToken;
}
/**
* 下发人员
*
* @param token
* @param dto
* @return java.lang.String 人员ID
* @author zhy
* @date 2022/5/23 10:08
*/
public String sendPerson(String token) {
public String sendPerson(HikPersonFormDTO dto) {
String url = hikCloudProperties.getUrl().concat(SEND_PERSON);
Map<String, String> paramsMap = new HashMap<>(4);
paramsMap.put("Authorization", token);
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");
paramsMap.put("Authorization", getAccessToken());
String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData();
if (null == data) {
@ -94,12 +92,44 @@ public class HkDeviceUtil {
if (null != toResult.get("code")) {
result.setCode(((Integer) toResult.get("code")).intValue());
}
if (!result.success()) {
if (NumConstant.TWO_HUNDRED != result.getCode()) {
logger.info(result.getMsg());
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "人员信息下发失败");
}
Object RegisterResult = result.getData();
JSONObject jsonObject = JSON.parseObject(RegisterResult.toString());
return "11111111111111111";
return jsonObject.getString("personId");
}
/**
* 下发人员权限
*
* @param dto
* @return java.lang.String
* @author zhy
* @date 2022/5/23 11:04
*/
public String authorityIssued(HikAuthorityFormDTO dto) {
String url = hikCloudProperties.getUrl().concat(ISSUE_AUTHORITY);
Map<String, String> 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(), "人员权限下发失败");
}
JSONObject toResult = JSON.parseObject(data);
Result result = ConvertUtils.mapToEntity(toResult, Result.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(), "人员权限下发失败");
}
return "success";
}
}

30
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/hik/HikErrorInfoDao.xml

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.plugin.power.modules.hik.dao.HikErrorInfoDao">
<resultMap type="com.epmet.plugin.power.modules.hik.entity.HikErrorInfoEntity" id="hikErrorInfoMap">
<result property="id" column="ID"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="idCard" column="ID_CARD"/>
<result property="errorType" column="ERROR_TYPE"/>
<result property="errorInfo" column="ERROR_INFO"/>
</resultMap>
<delete id="deletePhysical">
DELETE
FROM
pli_hik_error_info
<where>
<if test="idCard != null and idCard != ''">
AND ID_CARD = #{idCard}
</if>
</where>
</delete>
</mapper>
Loading…
Cancel
Save