From 1b66257c05a1a96fcecea512ef940e4322e6656b Mon Sep 17 00:00:00 2001 From: topsun Date: Wed, 10 May 2023 00:10:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=9C=8D=E5=8A=A1=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BB=A3=E7=A0=81=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../internal/contant/AmapConfigConstant.java | 4 ++ .../com/internal/dto/ServiceMapResponse.java | 8 +++ .../controller/ServiceController.java | 27 ++++++++++ .../taxi/servicemap/remote/ServiceClient.java | 50 +++++++++++++++++++ .../servicemap/service/ServiceMapService.java | 19 +++++++ online-taxi-public/service-map/地图信息 | 21 ++++++++ 6 files changed, 129 insertions(+) create mode 100644 online-taxi-public/internal-common/src/main/java/com/internal/dto/ServiceMapResponse.java create mode 100644 online-taxi-public/service-map/src/main/java/com/taxi/servicemap/controller/ServiceController.java create mode 100644 online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/ServiceClient.java create mode 100644 online-taxi-public/service-map/src/main/java/com/taxi/servicemap/service/ServiceMapService.java create mode 100644 online-taxi-public/service-map/地图信息 diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/contant/AmapConfigConstant.java b/online-taxi-public/internal-common/src/main/java/com/internal/contant/AmapConfigConstant.java index b95854b..a797d21 100644 --- a/online-taxi-public/internal-common/src/main/java/com/internal/contant/AmapConfigConstant.java +++ b/online-taxi-public/internal-common/src/main/java/com/internal/contant/AmapConfigConstant.java @@ -16,4 +16,8 @@ public class AmapConfigConstant { 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"; + /** + * 新增服务 + */ + public static final String SERVICE_MAP_ADD_URL = "https://tsapi.amap.com/v1/track/service/add"; } diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/dto/ServiceMapResponse.java b/online-taxi-public/internal-common/src/main/java/com/internal/dto/ServiceMapResponse.java new file mode 100644 index 0000000..82a329d --- /dev/null +++ b/online-taxi-public/internal-common/src/main/java/com/internal/dto/ServiceMapResponse.java @@ -0,0 +1,8 @@ +package com.internal.dto; + +import lombok.Data; + +@Data +public class ServiceMapResponse { + private String sid; +} diff --git a/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/controller/ServiceController.java b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/controller/ServiceController.java new file mode 100644 index 0000000..3044e7a --- /dev/null +++ b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/controller/ServiceController.java @@ -0,0 +1,27 @@ +package com.taxi.servicemap.controller; + +import com.internal.dto.ResponseResult; +import com.taxi.servicemap.service.ServiceMapService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 服务管理控制 + */ +@RestController +public class ServiceController { + @Autowired + public ServiceMapService serviceMapService; + + /** + * Service 的名字,名字在同一个 Key 下不可重复,不可为空。 + * 命名规则:仅支持中文、英文大小字母、英文下划线"_"、英文横线"-"和数字,不能以"_"开头,最长不得超过128个字符。 + * @param name + * @return + */ + @PostMapping("/addService") + public ResponseResult addService(String name){ + return serviceMapService.addService(name); + } +} diff --git a/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/ServiceClient.java b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/ServiceClient.java new file mode 100644 index 0000000..7c3f0f9 --- /dev/null +++ b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/ServiceClient.java @@ -0,0 +1,50 @@ +package com.taxi.servicemap.remote; + +import com.internal.contant.AmapConfigConstant; +import com.internal.dto.ResponseResult; +import com.internal.dto.ServiceMapResponse; +import com.taxi.servicemap.service.ServiceMapService; +import net.sf.json.JSONObject; +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 ServiceClient { + @Value("${amap.key}") + private String amapKey; + + @Autowired + private RestTemplate restTemplate; + + + public ResponseResult addService(String name){ + //拼接请求的URL + StringBuilder url = new StringBuilder(); + url.append(AmapConfigConstant.SERVICE_MAP_ADD_URL); + url.append("?"); + url.append("key="+amapKey); + url.append("&"); + url.append("name="+name); + + ResponseEntity forEntity = + restTemplate.postForEntity(url.toString(),null,String.class); + String bodyStr = forEntity.getBody(); + JSONObject result = JSONObject.fromObject(bodyStr); + ServiceMapResponse serviceMapResponse = new ServiceMapResponse(); + if(result.has("data")){ + JSONObject data = result.getJSONObject("data"); + if(data != null && data.has("sid")){ + String sid = data.getString("sid"); + serviceMapResponse.setSid(sid); + } + } + return ResponseResult.success(serviceMapResponse); + } + +} diff --git a/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/service/ServiceMapService.java b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/service/ServiceMapService.java new file mode 100644 index 0000000..2ef5d1e --- /dev/null +++ b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/service/ServiceMapService.java @@ -0,0 +1,19 @@ +package com.taxi.servicemap.service; + +import com.internal.dto.ResponseResult; +import com.taxi.servicemap.remote.ServiceClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class ServiceMapService { + @Autowired + ServiceClient serviceClient; + /** + * 创建服务 + * @return + */ + public ResponseResult addService(String name){ + return serviceClient.addService(name); + } +} diff --git a/online-taxi-public/service-map/地图信息 b/online-taxi-public/service-map/地图信息 new file mode 100644 index 0000000..3b3e2b3 --- /dev/null +++ b/online-taxi-public/service-map/地图信息 @@ -0,0 +1,21 @@ +{ + "data": { + "name": "飞滴出行service", + "sid": 936178 + }, + "errcode": 10000, + "errdetail": null, + "errmsg": "OK" +} + +//终端管理 +{ + "data": { + "name": "车辆1", + "tid": 685615847, + "sid": 936178 + }, + "errcode": 10000, + "errdetail": null, + "errmsg": "OK" +} \ No newline at end of file