From cc74efb36fd1f1de56b3acb2ba59d4b416eaed4f Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Tue, 19 Jan 2021 00:23:21 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 109 insertions(+), 4 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java
index c17e4c4..50fb898 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java
@@ -1,14 +1,28 @@
 package com.matrix.system.app.action;
 
 import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
 import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.dto.CreateOderItemDto;
+import com.matrix.system.app.dto.CreateOrderDto;
+import com.matrix.system.app.dto.OrderListDto;
 import com.matrix.system.app.dto.ShoppingGoodsListDto;
+import com.matrix.system.app.vo.OrderDetailVo;
+import com.matrix.system.app.vo.ShoppingGoodsDetailVo;
 import com.matrix.system.app.vo.ShoppingGoodsListVo;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.tools.DataAuthUtil;
+import com.matrix.system.hive.action.util.QueryUtil;
 import com.matrix.system.hive.bean.ShoppingGoodsCategory;
+import com.matrix.system.hive.bean.SysOrder;
+import com.matrix.system.hive.plugin.util.CollectionUtils;
+import com.matrix.system.hive.pojo.ShoppingCarItem;
+import com.matrix.system.hive.pojo.ShoppingCarItemsVo;
 import com.matrix.system.hive.service.ShoppingGoodsCategoryService;
 import com.matrix.system.hive.service.ShoppingGoodsService;
+import com.matrix.system.hive.service.SysOrderService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -17,6 +31,7 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -33,6 +48,9 @@
 
     @Autowired
     private ShoppingGoodsService shoppingGoodsService;
+
+    @Autowired
+    private SysOrderService sysOrderService;
 
     @ApiOperation(value = "获取商品类型列表", notes = "获取商品类型列表")
     @ApiResponses({
@@ -57,9 +75,96 @@
         return AjaxResult.buildSuccessInstance(shoppingGoodsService.findShoppingGoodsListForApi(shoppingGoodsListDto), shoppingGoodsService.findShoppingGoodsListTotalForApi(shoppingGoodsListDto));
     }
 
-    @PostMapping(value = "/createOrder")
-    public AjaxResult createOrder() {
-        return null;
+
+    @ApiOperation(value = "获取商品详情", notes = "获取商品详情")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = ShoppingGoodsDetailVo.class)
+    })
+    @GetMapping(value = "/findGoodsDetailById/{goodsId}")
+    public AjaxResult findGoodsDetailById(@PathVariable("goodsId") Long goodsId) {
+        ShoppingGoodsDetailVo goodsDetail = shoppingGoodsService.findApiShoppingGoodsDetailById(goodsId);
+        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+        ajaxResult.putInMap("goods", goodsDetail);
+        return ajaxResult;
     }
 
-}
+
+    @ApiOperation(value = "创建订单", notes = "创建订单")
+    @PostMapping(value = "/createOrder")
+    public AjaxResult createOrder(@RequestBody @Validated CreateOrderDto createOrderDto) {
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
+        ShoppingCarItemsVo car = new ShoppingCarItemsVo();
+        car.setVipId(createOrderDto.getVipId());
+
+        if (CollectionUtils.isNotEmpty(createOrderDto.getItems())) {
+            List<ShoppingCarItem> list = new ArrayList<>();
+            for (CreateOderItemDto item : createOrderDto.getItems()) {
+                ShoppingCarItem carItem = new ShoppingCarItem();
+                carItem.setCount(item.getCount());
+                carItem.setGoodsId(item.getGoodsId());
+                carItem.setIsFree(item.getIsFree());
+                carItem.setType(item.getGoodsType());
+
+                carItem.setShoppingGoods(shoppingGoodsService.findById(item.getGoodsId()));
+                list.add(carItem);
+            }
+            car.setCarItems(list);
+        }
+        int i = sysOrderService.createOrder(WebUtil.getSession(), car);
+        if (i > 0) {
+            return AjaxResult.buildSuccessInstance("下单成功");
+        }
+
+        return AjaxResult.buildFailInstance("下单失败");
+    }
+
+    @ApiOperation(value = "获取订单列表", notes = "获取订单列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = OrderDetailVo.class)
+    })
+    @PostMapping(value = "/findOrderList")
+    public AjaxResult findOrderList(@RequestBody @Validated OrderListDto orderListDto) {
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        int offset = (orderListDto.getPageNum() - 1) * orderListDto.getPageSize();
+        int limit = orderListDto.getPageSize();
+        PaginationVO pageVo = new PaginationVO();
+        pageVo.setOffset(offset);
+        pageVo.setLimit(limit);
+
+        if (!DataAuthUtil.hasAllShopAuth()) {
+            orderListDto.setShopId(user.getShopId());
+        }
+        QueryUtil.setQueryLimitCom(orderListDto);
+        return AjaxResult.buildSuccessInstance(sysOrderService.findApiOrderListInPage(orderListDto, pageVo), sysOrderService.findApiOrderListTotal(orderListDto));
+    }
+
+    @ApiOperation(value = "获取订单详情", notes = "获取订单详情")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = OrderDetailVo.class)
+    })
+    @GetMapping(value = "/findOrderDetail/{orderId}")
+    public AjaxResult findOrderDetail(@PathVariable("orderId") Long orderId) {
+        OrderDetailVo orderDetail = sysOrderService.findApiOrderDetailByOrderId(orderId);
+        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+        ajaxResult.putInMap("orderDetail", orderDetail);
+        return ajaxResult;
+    }
+
+    @ApiOperation(value = "取消订单", notes = "取消订单")
+    @GetMapping(value = "/cancelOrder/{orderId}")
+    public AjaxResult cancelOrder(@PathVariable("orderId") Long orderId) {
+        SysOrder order = sysOrderService.findById(orderId);
+        if (order == null) {
+            throw new GlobleException("订单不存在");
+        }
+
+
+        int i = sysOrderService.cancelOrder(orderId);
+        if (i > 0) {
+            return AjaxResult.buildSuccessInstance("取消成功");
+        }
+        return AjaxResult.buildFailInstance("取消失败");
+    }
+
+}
\ No newline at end of file

--
Gitblit v1.9.1