فهرست منبع

fix: order加入了一些商品的属性

DingXiaoYu 2 سال پیش
والد
کامیت
cea672cd79

+ 5 - 0
src/main/java/com/seecoder/BlueWhale/controller/OrderController.java

@@ -26,6 +26,11 @@ public class OrderController {
         return ResultVO.buildSuccess(orderService.getAllOrders());
     }
 
+    @GetMapping("/{id}")
+    public ResultVO<OrderVO> getOrder(@PathVariable(value = "id")Integer id){
+        return ResultVO.buildSuccess(orderService.getOrder(id));
+    }
+
     @PostMapping("/pay")
     public ResultVO<Boolean> pay(@RequestParam("orderId") Integer orderId){
         return ResultVO.buildSuccess(orderService.pay(orderId));

+ 0 - 2
src/main/java/com/seecoder/BlueWhale/service/CouponService.java

@@ -1,7 +1,5 @@
 package com.seecoder.BlueWhale.service;
 
-import com.seecoder.BlueWhale.po.CouponGroup;
-
 public interface CouponService {
 
 }

+ 3 - 2
src/main/java/com/seecoder/BlueWhale/service/OrderService.java

@@ -1,12 +1,13 @@
 package com.seecoder.BlueWhale.service;
 
-import java.util.List;
-
 import com.seecoder.BlueWhale.vo.OrderVO;
 
+import java.util.List;
+
 public interface OrderService {
     OrderVO create(OrderVO orderVO);
     List<OrderVO> getAllOrders();
+    OrderVO getOrder(Integer id);
     Boolean pay(Integer orderId);
     Boolean deliver(Integer orderId);
     Boolean get(Integer orderId);

+ 16 - 3
src/main/java/com/seecoder/BlueWhale/serviceImpl/OrderServiceImpl.java

@@ -41,14 +41,19 @@ public class OrderServiceImpl implements OrderService {
         order.setStatus(OrderStatusEnum.UNPAID);
         order.setCreateTime(new Date());
         orderRepository.save(order);
-        return order.toVO();
+        return wrapWithProductId(order.toVO());
     }
 
     @Override
     public List<OrderVO> getAllOrders() {
         int userId=securityUtil.getCurrentUser().getId();
         List<Order> orders = orderRepository.findByUserId(userId);
-        return orders.stream().map(Order::toVO).collect(Collectors.toList());
+        return orders.stream().map(x->wrapWithProductId(x.toVO())).collect(Collectors.toList());
+    }
+
+    @Override
+    public OrderVO getOrder(Integer id) {
+        return wrapWithProductId(orderRepository.findById(id).get().toVO());
     }
 
     @Override
@@ -130,5 +135,13 @@ public class OrderServiceImpl implements OrderService {
         storeRepository.save(store);
         return true;
     }
-    
+
+    private OrderVO wrapWithProductId(OrderVO orderVO){
+        Integer productId=orderVO.getProductId();
+        Product product=productRepository.findById(productId).get();
+        orderVO.setProductName(product.getName());
+        orderVO.setPrice(product.getPrice());
+        orderVO.setStoreId(product.getStoreId());
+        return orderVO;
+    }
 }

+ 6 - 0
src/main/java/com/seecoder/BlueWhale/vo/OrderVO.java

@@ -37,6 +37,12 @@ public class OrderVO {
 
     private Date finishTime;
 
+    private String productName;
+
+    private Integer storeId;
+
+    private Double price;
+
     public Order toPO(){
         Order order=new Order();
         order.setAmount(this.amount);