From 68defbe491894e01c4402922de33c39633fca091 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 29 Mar 2022 14:25:54 +0800
Subject: [PATCH] 系统名称

---
 zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java |   73 +++++++++++++++++++++++++-----------
 1 files changed, 51 insertions(+), 22 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 4f7c62a..d8dc496 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,6 +1,7 @@
 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;
@@ -13,9 +14,13 @@
 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.bean.SysOrderItem;
+import com.matrix.system.hive.bean.SysShopInfo;
+import com.matrix.system.hive.dao.SysShopInfoDao;
 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;
@@ -49,6 +54,9 @@
     @Autowired
     private SysOrderService sysOrderService;
 
+    @Autowired
+    private SysShopInfoDao shopInfoDao;
+
     @ApiOperation(value = "获取商品类型列表", notes = "获取商品类型列表")
     @ApiResponses({
             @ApiResponse(code = 200, message = "ok", response = ShoppingGoodsCategory.class)
@@ -57,9 +65,17 @@
     public AjaxResult findShoppingGoodsType() {
         SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
 
+        SysShopInfo zbShop = shopInfoDao.selectZbShop(user.getCompanyId());
         ShoppingGoodsCategory category = new ShoppingGoodsCategory();
-        category.setShopId(user.getShopId());
-        return AjaxResult.buildSuccessInstance(shoppingGoodsCategoryService.findByModel(category));
+        category.setShopId(zbShop.getId());
+        List<ShoppingGoodsCategory> list = new ArrayList<>();
+        List<ShoppingGoodsCategory> byModel = shoppingGoodsCategoryService.findByModel(category);
+        ShoppingGoodsCategory type = new ShoppingGoodsCategory();
+        type.setName("全部");
+        type.setParentId(0L);
+        list.add(type);
+        list.addAll(byModel);
+        return AjaxResult.buildSuccessInstance(list);
     }
 
     @ApiOperation(value = "获取商品列表", notes = "获取商品列表")
@@ -68,7 +84,11 @@
     })
     @PostMapping(value = "/findShoppingGoods")
     public AjaxResult findShoppingGoods(@RequestBody @Validated ShoppingGoodsListDto shoppingGoodsListDto) {
-
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        if (!DataAuthUtil.hasAllShopAuth()) {
+            shoppingGoodsListDto.setShopId(user.getShopId());
+        }
+        QueryUtil.setQueryLimitCom(shoppingGoodsListDto);
         return AjaxResult.buildSuccessInstance(shoppingGoodsService.findShoppingGoodsListForApi(shoppingGoodsListDto), shoppingGoodsService.findShoppingGoodsListTotalForApi(shoppingGoodsListDto));
     }
 
@@ -89,31 +109,26 @@
     @ApiOperation(value = "创建订单", notes = "创建订单")
     @PostMapping(value = "/createOrder")
     public AjaxResult createOrder(@RequestBody @Validated CreateOrderDto createOrderDto) {
-        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
-
+        SysOrder order=new SysOrder();
+        order.setVipId(createOrderDto.getVipId());
         ShoppingCarItemsVo car = new ShoppingCarItemsVo();
         car.setVipId(createOrderDto.getVipId());
 
         if (CollectionUtils.isNotEmpty(createOrderDto.getItems())) {
-            List<ShoppingCarItem> list = new ArrayList<>();
+            List<SysOrderItem> 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);
+                SysOrderItem orderItem = new SysOrderItem();
+                orderItem.setCount(item.getCount());
+                orderItem.setGoodsId(item.getGoodsId());
+                orderItem.setIsFree(item.getIsFree());
+                //jyytodo 这个字段可以不传
+                orderItem.setType(item.getGoodsType());
+                list.add(orderItem);
             }
-            car.setCarItems(list);
+            order.setItems(list);
         }
-        int i = sysOrderService.createOrder(WebUtil.getSession(), car);
-        if (i > 0) {
-            return AjaxResult.buildSuccessInstance("下单成功");
-        }
-
-        return AjaxResult.buildFailInstance("下单失败");
+       sysOrderService.checkAndSaveOrder(order);
+       return AjaxResult.buildSuccessInstance("下单成功");
     }
 
     @ApiOperation(value = "获取订单列表", notes = "获取订单列表")
@@ -132,6 +147,7 @@
         if (!DataAuthUtil.hasAllShopAuth()) {
             orderListDto.setShopId(user.getShopId());
         }
+        QueryUtil.setQueryLimitCom(orderListDto);
         return AjaxResult.buildSuccessInstance(sysOrderService.findApiOrderListInPage(orderListDto, pageVo), sysOrderService.findApiOrderListTotal(orderListDto));
     }
 
@@ -147,4 +163,17 @@
         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("订单不存在");
+        }
+        sysOrderService.cancelOrder(orderId);
+
+        return AjaxResult.buildSuccessInstance("取消成功");
+
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.1