From 379697995cafa86719cefe70db7cc4df29c71198c1014fd2ae7210d2dd0e23ff Mon Sep 17 00:00:00 2001 From: yanglei Date: Thu, 8 Jan 2026 09:24:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E4=BD=8D=E7=BD=AE=E7=9A=84=E8=BF=90=E8=90=A5=E5=8C=BA?= =?UTF-8?q?=E5=8F=8A=E7=AB=99=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/clients/OperationsFeignClient.java | 3 +- .../controller/EbikeRegionController.java | 5 +- .../operations/mapper/EbikeRegionMapper.java | 10 +- .../service/EbikeRegionService.java | 2 +- .../service/impl/EbikeRegionServiceImpl.java | 10 +- .../impl/EbikeReportRecordServiceImpl.java | 3 +- .../resources/mapper/EbikeRegionMapper.xml | 91 ++++++++++++++----- .../user/controller/EbikeUserController.java | 12 ++- 8 files changed, 103 insertions(+), 33 deletions(-) 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()); }