dev798
wxy 2024-05-12 18:22:27 +08:00
parent 01bd3dd68f
commit 77a48f401c
7 changed files with 112 additions and 3 deletions

View File

@ -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<MallProductSkuInfo> skuInfoList;
}

View File

@ -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));
}

View File

@ -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<MallProductSkuInfo> list(MallProductSkuInfo mallProductSkuInfo);
void deleteMallProductSkuInfoId(@Param("productId") Long productInfoId);
void insertMallProductSkuInfoList(List<MallProductSkuInfo> mallProductSkuInfoList);
}

View File

@ -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);
List<MallProductSkuInfo>mallProductSkuInfoList=new ArrayList<>();
mallProductSkuInfoService.insertMallProductSkuInfoList(mallProductSkuInfoList);
}
return num;
}
/**

View File

@ -106,4 +106,14 @@ public class MallProductSkuInfoServiceImpl implements MallProductSkuInfoService
PageInfo<MallProductSkuInfo> pageInfo = new PageInfo<>(products);
return pageInfo;
}
@Override
public void deleteMallProductSkuInfoId(Long productInfoId) {
mallProductSkuInfoMapper.deleteMallProductSkuInfoId(productInfoId);
}
@Override
public void insertMallProductSkuInfoList(List<MallProductSkuInfo> mallProductSkuInfoList) {
mallProductSkuInfoMapper.insertMallProductSkuInfoList(mallProductSkuInfoList);
}
}

View File

@ -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<MallProductSkuInfo> list(MallProductSkuInfo mallProductSkuInfo);
void deleteMallProductSkuInfoId(Long productInfoId);
void insertMallProductSkuInfoList(List<MallProductSkuInfo> mallProductSkuInfoList);
}

View File

@ -90,6 +90,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</insert>
<insert id="insertMallProductSkuInfoList" parameterType="java.util.List">
<if test="null !=list and list.size>0">
<foreach collection="list" item="item" separator=";">
insert into `mall-product`.mall_product_sku_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="item.productId != null">product_id,</if>
<if test="item.sku != null and item.sku != ''">sku,</if>
<if test="item.stock != null">stock,</if>
<if test="item.price != null">price,</if>
<if test="item.purchasePrice != null">purchase_price,</if>
<if test="item.sellingPrice != null">selling_price,</if>
<if test="item.image != null and item.image != ''">image,</if>
<if test="item.number != null and item.number != ''">number,</if>
<if test="item.weight != null">weight,</if>
<if test="item.volume != null">volume,</if>
<if test="item.revision != null">revision,</if>
<if test="item.createBy != null">create_by,</if>
<if test="item.createTime != null">create_time,</if>
<if test="item.updateBy != null">update_by,</if>
<if test="item.updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="item.productId != null">#{item.productId},</if>
<if test="item.sku != null and item.sku != ''">#{item.sku},</if>
<if test="item.stock != null">#{item.stock},</if>
<if test="item.price != null">#{item.price},</if>
<if test="item.purchasePrice != null">#{item.purchasePrice},</if>
<if test="item.sellingPrice != null">#{item.sellingPrice},</if>
<if test="item.image != null and item.image != ''">#{item.image},</if>
<if test="item.number != null and item.number != ''">#{item.number},</if>
<if test="item.weight != null">#{item.weight},</if>
<if test="item.volume != null">#{item.volume},</if>
<if test="item.revision != null">#{item.revision},</if>
<if test="item.createBy != null">#{item.createBy},</if>
<if test="item.createTime != null">#{item.createTime},</if>
<if test="item.updateBy != null">#{item.updateBy},</if>
<if test="item.updateTime != null">#{item.updateTime},</if>
</trim>
</foreach>
</if>
</insert>
<update id="updateMallProductSkuInfo" parameterType="com.nuyu.product.domain.MallProductSkuInfo">
update mall_product_sku_info
<trim prefix="SET" suffixOverrides=",">
@ -122,4 +164,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<delete id="deleteMallProductSkuInfoId" parameterType="java.lang.Long">
delete from mall_product_sku_info where product_id = #{productId}
</delete>
</mapper>