From 4536a68f86f50e09032066e00e9e3cacf366cbd4 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 23 Jun 2021 11:02:33 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java |  176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 170 insertions(+), 6 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 966de14..67a8262 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,22 +1,186 @@
 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.*;
+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;
+import com.matrix.system.hive.service.SysOrderService;
 import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * @author wzy
  * @date 2020-12-21
  **/
 @Api(value = "ApiOrderAction", tags = "订单接口类")
+@RestController
 @RequestMapping(value = "/api/order")
 public class ApiOrderAction {
 
+    @Autowired
+    private ShoppingGoodsCategoryService shoppingGoodsCategoryService;
 
-    @PostMapping(value = "/createOrder")
-    public AjaxResult createOrder() {
-        return null;
+    @Autowired
+    private ShoppingGoodsService shoppingGoodsService;
+
+    @Autowired
+    private SysOrderService sysOrderService;
+
+    @Autowired
+    private SysShopInfoDao shopInfoDao;
+
+    @ApiOperation(value = "获取商品类型列表", notes = "获取商品类型列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = ShoppingGoodsCategory.class)
+    })
+    @GetMapping(value = "/findShoppingGoodsType")
+    public AjaxResult findShoppingGoodsType() {
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
+        SysShopInfo zbShop = shopInfoDao.selectZbShop(user.getCompanyId());
+        ShoppingGoodsCategory category = new ShoppingGoodsCategory();
+        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 = "获取商品列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = ShoppingGoodsListVo.class)
+    })
+    @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));
+    }
+
+
+    @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