dev798
wxy 2024-05-13 14:40:49 +08:00
parent 6767a2be57
commit 8b4cb7038d
1 changed files with 10 additions and 1 deletions

View File

@ -72,22 +72,30 @@ public class MallProductInfoServiceImpl implements MallProductInfoService
@Override @Override
public int insertMallProductInfo(MallProductInfoForm mallProductInfo) public int insertMallProductInfo(MallProductInfoForm mallProductInfo)
{ {
// 获取当前登录用户的ID并设置产品创建者和更新者信息
Long userId = SecurityUtils.getLoginUser().getUserid(); Long userId = SecurityUtils.getLoginUser().getUserid();
mallProductInfo.setCreateBy(String.valueOf(userId)); mallProductInfo.setCreateBy(String.valueOf(userId));
Long loginUserId = SecurityUtils.getLoginUser().getUserid(); Long loginUserId = SecurityUtils.getLoginUser().getUserid();
mallProductInfo.setUpdateBy(String.valueOf(loginUserId)); mallProductInfo.setUpdateBy(String.valueOf(loginUserId));
// 设置产品创建时间和更新时间
mallProductInfo.setCreateTime(DateUtils.getNowDate()); mallProductInfo.setCreateTime(DateUtils.getNowDate());
mallProductInfo.setUpdateTime(DateUtils.getNowDate()); mallProductInfo.setUpdateTime(DateUtils.getNowDate());
// 插入商城产品基本信息
int num = mallProductInfoMapper.insertMallProductInfo(mallProductInfo); int num = mallProductInfoMapper.insertMallProductInfo(mallProductInfo);
// 获取产品SKU信息列表
List<MallProductSkuInfo>skuInfoList=mallProductInfo.getSkuInfoList(); List<MallProductSkuInfo>skuInfoList=mallProductInfo.getSkuInfoList();
// 如果产品信息插入成功且SKU信息不为空则进行SKU信息的插入
if(num > 0 && CollectionUtils.isNotEmpty(skuInfoList)){ if(num > 0 && CollectionUtils.isNotEmpty(skuInfoList)){
// 准备插入的SKU信息列表
Long productInfoId = mallProductInfo.getId(); Long productInfoId = mallProductInfo.getId();
List<MallProductSkuInfo>mallProductSkuInfoList=new ArrayList<>(); List<MallProductSkuInfo>mallProductSkuInfoList=new ArrayList<>();
Date createTime = new Date(); Date createTime = new Date();
// 先删除该产品之前的SKU信息准备插入新的SKU信息
mallProductSkuInfoService.deleteMallProductSkuInfoId(productInfoId); mallProductSkuInfoService.deleteMallProductSkuInfoId(productInfoId);
// 遍历SKU信息列表复制属性并设置SKU信息的关联产品ID及其他默认值
skuInfoList.stream().forEach(item ->{ skuInfoList.stream().forEach(item ->{
MallProductSkuInfo mallProductSkuInfo = new MallProductSkuInfo(); MallProductSkuInfo mallProductSkuInfo = new MallProductSkuInfo();
BeanUtils.copyProperties(item,mallProductSkuInfo); BeanUtils.copyProperties(item,mallProductSkuInfo);
@ -99,6 +107,7 @@ public class MallProductInfoServiceImpl implements MallProductInfoService
mallProductSkuInfo.setUpdateTime(createTime); mallProductSkuInfo.setUpdateTime(createTime);
mallProductSkuInfoList.add(mallProductSkuInfo); mallProductSkuInfoList.add(mallProductSkuInfo);
}); });
// 批量插入处理后的SKU信息
mallProductSkuInfoService.insertMallProductSkuInfoList(mallProductSkuInfoList); mallProductSkuInfoService.insertMallProductSkuInfoList(mallProductSkuInfoList);
} }
return num; return num;