From 84b8fc407854adfe0cbd1d73c0fb8ee1578fc88d Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 23 Dec 2020 17:23:56 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/app/dto/CreateOrderDto.java | 39 +++++++++++++ zq-erp/src/main/java/com/matrix/system/app/dto/CreateOderItemDto.java | 63 +++++++++++++++++++++ zq-erp/src/main/java/com/matrix/system/hive/pojo/ShoppingCarItemsVo.java | 12 +++ zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsListVo.java | 11 +++ zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java | 38 ++++++++++++ zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml | 3 6 files changed, 161 insertions(+), 5 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..c2b6098 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 @@ -3,12 +3,18 @@ import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; 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.ShoppingGoodsListDto; 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.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 +23,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; /** @@ -33,6 +40,9 @@ @Autowired private ShoppingGoodsService shoppingGoodsService; + + @Autowired + private SysOrderService sysOrderService; @ApiOperation(value = "获取商品类型列表", notes = "获取商品类型列表") @ApiResponses({ @@ -57,9 +67,33 @@ return AjaxResult.buildSuccessInstance(shoppingGoodsService.findShoppingGoodsListForApi(shoppingGoodsListDto), shoppingGoodsService.findShoppingGoodsListTotalForApi(shoppingGoodsListDto)); } + @ApiOperation(value = "创建订单", notes = "创建订单") @PostMapping(value = "/createOrder") - public AjaxResult createOrder() { - return null; + 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); + } + } + int i = sysOrderService.createOrder(WebUtil.getSession(), car); + if (i > 0) { + return AjaxResult.buildSuccessInstance("下单成功"); + } + + return AjaxResult.buildFailInstance("下单失败"); } } diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/CreateOderItemDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/CreateOderItemDto.java new file mode 100644 index 0000000..9ff080f --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/app/dto/CreateOderItemDto.java @@ -0,0 +1,63 @@ +package com.matrix.system.app.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * @author wzy + * @date 2020-12-23 + **/ +@ApiModel(value = "CreateOderItemDto", description = "提交订单明细接收类") +public class CreateOderItemDto { + + @NotNull(message = "商品ID不能为空") + @ApiModelProperty(value = "商品ID", example = "1234") + private Long goodsId; + + @NotNull(message = "数量不能为空") + @ApiModelProperty(value = "购买数量", example = "1") + private Integer count; + + @NotNull(message = "参数错误") + @ApiModelProperty(value = "是否赠送 是/否", example = "否") + private String isFree; + + @NotNull(message = "参数错误") + @ApiModelProperty(value = "商品类型", example = "家居产品") + private String goodsType; + + public String getGoodsType() { + return goodsType; + } + + public void setGoodsType(String goodsType) { + this.goodsType = goodsType; + } + + public Long getGoodsId() { + return goodsId; + } + + public void setGoodsId(Long goodsId) { + this.goodsId = goodsId; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public String getIsFree() { + return isFree; + } + + public void setIsFree(String isFree) { + this.isFree = isFree; + } +} diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/CreateOrderDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/CreateOrderDto.java new file mode 100644 index 0000000..4b125c3 --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/app/dto/CreateOrderDto.java @@ -0,0 +1,39 @@ +package com.matrix.system.app.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @author wzy + * @date 2020-12-23 + **/ +@ApiModel(value = "CreateOrderDto", description = "提交订单接收类") +public class CreateOrderDto { + + @NotNull(message = "会员不能为空") + @ApiModelProperty(value = "会员Id", example = "361") + private Long vipId; + + + @ApiModelProperty(value = "购买商品明细") + private List<CreateOderItemDto> items; + + public Long getVipId() { + return vipId; + } + + public void setVipId(Long vipId) { + this.vipId = vipId; + } + + public List<CreateOderItemDto> getItems() { + return items; + } + + public void setItems(List<CreateOderItemDto> items) { + this.items = items; + } +} diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsListVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsListVo.java index 48504ed..731c77f 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsListVo.java +++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsListVo.java @@ -36,6 +36,17 @@ @ApiModelProperty(value = "商品图片") private String img; + @ApiModelProperty(value = "商品类型") + private String goodsType; + + public String getGoodsType() { + return goodsType; + } + + public void setGoodsType(String goodsType) { + this.goodsType = goodsType; + } + public Long getId() { return id; } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/pojo/ShoppingCarItemsVo.java b/zq-erp/src/main/java/com/matrix/system/hive/pojo/ShoppingCarItemsVo.java index e27b98d..ca3e448 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/pojo/ShoppingCarItemsVo.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/pojo/ShoppingCarItemsVo.java @@ -21,8 +21,16 @@ private Long beatuyId; private String beatuyName; - - + + private Long vipId; + + public Long getVipId() { + return vipId; + } + + public void setVipId(Long vipId) { + this.vipId = vipId; + } public Long getBeatuyId() { return beatuyId; diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml index 9baed01..30bfbb7 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml @@ -1236,7 +1236,8 @@ seal_pice price, is_present isPresent, unit unit, - measure measure + measure measure, + a.good_type goodsType from shopping_goods a where 1=1 <if test="record.queryKey != null and record.queryKey != ''"> -- Gitblit v1.9.1