From 22bef59bbd7a0ca2718abeaa15f5918480483791 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 24 Dec 2020 15:36:32 +0800 Subject: [PATCH] finish shopping goods detail interface --- zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsAssembleDao.java | 3 zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsAssembleDao.xml | 13 ++ zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardAssembleDao.xml | 20 +++ zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java | 15 ++ zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java | 49 +++++++ zq-erp/src/main/java/com/matrix/system/hive/service/ShoppingGoodsService.java | 3 zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardAssembleDao.java | 6 + zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsDetailVo.java | 203 +++++++++++++++++++++++++++++++++ 8 files changed, 308 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 f81ea0c..f712eeb 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 @@ -9,6 +9,7 @@ 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; @@ -70,6 +71,20 @@ 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) { diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsDetailVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsDetailVo.java new file mode 100644 index 0000000..d1be69c --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsDetailVo.java @@ -0,0 +1,203 @@ +package com.matrix.system.app.vo; + +import com.matrix.system.hive.bean.ShoppingGoodsCategory; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @author wzy + * @date 2020-12-24 + **/ +@ApiModel(value = "ShoppingGoodsDetailVo", description = "商品详情返回参数类") +public class ShoppingGoodsDetailVo { + + @ApiModelProperty(value = "商品编号") + private String goodsNo; + + @ApiModelProperty(value = "商品名称") + private String goodsName; + + @ApiModelProperty(value = "销售价格") + private BigDecimal salePrice; + + @ApiModelProperty(value = "销量") + private Integer saleCnt; + + @ApiModelProperty(value = "主图") + private String img; + + @ApiModelProperty(value = "详情") + private String desc; + + @ApiModelProperty(value = "商品类型") + private String goodsType; + + @ApiModelProperty(value = "容积") + private Integer volume; + + @ApiModelProperty(value = "规格") + private String measure; + + @ApiModelProperty(value = "最大销售数量") + private Integer maxSaleCnt; + + @ApiModelProperty(value = "每人限购次数") + private String limitBuyCnt; + + @ApiModelProperty(value = "充值卡使用范围 是-所有产品 否-部分产品") + private String carIsAll; + + @ApiModelProperty(value = "赠送金额") + private BigDecimal giftPrice; + + @ApiModelProperty(value = "项目关联产品--配料表、卡项可消费产品") + List<ShoppingGoodsDetailVo> assembleProj; + + @ApiModelProperty(value = "套餐项目权益") + List<ShoppingGoodsDetailVo> assembleTaocanProj; + + @ApiModelProperty(value = "套餐产品权益") + List<ShoppingGoodsDetailVo> assembleTaocanProduct; + + @ApiModelProperty(value = "卡项产品可消费类型") + List<ShoppingGoodsCategory> cardCategory; + + public BigDecimal getGiftPrice() { + return giftPrice; + } + + public void setGiftPrice(BigDecimal giftPrice) { + this.giftPrice = giftPrice; + } + + public String getCarIsAll() { + return carIsAll; + } + + public void setCarIsAll(String carIsAll) { + this.carIsAll = carIsAll; + } + + public String getGoodsNo() { + return goodsNo; + } + + public void setGoodsNo(String goodsNo) { + this.goodsNo = goodsNo; + } + + public String getGoodsName() { + return goodsName; + } + + public void setGoodsName(String goodsName) { + this.goodsName = goodsName; + } + + public BigDecimal getSalePrice() { + return salePrice; + } + + public void setSalePrice(BigDecimal salePrice) { + this.salePrice = salePrice; + } + + public Integer getSaleCnt() { + return saleCnt; + } + + public void setSaleCnt(Integer saleCnt) { + this.saleCnt = saleCnt; + } + + public String getImg() { + return img; + } + + public void setImg(String img) { + this.img = img; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } + + public String getGoodsType() { + return goodsType; + } + + public void setGoodsType(String goodsType) { + this.goodsType = goodsType; + } + + public Integer getVolume() { + return volume; + } + + public void setVolume(Integer volume) { + this.volume = volume; + } + + public String getMeasure() { + return measure; + } + + public void setMeasure(String measure) { + this.measure = measure; + } + + public Integer getMaxSaleCnt() { + return maxSaleCnt; + } + + public void setMaxSaleCnt(Integer maxSaleCnt) { + this.maxSaleCnt = maxSaleCnt; + } + + public String getLimitBuyCnt() { + return limitBuyCnt; + } + + public void setLimitBuyCnt(String limitBuyCnt) { + this.limitBuyCnt = limitBuyCnt; + } + + public List<ShoppingGoodsDetailVo> getAssembleProj() { + return assembleProj; + } + + public void setAssembleProj(List<ShoppingGoodsDetailVo> assembleProj) { + this.assembleProj = assembleProj; + } + + public List<ShoppingGoodsDetailVo> getAssembleTaocanProj() { + return assembleTaocanProj; + } + + public void setAssembleTaocanProj(List<ShoppingGoodsDetailVo> assembleTaocanProj) { + this.assembleTaocanProj = assembleTaocanProj; + } + + public List<ShoppingGoodsDetailVo> getAssembleTaocanProduct() { + return assembleTaocanProduct; + } + + public void setAssembleTaocanProduct(List<ShoppingGoodsDetailVo> assembleTaocanProduct) { + this.assembleTaocanProduct = assembleTaocanProduct; + } + + public List<ShoppingGoodsCategory> getCardCategory() { + return cardCategory; + } + + public void setCardCategory(List<ShoppingGoodsCategory> cardCategory) { + this.cardCategory = cardCategory; + } +} diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardAssembleDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardAssembleDao.java index 516c0ca..1e9ccb6 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardAssembleDao.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardAssembleDao.java @@ -3,7 +3,9 @@ import java.util.List; import com.matrix.core.pojo.PaginationVO; +import com.matrix.system.app.vo.ShoppingGoodsDetailVo; import com.matrix.system.hive.bean.MoneyCardAssemble; +import com.matrix.system.hive.bean.ShoppingGoodsCategory; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,8 @@ public void batchInsert(@Param("list") List<MoneyCardAssemble> newAssemble); public List<MoneyCardAssemble> selectByCardId(Long cardId); + + List<ShoppingGoodsDetailVo> selectCardRelationGoods(@Param("cardId") Long cardId); + + List<ShoppingGoodsCategory> selectCardRelationCategory(@Param("cardId") Long cardId); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsAssembleDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsAssembleDao.java index ac6776e..3abe996 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsAssembleDao.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsAssembleDao.java @@ -3,6 +3,7 @@ import java.util.List; import com.matrix.core.pojo.PaginationVO; +import com.matrix.system.app.vo.ShoppingGoodsDetailVo; import com.matrix.system.hive.bean.ShoppingGoodsAssemble; import org.apache.ibatis.annotations.Param; @@ -63,4 +64,6 @@ public int deleteByGoodsId(@Param("shoppingGoodsId") Long shoppingGoodsId); public void batchInsert(@Param("list") List<ShoppingGoodsAssemble> list); + + List<ShoppingGoodsDetailVo> selectGoodsRelationGoodsList(@Param("goodsId") Long id, @Param("goodsType") String goodsType); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/ShoppingGoodsService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/ShoppingGoodsService.java index 1b7a8a9..366dbf4 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/ShoppingGoodsService.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/ShoppingGoodsService.java @@ -2,6 +2,7 @@ import com.matrix.core.pojo.PaginationVO; import com.matrix.system.app.dto.ShoppingGoodsListDto; +import com.matrix.system.app.vo.ShoppingGoodsDetailVo; import com.matrix.system.app.vo.ShoppingGoodsListVo; import com.matrix.system.hive.bean.ShoppingGoods; import com.matrix.system.hive.plugin.util.BaseServices; @@ -107,4 +108,6 @@ List<ShoppingGoodsListVo> findShoppingGoodsListForApi(ShoppingGoodsListDto shoppingGoodsListDto); int findShoppingGoodsListTotalForApi(ShoppingGoodsListDto shoppingGoodsListDto); + + ShoppingGoodsDetailVo findApiShoppingGoodsDetailById(Long id); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java index 161010c..80af2ef 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java @@ -7,16 +7,14 @@ import com.matrix.core.tools.StringUtils; import com.matrix.core.tools.WebUtil; import com.matrix.system.app.dto.ShoppingGoodsListDto; +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.dao.UtilDao; import com.matrix.system.common.tools.ServiceUtil; import com.matrix.system.constance.Dictionary; import com.matrix.system.constance.TableMapping; -import com.matrix.system.hive.bean.MoneyCardAssemble; -import com.matrix.system.hive.bean.ShoppingGoods; -import com.matrix.system.hive.bean.ShoppingGoodsAssemble; -import com.matrix.system.hive.bean.SysShopInfo; +import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.MoneyCardAssembleDao; import com.matrix.system.hive.dao.ShoppingGoodsAssembleDao; import com.matrix.system.hive.dao.ShoppingGoodsDao; @@ -30,6 +28,7 @@ import javax.validation.constraints.NotNull; import java.awt.event.WindowStateListener; +import java.math.BigDecimal; import java.time.LocalDate; import java.util.ArrayList; import java.util.Date; @@ -487,6 +486,48 @@ public int findShoppingGoodsListTotalForApi(ShoppingGoodsListDto shoppingGoodsListDto) { SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); shoppingGoodsListDto.setShopId(user.getShopId()); + return shoppingGoodsDao.selectShopppingGoodsAipTotal(shoppingGoodsListDto); } + + @Override + public ShoppingGoodsDetailVo findApiShoppingGoodsDetailById(Long id) { + ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(id); + ShoppingGoodsDetailVo goodsDetailVo = goodsToGoodsDetailVo(shoppingGoods); + + if (ShoppingGoods.SHOPPING_GOODS_TYPE_TC.equals(shoppingGoods.getGoodType())) { + List<ShoppingGoodsDetailVo> products = shoppingGoodsAssembleDao.selectGoodsRelationGoodsList(shoppingGoods.getId(), ShoppingGoods.SHOPPING_GOODS_TYPE_JJCP); + List<ShoppingGoodsDetailVo> proj = shoppingGoodsAssembleDao.selectGoodsRelationGoodsList(shoppingGoods.getId(), ShoppingGoods.SHOPPING_GOODS_TYPE_XM); + + goodsDetailVo.setAssembleTaocanProduct(products); + goodsDetailVo.setAssembleTaocanProj(proj); + } else if (ShoppingGoods.SHOPPING_GOODS_TYPE_XM.equals(shoppingGoods.getGoodType())) { + List<ShoppingGoodsDetailVo> products = shoppingGoodsAssembleDao.selectGoodsRelationGoodsList(shoppingGoods.getId(), null); + goodsDetailVo.setAssembleProj(products); + } else if (ShoppingGoods.SHOPPING_GOODS_TYPE_CZK.equals(shoppingGoods.getGoodType())) { + List<ShoppingGoodsDetailVo> cardGoods = moneyCardAssembleDao.selectCardRelationGoods(shoppingGoods.getId()); + List<ShoppingGoodsCategory> cardCategory = moneyCardAssembleDao.selectCardRelationCategory(shoppingGoods.getId()); + + goodsDetailVo.setAssembleProj(cardGoods); + goodsDetailVo.setCardCategory(cardCategory); + } + return goodsDetailVo; + } + + private ShoppingGoodsDetailVo goodsToGoodsDetailVo(ShoppingGoods shoppingGoods) { + ShoppingGoodsDetailVo goodsDetailVo = new ShoppingGoodsDetailVo(); + goodsDetailVo.setImg(shoppingGoods.getImg()); + goodsDetailVo.setGoodsName(shoppingGoods.getName()); + goodsDetailVo.setGoodsNo(shoppingGoods.getGoodsNo()); + goodsDetailVo.setGoodsType(shoppingGoods.getGoodType()); + goodsDetailVo.setDesc(shoppingGoods.getDescription()); + goodsDetailVo.setMaxSaleCnt(shoppingGoods.getCarMaxSaleCount()); + goodsDetailVo.setLimitBuyCnt(shoppingGoods.getIsOnce()); + goodsDetailVo.setMeasure(shoppingGoods.getMeasure()); + goodsDetailVo.setVolume(shoppingGoods.getVolume()); + goodsDetailVo.setSalePrice(BigDecimal.valueOf(shoppingGoods.getSealPice())); + goodsDetailVo.setSaleCnt(shoppingGoods.getRealSealCount()); + goodsDetailVo.setGiftPrice(BigDecimal.valueOf(shoppingGoods.getReferencePice() == null ? 0 : shoppingGoods.getReferencePice())); + return goodsDetailVo; + } } diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardAssembleDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardAssembleDao.xml index 213bd3a..62d7d53 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardAssembleDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardAssembleDao.xml @@ -224,4 +224,24 @@ card_id from money_card_assemble where card_id=#{cardId} </select> + + <select id="selectCardRelationGoods" resultType="com.matrix.system.app.vo.ShoppingGoodsDetailVo"> + select + b.name goodsName, + b.measure measure, + b.volume volume + from money_card_assemble a + inner join shopping_goods b on a.goods_id=b.id + where a.card_id=#{cardId} + </select> + + <select id="selectCardRelationCategory" resultType="com.matrix.system.hive.bean.ShoppingGoodsCategory"> + select + a.id id, + a.name name, + a.parent_id parentId + from shopping_goods_category a + inner join money_card_assemble b on a.id=b.cate_id + where b.card_id=#{cardId}; + </select> </mapper> \ No newline at end of file diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsAssembleDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsAssembleDao.xml index 9597a28..7a1c514 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsAssembleDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsAssembleDao.xml @@ -432,5 +432,18 @@ WHERE shopping_goods_id = #{shoppingGoodsId} </update> + <select id="selectGoodsRelationGoodsList" resultType="com.matrix.system.app.vo.ShoppingGoodsDetailVo"> + select + b.name goodsName, + b.measure measure, + b.volume volume + from shopping_goods_assemble a + inner join shopping_goods b on a.assembleGoodId=b.id + where a.shopping_goods_id=#{goodsId} + <if test="goodsType!= null and goodsType != ''"> + and b.good_type=#{goodsType} + </if> + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.1