飞滴出行网约车2022-service-map-实现拉取第三方地图地区字典

master
yh 3 years ago
parent 5a0b1540d4
commit 7fbb860833

@ -2,7 +2,14 @@ package com.mashibing.internalcommon.constant;
public class AmapConfigConstants {
/**
*
*/
public static final String DIRECTION_URL = "https://restapi.amap.com/v3/direction/driving";
/**
*
*/
public static final String DISTRICT_URL = "https://restapi.amap.com/v3/config/district";
/*
* json key
*/

@ -0,0 +1,13 @@
package com.mashibing.internalcommon.dto;
import lombok.Data;
@Data
public class DicDistrict {
private String addressCode;
private String addressName;
private String parentAddressCode;
private Integer Level;
}

@ -22,6 +22,15 @@
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
</project>

@ -1,5 +1,6 @@
package com.mashibing.servicemap;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@ -8,6 +9,7 @@ import org.springframework.web.client.RestTemplate;
@SpringBootApplication
@EnableDiscoveryClient
@MapperScan("com.mashibing.servicemap.mapper")
public class ServiceMapApplication {
public static void main(String[] args) {

@ -0,0 +1,24 @@
package com.mashibing.servicemap.controller;
import com.mashibing.internalcommon.constant.AmapConfigConstants;
import com.mashibing.internalcommon.dto.ResponseResult;
import com.mashibing.servicemap.service.DicDistrictService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DicDistrictController {
@Autowired
private DicDistrictService dicDistrictService;
@GetMapping("/dic-district")
public ResponseResult dicDistrict(String keywords){
return dicDistrictService.initDicDistrict(keywords);
}
}

@ -1,8 +1,15 @@
package com.mashibing.servicemap.controller;
import com.mashibing.internalcommon.dto.DicDistrict;
import com.mashibing.servicemap.mapper.DicDistrictMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class TestController {
@ -11,4 +18,16 @@ public class TestController {
return "service map";
}
@Autowired
private DicDistrictMapper mapper;
@GetMapping("/test-map")
public String testMap() {
Map<String, Object> map = new HashMap<>();
map.put("address_code", "110000");
List<DicDistrict> dicDistricts = mapper.selectByMap(map);
System.out.println(dicDistricts);
return "test-map";
}
}

@ -0,0 +1,10 @@
package com.mashibing.servicemap.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mashibing.internalcommon.dto.DicDistrict;
import org.springframework.stereotype.Repository;
@Repository
public interface DicDistrictMapper extends BaseMapper<DicDistrict> {
}

@ -0,0 +1,40 @@
package com.mashibing.servicemap.remote;
import com.mashibing.internalcommon.constant.AmapConfigConstants;
import com.mashibing.internalcommon.dto.ResponseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
@Service
public class MapDicDistrictClient {
@Value("${amap.key}")
private String amapKey;
@Autowired
private RestTemplate restTemplate;
// 获取 第三方url 结果
public String dicDistrict(String keywords){
// 拼接 请求url
StringBuilder url = new StringBuilder(AmapConfigConstants.DISTRICT_URL);
url.append("?");
url.append("keywords="+keywords);
url.append("&");
url.append("subdistrict=3");
url.append("&");
url.append("key="+amapKey);
System.out.println("url = " + url);
// 发起 结果拉取请求
ResponseEntity<String> forEntity = restTemplate.getForEntity(url.toString(), String.class);
return forEntity.toString();
}
}

@ -0,0 +1,28 @@
package com.mashibing.servicemap.service;
import com.mashibing.internalcommon.constant.AmapConfigConstants;
import com.mashibing.internalcommon.dto.ResponseResult;
import com.mashibing.servicemap.remote.MapDicDistrictClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
@Service
public class DicDistrictService {
@Autowired
private MapDicDistrictClient mapDicDistrictClient;
public ResponseResult initDicDistrict(String keywords){
// 请求第三方接口,拉取区域编号信息
String dicDistrict = mapDicDistrictClient.dicDistrict(keywords);
System.out.println("\n\ndicDistrict = " + dicDistrict);
// 解析 结果
return ResponseResult.success();
}
}

@ -7,5 +7,10 @@ spring:
nacos:
discovery:
server-addr: localhost:8848
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/service-map?characterEncoding=utf-8&serverTimezone=GMT%2B8
username: root
password: 123456
amap:
key: c5a197858bd6d73cf94cf49430fbe9d2
Loading…
Cancel
Save