diff --git a/ebike-feign/src/main/java/com/ebike/feign/clients/UserFeignClient.java b/ebike-feign/src/main/java/com/ebike/feign/clients/UserFeignClient.java index b9a641b..bbb8b6c 100644 --- a/ebike-feign/src/main/java/com/ebike/feign/clients/UserFeignClient.java +++ b/ebike-feign/src/main/java/com/ebike/feign/clients/UserFeignClient.java @@ -4,6 +4,7 @@ import com.cdzy.common.model.response.JsonResult; import com.ebike.feign.component.FeignTokenInterceptor; import com.ebike.feign.config.ExampleFeignConfiguration; import com.ebike.feign.model.dto.FeignEbikeOrderStatisticsDto; +import com.ebike.feign.model.dto.FeignEbikePaymentAmountDto; import com.ebike.feign.model.vo.FeignEbikeRefundOrderDetailVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; @@ -38,4 +39,12 @@ public interface UserFeignClient { */ @PostMapping("/ebikeOrder/api/getOrderStatistics") JsonResult getOrderStatistics(@RequestBody @Validated FeignEbikeOrderStatisticsDto dto); + + /** + * 根据车辆编号修改当前订单的金额 + * + * @param dto 请求参数 + */ + @PostMapping("/ebikeOrder/api/updateOrderAmount") + JsonResult updateOrderAmount(@RequestBody @Validated FeignEbikePaymentAmountDto dto); } diff --git a/ebike-feign/src/main/java/com/ebike/feign/model/dto/FeignEbikePaymentAmountDto.java b/ebike-feign/src/main/java/com/ebike/feign/model/dto/FeignEbikePaymentAmountDto.java new file mode 100644 index 0000000..e6dad84 --- /dev/null +++ b/ebike-feign/src/main/java/com/ebike/feign/model/dto/FeignEbikePaymentAmountDto.java @@ -0,0 +1,27 @@ +package com.ebike.feign.model.dto; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * @author yanglei + * @since 2026-02-09 14:44 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class FeignEbikePaymentAmountDto { + + @NotBlank(message = "车辆编号不能为空") + private String bikeCode; + + @NotNull(message = "价格不能为空") + private BigDecimal price; +} diff --git a/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeStatisticsController.java b/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeStatisticsController.java index 1f5176d..281ee64 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeStatisticsController.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeStatisticsController.java @@ -7,6 +7,7 @@ import com.cdzy.common.model.response.CommonStaffInfo; import com.cdzy.common.model.response.JsonResult; import com.ebike.feign.clients.UserFeignClient; import com.ebike.feign.model.dto.FeignEbikeOrderStatisticsDto; +import com.ebike.feign.model.dto.FeignEbikePaymentAmountDto; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; @@ -58,4 +59,18 @@ public class EbikeStatisticsController { return JsonResult.success(jsonResult.getData()); } + /** + * 根据车辆编号修改当前订单金额 + * + * @param dto 车辆请求参数 + */ + @PostMapping("updateOrderAmount") + public JsonResult updateOrderAmount(@RequestBody @Validated FeignEbikePaymentAmountDto dto) { + JsonResult jsonResult = userFeignClient.updateOrderAmount(dto); + if (jsonResult.getCode() != Code.SUCCESS) { + throw new EbikeException(jsonResult.getMessage()); + } + return JsonResult.success(); + } + } 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 d99b6f5..85de61a 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 @@ -15,6 +15,7 @@ import com.cdzy.user.service.EbikeOrderService; import com.ebike.feign.clients.PaymentFeignClient; import com.ebike.feign.model.dto.FeignEbikeDto; import com.ebike.feign.model.dto.FeignEbikeOrderStatisticsDto; +import com.ebike.feign.model.dto.FeignEbikePaymentAmountDto; import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo; import com.ebike.feign.model.vo.FeignEbikeOrderStatisticsVo; import com.ebike.feign.model.vo.FeignEbikeWxHandleNotifyVo; @@ -171,4 +172,16 @@ public class EbikeOrderController { FeignEbikeOrderStatisticsVo result = ebikeOrderService.getOrderStatistics(dto); return JsonResult.success(result); } + + + /** + * 根据车辆编号修改订单金额 + * + * @param paymentAmountDto 车辆编号 + */ + @PostMapping("/api/updateOrderAmount") + public JsonResult updateOrderAmount(@RequestBody @Validated FeignEbikePaymentAmountDto paymentAmountDto) { + ebikeOrderService.updateOrderAmount(paymentAmountDto); + return JsonResult.success(); + } } 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 36095a2..56f7b0f 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 @@ -11,6 +11,7 @@ import com.cdzy.user.model.vo.EbikeRevenueStatisticsVo; import com.cdzy.user.model.vo.EbikeUserAllOrdersVo; import com.ebike.feign.model.dto.FeignEbikeDto; import com.ebike.feign.model.dto.FeignEbikeOrderStatisticsDto; +import com.ebike.feign.model.dto.FeignEbikePaymentAmountDto; import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo; import com.ebike.feign.model.vo.FeignEbikeOrderStatisticsVo; import com.mybatisflex.core.paginate.Page; @@ -112,6 +113,7 @@ public interface EbikeOrderService extends IService { /** * 根据订单id查看订单详情 + * * @param orderId 订单id * @return 订单详情 */ @@ -133,4 +135,11 @@ public interface EbikeOrderService extends IService { * @return 退款订单详情 */ EbikeRefundApplyOrderBaseInfoVo getOrderDetail(Long orderId); + + /** + * 根据车辆编号修改订单金额 + * + * @param paymentAmountDto 车辆编号 + */ + void updateOrderAmount(FeignEbikePaymentAmountDto paymentAmountDto); } diff --git a/ebike-user/src/main/java/com/cdzy/user/service/EbikePaymentService.java b/ebike-user/src/main/java/com/cdzy/user/service/EbikePaymentService.java index 25f80e8..5fb1dd5 100644 --- a/ebike-user/src/main/java/com/cdzy/user/service/EbikePaymentService.java +++ b/ebike-user/src/main/java/com/cdzy/user/service/EbikePaymentService.java @@ -3,6 +3,8 @@ package com.cdzy.user.service; import com.cdzy.user.model.entity.EbikePayment; import com.mybatisflex.core.service.IService; +import java.math.BigDecimal; + /** * 用户支付 服务层 * @@ -19,4 +21,12 @@ public interface EbikePaymentService extends IService { * @return 用户支付订单 */ EbikePayment queryPaymentInfo(Long orderId); + + /** + * 修改支付订单的支付金额 + * + * @param orderId 订单id + * @param price 金额 + */ + void updateCostPrice(Long orderId, BigDecimal price); } diff --git a/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderServiceImpl.java b/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderServiceImpl.java index 7008dde..8da71c0 100644 --- a/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderServiceImpl.java +++ b/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderServiceImpl.java @@ -33,6 +33,7 @@ import com.cdzy.user.utils.StringUtils; import com.ebike.feign.clients.OperationsFeignClient; import com.ebike.feign.model.dto.FeignEbikeDto; import com.ebike.feign.model.dto.FeignEbikeOrderStatisticsDto; +import com.ebike.feign.model.dto.FeignEbikePaymentAmountDto; import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo; import com.ebike.feign.model.dto.FeignEbikeUserLockDto; import com.ebike.feign.model.vo.EbikeLockVo; @@ -40,6 +41,7 @@ import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo; import com.ebike.feign.model.vo.FeignEbikeOrderStatisticsVo; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; +import com.mybatisflex.core.update.UpdateChain; import com.mybatisflex.spring.service.impl.ServiceImpl; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -411,6 +413,27 @@ public class EbikeOrderServiceImpl extends ServiceImpl