diff --git a/ebike-feign/src/main/java/com/ebike/feign/clients/OperationsFeignClient.java b/ebike-feign/src/main/java/com/ebike/feign/clients/OperationsFeignClient.java index 378da9b..7208647 100644 --- a/ebike-feign/src/main/java/com/ebike/feign/clients/OperationsFeignClient.java +++ b/ebike-feign/src/main/java/com/ebike/feign/clients/OperationsFeignClient.java @@ -128,7 +128,8 @@ public interface OperationsFeignClient { */ @GetMapping("/ebikeRegion/api/getRegionByLocation") JsonResult getRegionByLocation(@RequestParam("lng") double lng, - @RequestParam("lat") double lat); + @RequestParam("lat") double lat, + @RequestParam("radius") double radius); /** * 生成退款审核单 diff --git a/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeRegionController.java b/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeRegionController.java index 6ded92a..cb46e4b 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeRegionController.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeRegionController.java @@ -271,10 +271,11 @@ public class EbikeRegionController { */ @GetMapping("/api/getRegionByLocation") public JsonResult getRegionByLocation(@RequestParam("lng") double lng, - @RequestParam("lat") double lat) { + @RequestParam("lat") double lat, + @RequestParam("radius") double radius) { GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326); Point location = geometryFactory.createPoint(new Coordinate(lng, lat)); - FeignEbikeRegionVo region = ebikeRegionService.getRegionByLocation(location); + FeignEbikeRegionVo region = ebikeRegionService.getRegionByLocation(location, radius); return JsonResult.success(region); } } diff --git a/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeRegionMapper.java b/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeRegionMapper.java index 9059c6d..885b746 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeRegionMapper.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeRegionMapper.java @@ -31,11 +31,19 @@ public interface EbikeRegionMapper extends BaseMapper { */ List findAllRegionsOrderByDistance(Point point); + /** + * 根据当前位置查询当前运营区及站点 + * + * @param point 用户当前位置 + * @return 运营区信息及站点信息 + */ + FeignEbikeRegionVo findCurrentRegion(Point point, double radius); + /** * 根据当前位置查询当前运营区 * * @param point 用户当前位置 * @return 运营区信息 */ - FeignEbikeRegionVo findCurrentRegion(Point point); + EbikeRegion findCurrentPointRegion(Point point); } diff --git a/ebike-operations/src/main/java/com/cdzy/operations/service/EbikeRegionService.java b/ebike-operations/src/main/java/com/cdzy/operations/service/EbikeRegionService.java index a4e4de8..c9ef37a 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/service/EbikeRegionService.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/service/EbikeRegionService.java @@ -45,5 +45,5 @@ public interface EbikeRegionService extends IService { * @param point 当前位置 * @return 运营区信息 */ - FeignEbikeRegionVo getRegionByLocation(Point point); + FeignEbikeRegionVo getRegionByLocation(Point point,double radius); } diff --git a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeRegionServiceImpl.java b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeRegionServiceImpl.java index 61dbbe2..629f334 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeRegionServiceImpl.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeRegionServiceImpl.java @@ -24,6 +24,8 @@ import org.locationtech.jts.geom.Point; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Objects; + import static com.cdzy.operations.model.entity.table.EbikeOperationConfigTableDef.EBIKE_OPERATION_CONFIG; import static com.cdzy.operations.model.entity.table.EbikeOperationLockConfigTableDef.EBIKE_OPERATION_LOCK_CONFIG; import static com.cdzy.operations.model.entity.table.EbikeOperationReturnConfigTableDef.EBIKE_OPERATION_RETURN_CONFIG; @@ -154,7 +156,11 @@ public class EbikeRegionServiceImpl extends ServiceImpl + + \ No newline at end of file diff --git a/ebike-user/src/main/java/com/cdzy/user/controller/EbikeUserController.java b/ebike-user/src/main/java/com/cdzy/user/controller/EbikeUserController.java index a89bbcf..c57e152 100644 --- a/ebike-user/src/main/java/com/cdzy/user/controller/EbikeUserController.java +++ b/ebike-user/src/main/java/com/cdzy/user/controller/EbikeUserController.java @@ -20,7 +20,12 @@ import com.fasterxml.jackson.databind.JsonNode; import com.mybatisflex.core.paginate.Page; import jakarta.annotation.Resource; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +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.RequestParam; +import org.springframework.web.bind.annotation.RestController; import java.util.Map; @@ -202,8 +207,9 @@ public class EbikeUserController { */ @GetMapping("getRegionByLocation") public JsonResult getRegionByLocation(@RequestParam("lng") double lng, - @RequestParam("lat") double lat) { - JsonResult jsonResult = operationsFeignClient.getRegionByLocation(lng, lat); + @RequestParam("lat") double lat, + @RequestParam("radius") double radius) { + JsonResult jsonResult = operationsFeignClient.getRegionByLocation(lng, lat, radius); if (jsonResult.getCode() != Code.SUCCESS) { throw new EbikeException(jsonResult.getMessage()); }