From d388e2788b7ef088d7cd40f901b0acdcec460bc3 Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Thu, 01 Apr 2021 00:19:23 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java | 137 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 129 insertions(+), 8 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..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,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.hive.bean.ShoppingGoodsCategory; +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 io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; @@ -17,6 +31,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -34,6 +50,12 @@ @Autowired private ShoppingGoodsService shoppingGoodsService; + @Autowired + private SysOrderService sysOrderService; + + @Autowired + private SysShopInfoDao shopInfoDao; + @ApiOperation(value = "获取商品类型列表", notes = "获取商品类型列表") @ApiResponses({ @ApiResponse(code = 200, message = "ok", response = ShoppingGoodsCategory.class) @@ -42,9 +64,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 = "获取商品列表") @@ -53,13 +83,104 @@ }) @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)); } - @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