删除超市原料时加保护

This commit is contained in:
sxu 2025-06-03 09:56:19 +08:00
parent 70aa1c50fa
commit cba0e5bc7b
3 changed files with 23 additions and 1 deletions

View File

@ -18,6 +18,8 @@ public interface SupermarketProductMapper {
*/ */
public SupermarketProduct selectSupermarketProductByProductId(Long productId); public SupermarketProduct selectSupermarketProductByProductId(Long productId);
public List<SupermarketProduct> selectSupermarketProductByMaterialIds(Long[] materialIds);
/** /**
* 查询超市商城商品列表 * 查询超市商城商品列表
* *

View File

@ -1,6 +1,9 @@
package com.bonus.canteen.core.supermarket.service.impl; package com.bonus.canteen.core.supermarket.service.impl;
import java.util.List; import java.util.List;
import com.bonus.canteen.core.supermarket.domain.SupermarketProduct;
import com.bonus.canteen.core.supermarket.mapper.SupermarketProductMapper;
import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -8,6 +11,7 @@ import org.springframework.stereotype.Service;
import com.bonus.canteen.core.supermarket.mapper.SupermarketMaterialMapper; import com.bonus.canteen.core.supermarket.mapper.SupermarketMaterialMapper;
import com.bonus.canteen.core.supermarket.domain.SupermarketMaterial; import com.bonus.canteen.core.supermarket.domain.SupermarketMaterial;
import com.bonus.canteen.core.supermarket.service.ISupermarketMaterialService; import com.bonus.canteen.core.supermarket.service.ISupermarketMaterialService;
import org.springframework.util.CollectionUtils;
/** /**
* 商品信息Service业务层处理 * 商品信息Service业务层处理
@ -19,6 +23,8 @@ import com.bonus.canteen.core.supermarket.service.ISupermarketMaterialService;
public class SupermarketMaterialServiceImpl implements ISupermarketMaterialService { public class SupermarketMaterialServiceImpl implements ISupermarketMaterialService {
@Autowired @Autowired
private SupermarketMaterialMapper supermarketMaterialMapper; private SupermarketMaterialMapper supermarketMaterialMapper;
@Autowired
private SupermarketProductMapper supermarketProductMapper;
/** /**
* 查询商品信息 * 查询商品信息
@ -82,6 +88,10 @@ public class SupermarketMaterialServiceImpl implements ISupermarketMaterialServi
*/ */
@Override @Override
public int deleteSupermarketMaterialByMaterialIds(Long[] materialIds) { public int deleteSupermarketMaterialByMaterialIds(Long[] materialIds) {
List<SupermarketProduct> list = supermarketProductMapper.selectSupermarketProductByMaterialIds(materialIds);
if (!CollectionUtils.isEmpty(list)) {
throw new ServiceException("该原料下含有商品,不能删除");
}
return supermarketMaterialMapper.deleteSupermarketMaterialByMaterialIds(materialIds); return supermarketMaterialMapper.deleteSupermarketMaterialByMaterialIds(materialIds);
} }

View File

@ -22,7 +22,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectSupermarketProductVo"> <sql id="selectSupermarketProductVo">
select product_id, supermarket_id, material_id, putaway_state, if_online, sale_price, pref_price, person_limit, one_day_limit, img_url, inventory_num, create_by, create_time, update_by, update_time from supermarket_product select product_id, supermarket_id, material_id, putaway_state, if_online, sale_price, pref_price,
person_limit, one_day_limit, img_url, inventory_num, create_by, create_time, update_by, update_time
from supermarket_product
</sql> </sql>
<select id="selectSupermarketProductList" parameterType="com.bonus.canteen.core.supermarket.domain.SupermarketProduct" resultMap="SupermarketProductResult"> <select id="selectSupermarketProductList" parameterType="com.bonus.canteen.core.supermarket.domain.SupermarketProduct" resultMap="SupermarketProductResult">
@ -45,6 +47,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectSupermarketProductVo"/> <include refid="selectSupermarketProductVo"/>
where product_id = #{productId} where product_id = #{productId}
</select> </select>
<select id="selectSupermarketProductByMaterialIds" parameterType="String" resultType="SupermarketProductResult">
<include refid="selectSupermarketProductVo"/>
where material_id in
<foreach item="materialId" collection="array" open="(" separator="," close=")">
#{materialId}
</foreach>
</select>
<insert id="insertSupermarketProduct" parameterType="com.bonus.canteen.core.supermarket.domain.SupermarketProduct" useGeneratedKeys="true" keyProperty="productId"> <insert id="insertSupermarketProduct" parameterType="com.bonus.canteen.core.supermarket.domain.SupermarketProduct" useGeneratedKeys="true" keyProperty="productId">
insert into supermarket_product insert into supermarket_product