From d7c1b8a3983b57b21be5d5e77841d87d02a9e532 Mon Sep 17 00:00:00 2001 From: zhaochencheng Date: Sun, 1 Jan 2023 23:59:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E3=80=81sku=E6=8F=92?= =?UTF-8?q?=E5=85=A5=E5=9F=BA=E6=9C=AC=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cyl/pms/controller/ProductController.java | 2 +- .../com/cyl/pms/convert/ProductConvert.java | 1 + .../java/com/cyl/pms/pojo/vo/ProductVO.java | 4 +++ .../com/cyl/pms/service/ProductService.java | 28 +++++++++++++++++-- 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/ruoyi-mall/src/main/java/com/cyl/pms/controller/ProductController.java b/ruoyi-mall/src/main/java/com/cyl/pms/controller/ProductController.java index 5f31770..fa5a527 100644 --- a/ruoyi-mall/src/main/java/com/cyl/pms/controller/ProductController.java +++ b/ruoyi-mall/src/main/java/com/cyl/pms/controller/ProductController.java @@ -71,7 +71,7 @@ public class ProductController extends BaseController { @PreAuthorize("@ss.hasPermi('pms:product:add')") @Log(title = "商品信息", businessType = BusinessType.INSERT) @PostMapping - public ResponseEntity add(@RequestBody Product product) { + public ResponseEntity add(@RequestBody ProductVO product) { return ResponseEntity.ok(service.insert(product)); } diff --git a/ruoyi-mall/src/main/java/com/cyl/pms/convert/ProductConvert.java b/ruoyi-mall/src/main/java/com/cyl/pms/convert/ProductConvert.java index 10f4494..11f37fe 100644 --- a/ruoyi-mall/src/main/java/com/cyl/pms/convert/ProductConvert.java +++ b/ruoyi-mall/src/main/java/com/cyl/pms/convert/ProductConvert.java @@ -13,4 +13,5 @@ import java.util.List; public interface ProductConvert { List dos2vos(List list); + Product vo2do(ProductVO productVO); } diff --git a/ruoyi-mall/src/main/java/com/cyl/pms/pojo/vo/ProductVO.java b/ruoyi-mall/src/main/java/com/cyl/pms/pojo/vo/ProductVO.java index b7c37b3..e29484a 100644 --- a/ruoyi-mall/src/main/java/com/cyl/pms/pojo/vo/ProductVO.java +++ b/ruoyi-mall/src/main/java/com/cyl/pms/pojo/vo/ProductVO.java @@ -1,6 +1,9 @@ package com.cyl.pms.pojo.vo; import java.math.BigDecimal; +import java.util.List; + +import com.cyl.pms.domain.Sku; import com.ruoyi.common.annotation.Excel; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseAudit; @@ -59,4 +62,5 @@ public class ProductVO extends BaseAudit { /** 商品分类名称 */ @Excel(name = "商品分类名称") private String productCategoryName; + private List skuList; } diff --git a/ruoyi-mall/src/main/java/com/cyl/pms/service/ProductService.java b/ruoyi-mall/src/main/java/com/cyl/pms/service/ProductService.java index aef1883..5b1f7f9 100644 --- a/ruoyi-mall/src/main/java/com/cyl/pms/service/ProductService.java +++ b/ruoyi-mall/src/main/java/com/cyl/pms/service/ProductService.java @@ -5,6 +5,10 @@ import java.util.Arrays; import java.util.List; import java.time.LocalDateTime; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.cyl.pms.convert.ProductConvert; +import com.cyl.pms.domain.Sku; +import com.cyl.pms.mapper.SkuMapper; +import com.cyl.pms.pojo.vo.ProductVO; import com.github.pagehelper.PageHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; @@ -13,6 +17,7 @@ import org.springframework.stereotype.Service; import com.cyl.pms.mapper.ProductMapper; import com.cyl.pms.domain.Product; import com.cyl.pms.pojo.query.ProductQuery; +import org.springframework.transaction.annotation.Transactional; /** * 商品信息Service业务层处理 @@ -25,6 +30,11 @@ public class ProductService { @Autowired private ProductMapper productMapper; + @Autowired + private SkuMapper skuMapper; + @Autowired + private ProductConvert convert; + /** * 查询商品信息 * @@ -113,12 +123,24 @@ public class ProductService { /** * 新增商品信息 * - * @param product 商品信息 + * @param productVO 商品信息 * @return 结果 */ - public int insert(Product product) { + @Transactional + public int insert(ProductVO productVO) { + + Product product = convert.vo2do(productVO); product.setCreateTime(LocalDateTime.now()); - return productMapper.insert(product); + List skuList = productVO.getSkuList(); + productMapper.insert(product); + if(skuList!=null){ + skuList.forEach(sku -> { + sku.setProductId(product.getId()); + sku.setCreateTime(LocalDateTime.now()); + skuMapper.insert(sku); + }); + } + return 1; } /**