diff --git a/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/controller/PointController.java b/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/controller/PointController.java new file mode 100644 index 0000000..4383687 --- /dev/null +++ b/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/controller/PointController.java @@ -0,0 +1,25 @@ +package com.taxi.apidriver.controller; + +import com.internal.dto.ResponseResult; +import com.internal.request.PointRequest; +import com.internal.response.ApiDriverPointRequest; +import com.taxi.apidriver.service.PointService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/point") +public class PointController { + + @Autowired + private PointService pointService; + + @PostMapping("/upload") + public ResponseResult pointUpload(@RequestBody ApiDriverPointRequest apiDriverPointRequest){ + + return pointService.pointUpload(apiDriverPointRequest); + } +} diff --git a/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/remote/PointClient.java b/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/remote/PointClient.java new file mode 100644 index 0000000..662378d --- /dev/null +++ b/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/remote/PointClient.java @@ -0,0 +1,15 @@ +package com.taxi.apidriver.remote; + +import com.internal.dto.ResponseResult; +import com.internal.request.PointRequest; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +@FeignClient("service-map") +public interface PointClient { + + @RequestMapping(method = RequestMethod.POST, value = "/upload") + ResponseResult pointUpload(@RequestBody PointRequest pointRequest); + + +} \ No newline at end of file diff --git a/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/remote/ServiceDriverUserClient.java b/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/remote/ServiceDriverUserClient.java index 4e1ff0b..ca9a68e 100644 --- a/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/remote/ServiceDriverUserClient.java +++ b/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/remote/ServiceDriverUserClient.java @@ -1,5 +1,6 @@ package com.taxi.apidriver.remote; +import com.internal.dto.Car; import com.internal.dto.DriverUser; import com.internal.dto.ResponseResult; import com.internal.response.DriverUserExistsResponse; @@ -18,4 +19,6 @@ public interface ServiceDriverUserClient { @RequestMapping(method = RequestMethod.GET,value = "/check-driver/{driverPhone}") ResponseResult getUser(@PathVariable("driverPhone") String driverPhone); + @RequestMapping(method = RequestMethod.GET,value = "/queryCar") + ResponseResult queryCar(@RequestParam Long carId); } diff --git a/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/service/PointService.java b/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/service/PointService.java new file mode 100644 index 0000000..2af8aa3 --- /dev/null +++ b/online-taxi-public/api-driver/src/main/java/com/taxi/apidriver/service/PointService.java @@ -0,0 +1,35 @@ +package com.taxi.apidriver.service; + +import com.internal.dto.Car; +import com.internal.dto.ResponseResult; +import com.internal.request.PointRequest; +import com.internal.response.ApiDriverPointRequest; +import com.taxi.apidriver.remote.PointClient; +import com.taxi.apidriver.remote.ServiceDriverUserClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class PointService { + + @Autowired + private PointClient pointClient; + @Autowired + private ServiceDriverUserClient serviceDriverUserClient; + + public ResponseResult pointUpload(ApiDriverPointRequest apiDriverPointRequest){ + //获取carId + Long carId = apiDriverPointRequest.getCarId(); + //根据carid 获取tid,trid + ResponseResult car = serviceDriverUserClient.queryCar(carId); + String tid = car.getData().getTid(); + String trid = car.getData().getTrid(); + //地图上传 + PointRequest pointRequest = new PointRequest(); + pointRequest.setTid(tid); + pointRequest.setTrid(trid); + pointRequest.setPoints(null); + pointClient.pointUpload(pointRequest); + return ResponseResult.success(); + } +} diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/response/ApiDriverPointRequest.java b/online-taxi-public/internal-common/src/main/java/com/internal/response/ApiDriverPointRequest.java new file mode 100644 index 0000000..a8dceb7 --- /dev/null +++ b/online-taxi-public/internal-common/src/main/java/com/internal/response/ApiDriverPointRequest.java @@ -0,0 +1,11 @@ +package com.internal.response; + +import com.internal.request.PointDTO; +import lombok.Data; + +@Data +public class ApiDriverPointRequest { + private Long carId; + + private PointDTO[] points; +} diff --git a/online-taxi-public/service-driver-user/src/main/java/com/taxi/servicedriveruser/controller/CarController.java b/online-taxi-public/service-driver-user/src/main/java/com/taxi/servicedriveruser/controller/CarController.java index 6f32dc7..85e06e3 100644 --- a/online-taxi-public/service-driver-user/src/main/java/com/taxi/servicedriveruser/controller/CarController.java +++ b/online-taxi-public/service-driver-user/src/main/java/com/taxi/servicedriveruser/controller/CarController.java @@ -5,9 +5,7 @@ import com.internal.dto.Car; import com.internal.dto.ResponseResult; import com.taxi.servicedriveruser.service.CarService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** *

@@ -28,4 +26,9 @@ public class CarController { return carService.addCar(car); } + @GetMapping("/queryCar") + public ResponseResult queryCar(@RequestParam Long carId){ + return carService.queryCar(carId); + } + } diff --git a/online-taxi-public/service-driver-user/src/main/java/com/taxi/servicedriveruser/service/CarService.java b/online-taxi-public/service-driver-user/src/main/java/com/taxi/servicedriveruser/service/CarService.java index 67cac09..3dbbb18 100644 --- a/online-taxi-public/service-driver-user/src/main/java/com/taxi/servicedriveruser/service/CarService.java +++ b/online-taxi-public/service-driver-user/src/main/java/com/taxi/servicedriveruser/service/CarService.java @@ -10,6 +10,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @Service public class CarService { @@ -41,4 +44,14 @@ public class CarService { return ResponseResult.success(); } + + public ResponseResult queryCar(Long carId){ + Map queryMap = new HashMap<>(); + queryMap.put("id",carId); + List carList = carMapper.selectByMap(queryMap); + if(carList.size() > 0){ + return ResponseResult.success(carList.get(0)); + } + return ResponseResult.success(); + } } diff --git a/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/PointClient.java b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/PointClient.java index 9ebb8c2..c12ccee 100644 --- a/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/PointClient.java +++ b/online-taxi-public/service-map/src/main/java/com/taxi/servicemap/remote/PointClient.java @@ -2,7 +2,6 @@ package com.taxi.servicemap.remote; import com.internal.contant.AmapConfigConstant; import com.internal.dto.ResponseResult; -import com.internal.dto.TrackResponse; import com.internal.request.PointDTO; import com.internal.request.PointRequest; import net.sf.json.JSONArray; @@ -11,12 +10,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; -import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.client.RestTemplate; - -import java.net.URI; import java.util.HashMap; @Service