diff --git a/muyu-modules/muyu-product/muyu-product-commo/src/main/java/com/nuyu/product/req/MallProductInfoForm.java b/muyu-modules/muyu-product/muyu-product-commo/src/main/java/com/nuyu/product/req/MallProductInfoForm.java new file mode 100644 index 0000000..8ea9b89 --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-commo/src/main/java/com/nuyu/product/req/MallProductInfoForm.java @@ -0,0 +1,18 @@ +package com.nuyu.product.req; + +import com.nuyu.product.domain.MallProductInfo; +import com.nuyu.product.domain.MallProductSkuInfo; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author: wangxinyuan + * @Date: 2024/5/12 下午4:13 + */ +@Data +public class MallProductInfoForm extends MallProductInfo implements Serializable { + + private List skuInfoList; +} diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/MallProductInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/MallProductInfoController.java index 1d0fd07..7f10556 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/MallProductInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/MallProductInfoController.java @@ -9,6 +9,7 @@ import com.muyu.common.core.web.domain.AjaxResult; import com.muyu.product.service.MallProductInfoService; import com.nuyu.product.domain.MallProductInfo; import com.nuyu.product.domain.MallProductRuleAttrInfo; +import com.nuyu.product.req.MallProductInfoForm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -79,7 +80,7 @@ public class MallProductInfoController extends BaseController @RequiresPermissions("product:info:add") @Log(title = "商品信息", businessType = BusinessType.INSERT) @PostMapping - public Result add(@RequestBody MallProductInfo mallProductInfo) + public Result add(@RequestBody MallProductInfoForm mallProductInfo) { return toAjax(mallProductInfoService.insertMallProductInfo(mallProductInfo)); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/MallProductSkuInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/MallProductSkuInfoMapper.java index 631e4f5..ed7b545 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/MallProductSkuInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/MallProductSkuInfoMapper.java @@ -2,6 +2,7 @@ package com.muyu.product.mapper; import com.nuyu.product.domain.MallProductSkuInfo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -64,4 +65,8 @@ public interface MallProductSkuInfoMapper public int deleteMallProductSkuInfoByIds(Long[] ids); List list(MallProductSkuInfo mallProductSkuInfo); + + void deleteMallProductSkuInfoId(@Param("productId") Long productInfoId); + + void insertMallProductSkuInfoList(List mallProductSkuInfoList); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductInfoServiceImpl.java index 8741a90..1443ee1 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductInfoServiceImpl.java @@ -1,17 +1,22 @@ package com.muyu.product.service.Impl; +import java.util.ArrayList; import java.util.List; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.muyu.common.core.utils.DateUtils; +import com.muyu.common.security.utils.SecurityUtils; import com.muyu.product.service.MallProductInfoService; +import com.muyu.product.service.MallProductSkuInfoService; import com.nuyu.product.domain.MallProductInfo; +import com.nuyu.product.domain.MallProductSkuInfo; import com.nuyu.product.domain.MallProductTypeInfo; +import lombok.val; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.muyu.product.mapper.MallProductInfoMapper; - +import org.springframework.transaction.annotation.Transactional; /** @@ -26,6 +31,9 @@ public class MallProductInfoServiceImpl implements MallProductInfoService @Autowired private MallProductInfoMapper mallProductInfoMapper; + @Autowired + private MallProductSkuInfoService mallProductSkuInfoService; + /** * 查询商品信息 * @@ -56,11 +64,25 @@ public class MallProductInfoServiceImpl implements MallProductInfoService * @param mallProductInfo 商品信息 * @return 结果 */ + @Transactional @Override public int insertMallProductInfo(MallProductInfo mallProductInfo) { + Long userId = SecurityUtils.getLoginUser().getUserid(); + mallProductInfo.setCreateBy(String.valueOf(userId)); + Long loginUserId = SecurityUtils.getLoginUser().getUserid(); + mallProductInfo.setUpdateBy(String.valueOf(loginUserId)); mallProductInfo.setCreateTime(DateUtils.getNowDate()); - return mallProductInfoMapper.insertMallProductInfo(mallProductInfo); + mallProductInfo.setUpdateTime(DateUtils.getNowDate()); + + int num = mallProductInfoMapper.insertMallProductInfo(mallProductInfo); + if(num > 0){ + Long productInfoId = mallProductInfo.getId(); + mallProductSkuInfoService.deleteMallProductSkuInfoId(productInfoId); + ListmallProductSkuInfoList=new ArrayList<>(); + mallProductSkuInfoService.insertMallProductSkuInfoList(mallProductSkuInfoList); + } + return num; } /** diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductSkuInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductSkuInfoServiceImpl.java index 0ad2153..92bd82b 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductSkuInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductSkuInfoServiceImpl.java @@ -106,4 +106,14 @@ public class MallProductSkuInfoServiceImpl implements MallProductSkuInfoService PageInfo pageInfo = new PageInfo<>(products); return pageInfo; } + + @Override + public void deleteMallProductSkuInfoId(Long productInfoId) { + mallProductSkuInfoMapper.deleteMallProductSkuInfoId(productInfoId); + } + + @Override + public void insertMallProductSkuInfoList(List mallProductSkuInfoList) { + mallProductSkuInfoMapper.insertMallProductSkuInfoList(mallProductSkuInfoList); + } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/MallProductSkuInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/MallProductSkuInfoService.java index 253c270..2754be5 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/MallProductSkuInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/MallProductSkuInfoService.java @@ -2,6 +2,7 @@ package com.muyu.product.service; import com.github.pagehelper.PageInfo; import com.nuyu.product.domain.MallProductSkuInfo; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -63,4 +64,8 @@ public interface MallProductSkuInfoService public int deleteMallProductSkuInfoById(Long id); PageInfo list(MallProductSkuInfo mallProductSkuInfo); + + void deleteMallProductSkuInfoId(Long productInfoId); + + void insertMallProductSkuInfoList(List mallProductSkuInfoList); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/MallProductSkuInfoMapper.xml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/MallProductSkuInfoMapper.xml index 42f7ec9..c58dfc9 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/MallProductSkuInfoMapper.xml +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/MallProductSkuInfoMapper.xml @@ -90,6 +90,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + insert into `mall-product`.mall_product_sku_info + + product_id, + sku, + stock, + price, + purchase_price, + selling_price, + image, + number, + weight, + volume, + revision, + create_by, + create_time, + update_by, + update_time, + + + #{item.productId}, + #{item.sku}, + #{item.stock}, + #{item.price}, + #{item.purchasePrice}, + #{item.sellingPrice}, + #{item.image}, + #{item.number}, + #{item.weight}, + #{item.volume}, + #{item.revision}, + #{item.createBy}, + #{item.createTime}, + #{item.updateBy}, + #{item.updateTime}, + + + + + update mall_product_sku_info @@ -122,4 +164,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + delete from mall_product_sku_info where product_id = #{productId} + + +