From 00c597948cf3e3360b42a747b9bccf60bee4763a Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Thu, 19 May 2022 22:31:21 +0800 Subject: [PATCH] fix goods add and goodsUPdate --- src/main/resources/mapper/modules/MallGoodsMapper.xml | 1 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java | 51 +++++++++++++++++++++++++ src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsVo.java | 2 + src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html | 8 ++-- src/main/resources/templates/febs/views/modules/goods/goodsList.html | 2 5 files changed, 59 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java index 5f746d0..5ed4b73 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java @@ -131,6 +131,27 @@ return new FebsResponse().success().message("添加成功"); } + // 单规格 + if (addMallGoodsDto.getIsSku() == 2) { + MallGoodsStyle style = new MallGoodsStyle(); + style.setGoodsId(mallGoods.getId()); + style.setName(mallGoods.getGoodsName()); + mallGoodsStyleMapper.insert(style); + + MallGoodsSku sku = new MallGoodsSku(); + sku.setGoodsId(mallGoods.getId()); + sku.setSkuImage(mallGoods.getThumb()); + sku.setSkuName(mallGoods.getGoodsName()); + sku.setCostPrice(mallGoods.getCostPrice()); + sku.setPresentPrice(new BigDecimal(mallGoods.getPresentPrice())); + sku.setOriginalPrice(new BigDecimal(mallGoods.getOriginalPrice())); + sku.setSkuVolume(mallGoods.getVolume()); + sku.setStock(mallGoods.getStock()); + sku.setStyleId(style.getId()); + mallGoodsSkuMapper.insert(sku); + return new FebsResponse().success().message("添加成功"); + } + List<AddMallGoodsSkuDto> addMallGoodsSkuDtos = addMallGoodsDto.getAddMallGoodsSkuDtos(); Set<String> styles = new HashSet<>(); @@ -308,6 +329,13 @@ //新增商品 MallGoods mallGoods = mallGoodsMapper.selectById(mallGoodsUpdateDto.getId()); + + // 若原来不为多规格或编辑后也不为多规格,则清空样式和规格 + if (mallGoods.getIsSku() == 2 || mallGoodsUpdateDto.getIsSku() == 2) { + mallGoodsSkuMapper.deleteByGoodsId(mallGoods.getId()); + mallGoodsStyleMapper.deleteByGoodsId(mallGoods.getId()); + } + BeanUtil.copyProperties(mallGoodsUpdateDto, mallGoods); mallGoodsMapper.updateById(mallGoods); @@ -332,6 +360,29 @@ return new FebsResponse().success().message("编辑成功"); } + // 单规格 + if (mallGoodsUpdateDto.getIsSku() == 2) { + MallGoodsStyle style = new MallGoodsStyle(); + style.setGoodsId(mallGoods.getId()); + style.setName(mallGoods.getGoodsName()); + mallGoodsStyleMapper.insert(style); + + MallGoodsSku sku = new MallGoodsSku(); + sku.setGoodsId(mallGoods.getId()); + sku.setSkuImage(mallGoods.getThumb()); + sku.setSkuName(mallGoods.getGoodsName()); + sku.setCostPrice(mallGoods.getCostPrice()); + sku.setPresentPrice(new BigDecimal(mallGoods.getPresentPrice())); + sku.setOriginalPrice(new BigDecimal(mallGoods.getOriginalPrice())); + sku.setSkuVolume(mallGoods.getVolume()); + sku.setStock(mallGoods.getStock()); + sku.setStyleId(style.getId()); + mallGoodsSkuMapper.insert(sku); + return new FebsResponse().success().message("添加成功"); + } + + + // 删除已存在sku List<Long> delSkuIds = mallGoodsUpdateDto.getDelSkuId(); if (CollUtil.isNotEmpty(delSkuIds)) { diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsVo.java index d2c5e98..3f7e649 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsVo.java @@ -42,4 +42,6 @@ private Integer stock; private BigDecimal score; + + private int isNormal; } diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml index ac3fde8..3b68816 100644 --- a/src/main/resources/mapper/modules/MallGoodsMapper.xml +++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml @@ -129,6 +129,7 @@ a.present_price, a.is_hot, a.score, + a.is_normal, b.name categaryName, IFNULL(sum(c.sku_volume), a.volume) skuVolume, IFNULL(sum(c.stock), a.stock) stock diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsList.html b/src/main/resources/templates/febs/views/modules/goods/goodsList.html index bd804bb..c8de164 100644 --- a/src/main/resources/templates/febs/views/modules/goods/goodsList.html +++ b/src/main/resources/templates/febs/views/modules/goods/goodsList.html @@ -68,7 +68,7 @@ {{# } }} </script> <script type="text/html" id="goodsTypeFormat"> - {{# if(d.isNormal === 1) { }} + {{# if(d.isNormal == 1) { }} <span>普通商品</span> {{# } else { }} <span>套餐</span> diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html b/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html index 3174f0f..bfd4d27 100644 --- a/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html +++ b/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html @@ -563,11 +563,11 @@ if (goodsInfo.isSku == 1) { $(".multi-sku-table").show(); - } - var skus = goodsInfo.skus; - for (let i = 0; i < skus.length; i++) { - skus[i].index = i+1; + var skus = goodsInfo.skus; + for (let i = 0; i < skus.length; i++) { + skus[i].index = i+1; + } } for (let i = 0; i < images.length; i++) { -- Gitblit v1.9.1