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 a797d21..e18cfb9 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 @@ -20,4 +20,8 @@ public class AmapConfigConstant { * 新增服务 */ public static final String SERVICE_MAP_ADD_URL = "https://tsapi.amap.com/v1/track/service/add"; + /** + * 创建终端 + */ + public static final String TERMINAL_MAP_ADD_URL = "https://tsapi.amap.com/v1/track/terminal/add"; } diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/dto/TerminalResponse.java b/online-taxi-public/internal-common/src/main/java/com/internal/dto/TerminalResponse.java new file mode 100644 index 0000000..3696131 --- /dev/null +++ b/online-taxi-public/internal-common/src/main/java/com/internal/dto/TerminalResponse.java @@ -0,0 +1,20 @@ +package com.internal.dto; + +import lombok.Data; + +/** + * { + * "data": { + * "name": "车辆1", + * "tid": 685621293, + * "sid": 936178 + * }, + * "errcode": 10000, + * "errdetail": null, + * "errmsg": "OK" + * } + */ +@Data +public class TerminalResponse { + private String tid; +} diff --git a/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/controller/TerminalController.java b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/controller/TerminalController.java new file mode 100644 index 0000000..c78266a --- /dev/null +++ b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/controller/TerminalController.java @@ -0,0 +1,20 @@ +package com.taxi.servicemap.controller; + +import com.internal.dto.ResponseResult; +import com.taxi.servicemap.service.TerminalService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/terminal") +public class TerminalController { + @Autowired + TerminalService terminalService; + @PostMapping("/addTerminal") + public ResponseResult addTerminal(String name){ + return terminalService.addTerminal(name); + } + +} diff --git a/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/TerminalClient.java b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/TerminalClient.java new file mode 100644 index 0000000..5bdf19d --- /dev/null +++ b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/TerminalClient.java @@ -0,0 +1,73 @@ +package com.taxi.servicemap.remote; + +import com.internal.contant.AmapConfigConstant; +import com.internal.dto.ResponseResult; +import com.internal.dto.ServiceMapResponse; +import com.internal.dto.TerminalResponse; +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 TerminalClient { + @Value("${amap.key}") + private String amapKey; + + @Value("${amap.sid}") + private String sid; + + @Autowired + private RestTemplate restTemplate; + + /** + * { + * "code": 1, + * "message": "success", + * "data": { + * "tid": "685651163" + * } + * } + * @param name + * @return + */ + public ResponseResult addTerminal(String name){ + //拼接请求的URL + StringBuilder url = new StringBuilder(); + url.append(AmapConfigConstant.TERMINAL_MAP_ADD_URL); + url.append("?"); + url.append("key="+amapKey); + url.append("&"); + url.append("sid="+sid); + url.append("&"); + url.append("name="+name); + + ResponseEntity forEntity = + restTemplate.postForEntity(url.toString(),null,String.class); + String bodyStr = forEntity.getBody(); + JSONObject result = JSONObject.fromObject(bodyStr); + TerminalResponse terminalResponse = new TerminalResponse(); + /** + * { + * "data": { + * "name": "车辆1", + * "tid": 685621293, + * "sid": 936178 + * }, + * "errcode": 10000, + * "errdetail": null, + * "errmsg": "OK" + * } + */ + if(result.has("data")){ + JSONObject data = result.getJSONObject("data"); + if(data != null && data.has("tid")){ + String sid = data.getString("tid"); + terminalResponse.setTid(sid); + } + } + return ResponseResult.success(terminalResponse); + } +} diff --git a/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/service/TerminalService.java b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/service/TerminalService.java new file mode 100644 index 0000000..336de15 --- /dev/null +++ b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/service/TerminalService.java @@ -0,0 +1,16 @@ +package com.taxi.servicemap.service; + +import com.internal.dto.ResponseResult; +import com.taxi.servicemap.remote.TerminalClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class TerminalService { + @Autowired + TerminalClient terminalClient; + + public ResponseResult addTerminal(String name){ + return terminalClient.addTerminal(name); + } +} diff --git a/online-taxi-public/service-map/src/main/resources/application.yaml b/online-taxi-public/service-map/src/main/resources/application.yaml index c2ec145..b4dfd94 100644 --- a/online-taxi-public/service-map/src/main/resources/application.yaml +++ b/online-taxi-public/service-map/src/main/resources/application.yaml @@ -15,4 +15,5 @@ spring: name: service-map amap: - key: 01d85ea8f7db65efc370cfec18ff6397 \ No newline at end of file + key: 01d85ea8f7db65efc370cfec18ff6397 + sid: 936137 \ No newline at end of file diff --git a/online-taxi-public/service-map/target/classes/application.yaml b/online-taxi-public/service-map/target/classes/application.yaml index c2ec145..b4dfd94 100644 --- a/online-taxi-public/service-map/target/classes/application.yaml +++ b/online-taxi-public/service-map/target/classes/application.yaml @@ -15,4 +15,5 @@ spring: name: service-map amap: - key: 01d85ea8f7db65efc370cfec18ff6397 \ No newline at end of file + key: 01d85ea8f7db65efc370cfec18ff6397 + sid: 936137 \ No newline at end of file