Search in sources :

Example 1 with ResultBean

use of com.chao.cloud.common.extra.map.tencent.address.AddressResolveDTO.ResultBean in project chao-cloud by chaojunzi.

the class TencentMapService method addressToCoordinate.

@Override
public AddressResolveDTO addressToCoordinate(AddressVO vo) throws Exception {
    vo.setKey(key);
    log.info("[Tencent 请求参数:vo={}]", vo);
    Map<String, Object> map = BeanUtil.beanToMap(vo);
    String post = HttpUtil.post(addressUrl, map);
    AddressResolveDTO dto = JSONUtil.toBean(post, AddressResolveDTO.class);
    if (!SUCCESS.equals(dto.getStatus())) {
        throw new BusinessException(dto.getMessage());
    }
    log.info("[位置解析结果:]{}", post);
    // 校验地址是否合格
    ResultBean result = dto.getResult();
    if (result.getLevel() >= 9 && result.getReliability() >= 7) {
        return dto;
    }
    throw new BusinessException("解析精度未达到门址 或 可信度较低:[address=" + result.getTitle() + "]");
}
Also used : BusinessException(com.chao.cloud.common.exception.BusinessException) AddressResolveDTO(com.chao.cloud.common.extra.map.tencent.address.AddressResolveDTO) ResultBean(com.chao.cloud.common.extra.map.tencent.address.AddressResolveDTO.ResultBean)

Aggregations

BusinessException (com.chao.cloud.common.exception.BusinessException)1 AddressResolveDTO (com.chao.cloud.common.extra.map.tencent.address.AddressResolveDTO)1 ResultBean (com.chao.cloud.common.extra.map.tencent.address.AddressResolveDTO.ResultBean)1