Переглянути джерело

BuyDto 中添加 owner 字段

reghao 1 рік тому
батько
коміт
c8f02c823b

+ 7 - 1
content/content-service/src/main/java/cn/reghao/tnb/content/app/mall/service/BuyService.java

@@ -41,8 +41,14 @@ public class BuyService {
         long productId = buyItem.getItemId();
         int amount = buyItem.getNum();
         Product product = productMapper.findByItemId(productId);
+        int stock = product.getStock();
+        if (amount > stock) {
+            // 库存不足
+            return -1;
+        }
+
         double price = product.getPrice();
-        BuyDto buyDto = new BuyDto(productId, price, amount, deliveryId);
+        BuyDto buyDto = new BuyDto(productId, price, amount, deliveryId, UserContext.getUser());
 
         // TODO 创建订单和修改库存是一个分布式事务
         long orderId = newOrderService.createOrder(buyDto);

+ 1 - 0
file/file-api/src/main/java/cn/reghao/file/api/dto/BuyDto.java

@@ -21,4 +21,5 @@ public class BuyDto implements Serializable {
     private double price;
     private int amount;
     private long deliveryId;
+    private long owner;
 }

+ 1 - 1
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/Order.java

@@ -32,7 +32,7 @@ public class Order extends BaseObject<Integer> {
         this.productId = buyDto.getProductId();
         this.price = buyDto.getPrice();
         this.amount = buyDto.getAmount();
-        this.owner = UserContext.getUser();
+        this.owner = buyDto.getOwner();
         this.status = OrderStatus.toPay.getCode();
     }
 }