package com.xingxi.master.product.mapper;

import com.xingxi.master.product.domain.ProdAttrJoint;

import java.util.List;

/**
 * 商品属性组合Mapper接口
 *
 * @author xingxi
 * @date 2025-03-06
 */
public interface ProdAttrJointMapper {
    /**
     * 查询商品属性组合
     *
     * @param prodAttrJointId 商品属性组合主键
     * @return 商品属性组合
     */
    ProdAttrJoint selectProdAttrJointByProdAttrJointId(Long prodAttrJointId);

    /**
     * 查询商品属性组合列表
     *
     * @param prodAttrJoint 商品属性组合
     * @return 商品属性组合集合
     */
    List<ProdAttrJoint> selectProdAttrJointList(ProdAttrJoint prodAttrJoint);

    /**
     * 新增商品属性组合
     *
     * @param prodAttrJoint 商品属性组合
     * @return 结果
     */
    int insertProdAttrJoint(ProdAttrJoint prodAttrJoint);

    /**
     * 批量新增商品属性组合
     *
     * @param prodAttrJointList 商品属性组合
     * @return 结果
     */
    int batchInsertProdAttrJoint(List<ProdAttrJoint> prodAttrJointList);

    /**
     * 修改商品属性组合
     *
     * @param prodAttrJoint 商品属性组合
     * @return 结果
     */
    int updateProdAttrJoint(ProdAttrJoint prodAttrJoint);

    /**
     * 删除商品属性组合
     *
     * @param prodAttrJointId 商品属性组合主键
     * @return 结果
     */
    int deleteProdAttrJointByProdAttrJointId(Long prodAttrJointId);

    /**
     * 批量删除商品属性组合
     *
     * @param prodAttrJointIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteProdAttrJointByProdAttrJointIds(String[] prodAttrJointIds);


    /**
     * 逻辑删除商品属性组合
     *
     * @param prodAttrJointId 商品属性组合主键
     * @return 结果
     */
    int logicDeleteProdAttrJointByProdAttrJointId(Long prodAttrJointId);

    /**
     * 逻辑批量删除商品属性组合
     *
     * @param prodAttrJointIds 需要删除的数据主键集合
     * @return 结果
     */
    int logicDeleteProdAttrJointByProdAttrJointIds(String[] prodAttrJointIds);

    /**
     * 逻辑批量删除商品属性组合
     *
     * @param prodAttrJoint 商品属性组合
     * @return 结果
     */
    int logicDeleteProdAttrJointByCondition(ProdAttrJoint prodAttrJoint);

}
