1.地图工具实现接口类
public interface MapUtilService { ResponseData<GeoResponseDto> geo(String address); }
2.impl
import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.stereotype.Service; /** * @ClassName: MapUtilServiceImpl * @Description: 地图工具实现类 * */ @EnableConfigurationProperties(GaoDeMapProperties.class) @RequiredArgsConstructor(onConstructor = @_(@Autowired)) @Slf4j @Service public class MapUtilServiceImpl implements MapUtilService { private final GaoDeMapProperties gaoDeMapProperties; @Override public ResponseData<GeoResponseDto> geo(String address) { GeoRequestDto geoRequestDto = new GeoRequestDto(); geoRequestDto.setKey(gaoDeMapProperties.getKey()); geoRequestDto.setAddress(address); GaoDeSendUtils gaoDeSendUtils = new GaoDeSendUtils(); ResponseData<GeoResponseDto> geo = gaoDeSendUtils.geo(geoRequestDto); return geo; } }
3.GaoDeSendUtils(geo),高德地图发送接口工具类
import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; /** * @ClassName: GaoDeSendUtils * @Description: 高德地图发送接口工具类 * */ @Slf4j @Component public class GaoDeSendUtils { private static final String logHead = "[GaoDeSendUtils]"; /** * 高德地理编码调用接口 * * @param geoRequestDto * @return */ public ResponseData<GeoResponseDto> geo(GeoRequestDto geoRequestDto) { try { ResponseData responseData = checkGeoParams(geoRequestDto); if (!responseData.isSuccess()) { return responseData; } String url = GaoDeWebConstants.GD_GEO; Map<String, String> params = new HashMap<>(); params.put("key", geoRequestDto.getKey()); params.put("address", geoRequestDto.getAddress()); String response = HttpsClient.doGet(url, params); if (StringUtils.isBlank(response)) { return ResponseData.failure(ErrorWebCodeEnum.GD_RESPONSE_DATA_ERROR.getName());