From 314b0a133817c6bf88122846792a40b992e25a54654767b16af87bce2e4553c0 Mon Sep 17 00:00:00 2001 From: yanglei Date: Fri, 7 Nov 2025 17:41:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E5=88=97=E8=A1=A8=E8=8E=B7?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/controller/EbikeOrderController.java | 18 ++++++++++++++++++ .../cdzy/user/service/EbikeOrderService.java | 17 +++++++++++++++++ .../cdzy/user/service/impl/EbikeOrderImpl.java | 16 ++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java b/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java index 7e42fc7..6769b20 100644 --- a/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java +++ b/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java @@ -5,7 +5,10 @@ import com.cdzy.common.model.response.JsonResult; import com.cdzy.user.model.dto.EbikeUserCyclingDto; import com.cdzy.user.model.entity.EbikeOrder; import com.cdzy.user.service.EbikeOrderService; +import com.ebike.feign.clients.OperationsFeignClient; +import com.ebike.feign.model.dto.FeignEbikeDto; import com.ebike.feign.model.dto.FeignOrderPaymentDto; +import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; @@ -13,6 +16,7 @@ import jakarta.validation.constraints.NotBlank; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Objects; import static com.cdzy.user.model.entity.table.EbikeOrderTableDef.EBIKE_ORDER; @@ -31,6 +35,9 @@ public class EbikeOrderController { @Resource private EbikeOrderService ebikeOrderService; + @Resource + private OperationsFeignClient operationsFeignClient; + /** * 开始骑行(生成订单、开锁) * @@ -154,4 +161,15 @@ public class EbikeOrderController { return JsonResult.success(page); } + /** + * 车辆列表 + * + * @param feignEbikeBikeRadiusVo 坐标信息 + * @ {@code 200} 添加成功,{@code 500} 添加失败 + */ + @PostMapping("bikeList") + public JsonResult bikeList(@RequestBody @Validated FeignEbikeBikeRadiusVo feignEbikeBikeRadiusVo) { + List result = ebikeOrderService.userRadiusList(feignEbikeBikeRadiusVo); + return JsonResult.success(result); + } } diff --git a/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderService.java b/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderService.java index fcdd744..03e01d7 100644 --- a/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderService.java +++ b/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderService.java @@ -2,9 +2,13 @@ package com.cdzy.user.service; import com.cdzy.user.model.dto.EbikeUserCyclingDto; import com.cdzy.user.model.entity.EbikeOrder; +import com.ebike.feign.model.dto.FeignEbikeDto; import com.ebike.feign.model.dto.FeignOrderPaymentDto; +import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo; import com.mybatisflex.core.service.IService; +import java.util.List; + /** * 用户订单 服务层 * @@ -31,38 +35,51 @@ public interface EbikeOrderService extends IService { /** * 订单支付 + * * @param orderPaymentDto 订单支付信息 */ void payment(FeignOrderPaymentDto orderPaymentDto); /** * 订单发起退款 + * * @param orderId 订单ID */ void refundApply(Long orderId); /** * 订单退款 + * * @param orderId 订单ID */ void refund(Long orderId); /** * 订单退款完成 + * * @param orderId 订单ID */ void doneRefund(Long orderId); /** * 订单退款失败 + * * @param orderId 订单ID */ void failRefund(Long orderId); /** * 订单退款驳回 + * * @param orderId 订单ID */ void rejectRefund(Long orderId); + /** + * 获取半径内车辆信息 + * + * @param feignEbikeBikeRadiusVo 半径内查询参数 + * @return 所有车辆信息 + */ + List userRadiusList(FeignEbikeBikeRadiusVo feignEbikeBikeRadiusVo); } diff --git a/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderImpl.java b/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderImpl.java index ddf6713..57db548 100644 --- a/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderImpl.java +++ b/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderImpl.java @@ -1,6 +1,9 @@ package com.cdzy.user.service.impl; import com.cdzy.common.enums.BikeUsageStatus; +import com.cdzy.common.enums.Code; +import com.cdzy.common.ex.EbikeException; +import com.cdzy.common.model.response.JsonResult; import com.cdzy.user.enums.OrderStatus; import com.cdzy.user.mapper.EbikeOrderMapper; import com.cdzy.user.model.dto.EbikeUserCyclingDto; @@ -8,14 +11,18 @@ import com.cdzy.user.model.entity.EbikeOrder; import com.cdzy.user.service.EbikeOrderService; import com.cdzy.user.utils.RedisUtil; import com.ebike.feign.clients.OperationsFeignClient; +import com.ebike.feign.model.dto.FeignEbikeDto; import com.ebike.feign.model.dto.FeignOrderPaymentDto; import com.ebike.feign.model.vo.FeignEbikeBikeInfoVo; +import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo; import com.fasterxml.jackson.databind.ObjectMapper; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; +import java.util.List; + import static com.cdzy.user.model.entity.table.EbikeOrderTableDef.EBIKE_ORDER; @@ -155,6 +162,15 @@ public class EbikeOrderImpl extends ServiceImpl im updateOrderStatus(orderId, OrderStatus.REFUND_APPLYING, OrderStatus.REFUND_REJECTED); } + @Override + public List userRadiusList(FeignEbikeBikeRadiusVo feignEbikeBikeRadiusVo) { + JsonResult> jsonResult = operationsFeignClient.userRadiusList(feignEbikeBikeRadiusVo); + if (jsonResult.getCode() != Code.SUCCESS) { + throw new EbikeException("获取半径内车辆错误"); + } + return jsonResult.getData(); + } + /** * 校验车辆是否可用 *