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

feat: 添加了计算接口

DingXiaoYu 2 роки тому
батько
коміт
0cc260daf5

+ 7 - 2
src/main/java/com/seecoder/BlueWhale/controller/OrderController.java

@@ -32,8 +32,8 @@ public class OrderController {
     }
 
     @PostMapping("/pay")
-    public ResultVO<Boolean> pay(@RequestParam("orderId") Integer orderId){
-        return ResultVO.buildSuccess(orderService.pay(orderId));
+    public ResultVO<Boolean> pay(@RequestParam("orderId") Integer orderId,@RequestParam("couponId")Integer couponId){
+        return ResultVO.buildSuccess(orderService.pay(orderId,couponId));
     }
 
     @PostMapping("/deliver")
@@ -50,4 +50,9 @@ public class OrderController {
     public ResultVO<Boolean> comment(@RequestParam("orderId") Integer orderId, @RequestParam("comment") String comment, @RequestParam("rating") Integer rating){
         return ResultVO.buildSuccess(orderService.comment(orderId, comment, rating));
     }
+
+    @GetMapping("/calculate")
+    public ResultVO<Double> calculate(@RequestParam("orderId") Integer orderId,@RequestParam("couponId")Integer couponId){
+        return ResultVO.buildSuccess(orderService.calculate(orderId,couponId));
+    }
 }

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

@@ -8,8 +8,9 @@ public interface OrderService {
     OrderVO create(OrderVO orderVO);
     List<OrderVO> getAllOrders();
     OrderVO getOrder(Integer id);
-    Boolean pay(Integer orderId);
+    Boolean pay(Integer orderId,Integer couponId);
     Boolean deliver(Integer orderId);
     Boolean get(Integer orderId);
     Boolean comment(Integer orderId, String comment, Integer rating);
+    Double calculate(Integer orderId, Integer couponId);
 }

+ 9 - 4
src/main/java/com/seecoder/BlueWhale/serviceImpl/OrderServiceImpl.java

@@ -57,8 +57,7 @@ public class OrderServiceImpl implements OrderService {
     }
 
     @Override
-    //参数可能要加优惠券Id
-    public Boolean pay(Integer orderId) {
+    public Boolean pay(Integer orderId,Integer couponId) {
         Order order = orderRepository.findById(orderId).orElse(null);
         if(order == null){
             throw BlueWhaleException.orderNotExists();
@@ -67,8 +66,9 @@ public class OrderServiceImpl implements OrderService {
             throw BlueWhaleException.orderStatusError();
         }
         order.setStatus(OrderStatusEnum.UNSEND);
-        double price=productRepository.findById(order.getProductId()).get().getPrice();
-        order.setPaid(price*order.getAmount());
+        //double price=productRepository.findById(order.getProductId()).get().getPrice();
+        //order.setPaid(price*order.getAmount());
+        order.setPaid(calculate(orderId,couponId));
         orderRepository.save(order);
         return true;
     }
@@ -136,6 +136,11 @@ public class OrderServiceImpl implements OrderService {
         return true;
     }
 
+    @Override
+    public Double calculate(Integer orderId, Integer couponId) {
+        return 0.0;
+    }
+
     private OrderVO wrapWithProductId(OrderVO orderVO){
         Integer productId=orderVO.getProductId();
         Product product=productRepository.findById(productId).get();