소스 검색

mall + trade:
1、获取订单结算信息,增加门店自提编号

YunaiV 2 년 전
부모
커밋
6206dd94e2

+ 3 - 3
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java

@@ -66,9 +66,9 @@ public class AppTradeOrderController {
     @PostMapping("/create")
     @Operation(summary = "创建订单")
     @PreAuthenticated
-    public CommonResult<Long> createOrder(@RequestBody AppTradeOrderCreateReqVO createReqVO) {
-        Long orderId = tradeOrderService.createOrder(getLoginUserId(), getClientIP(), createReqVO);
-        return success(orderId);
+    public CommonResult<AppTradeOrderCreateRespVO> createOrder(@RequestBody AppTradeOrderCreateReqVO createReqVO) {
+        TradeOrderDO order = tradeOrderService.createOrder(getLoginUserId(), getClientIP(), createReqVO);
+        return success(new AppTradeOrderCreateRespVO().setId(order.getId()).setPayOrderId(order.getPayOrderId()));
     }
 
     @PostMapping("/update-paid")

+ 16 - 0
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderCreateRespVO.java

@@ -0,0 +1,16 @@
+package cn.iocoder.yudao.module.trade.controller.app.order.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "用户 App - 交易订单创建 Response VO")
+@Data
+public class AppTradeOrderCreateRespVO {
+
+    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
+    private Long id;
+
+    @Schema(description = "支付订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
+    private Long payOrderId;
+
+}

+ 2 - 0
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderSettlementReqVO.java

@@ -43,6 +43,8 @@ public class AppTradeOrderSettlementReqVO {
     @Schema(description = "收件地址编号", example = "1")
     private Long addressId;
 
+    @Schema(description = "自提门店编号", example = "1088")
+    private Long pickupStoreId;
     @Schema(description = "收件人名称", example = "芋艿") // 选择门店自提时,该字段为联系人名
     private String receiverName;
     @Schema(description = "收件人手机", example = "15601691300") // 选择门店自提时,该字段为联系人手机

+ 1 - 0
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java

@@ -197,6 +197,7 @@ public class TradeOrderDO extends BaseDO {
      */
     private LocalDateTime deliveryTime;
 
+    // TODO @芋艿:pickUpStoreId;
     /**
      * 收货时间
      */

+ 2 - 2
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderService.java

@@ -40,9 +40,9 @@ public interface TradeOrderService {
      * @param userId 登录用户
      * @param userIp 用户 IP 地址
      * @param createReqVO 创建交易订单请求模型
-     * @return 交易订单的编号
+     * @return 交易订单的
      */
-    Long createOrder(Long userId, String userIp, AppTradeOrderCreateReqVO createReqVO);
+    TradeOrderDO createOrder(Long userId, String userIp, AppTradeOrderCreateReqVO createReqVO);
 
     /**
      * 更新交易订单已支付

+ 3 - 2
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceImpl.java

@@ -152,7 +152,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Long createOrder(Long userId, String userIp, AppTradeOrderCreateReqVO createReqVO) {
+    public TradeOrderDO createOrder(Long userId, String userIp, AppTradeOrderCreateReqVO createReqVO) {
         // 1. 用户收件地址的校验
         AddressRespDTO address = validateAddress(userId, createReqVO.getAddressId());
 
@@ -167,7 +167,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
         // 订单创建完后的逻辑
         afterCreateTradeOrder(userId, createReqVO, order, orderItems, calculateRespBO);
         // TODO @LeeYan9: 是可以思考下, 订单的营销优惠记录, 应该记录在哪里, 微信讨论起来!
-        return order.getId();
+        return order;
     }
 
     /**
@@ -250,6 +250,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
 
         // 更新到交易单上
         tradeOrderMapper.updateById(new TradeOrderDO().setId(order.getId()).setPayOrderId(payOrderId));
+        order.setPayOrderId(payOrderId);
     }
 
     @Override