package com.heyu.api.data.dao.vv;
/**
 * <p>
 * sku 与属性的对应关系 服务类
 * </p>
 *
 * @author quyixiao
 * @since 2025-08-22
 */

import com.heyu.api.data.entity.vv.VvProductPropertyValueEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lz.mybatis.plugin.annotations.IN;
import com.lz.mybatis.plugin.annotations.OrderBy;
import com.lz.mybatis.plugin.annotations.OrderType;
import com.lz.mybatis.plugin.annotations.Realy;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface VvProductPropertyValueDao extends BaseMapper<VvProductPropertyValueEntity> {


    VvProductPropertyValueEntity selectVvProductPropertyValueById(@Param("id") Long id);


    Long insertVvProductPropertyValue(VvProductPropertyValueEntity vvProductPropertyValue);


    Long insertOrUpdateVvProductPropertyValue(VvProductPropertyValueEntity vvProductPropertyValue);


    int updateVvProductPropertyValueById(VvProductPropertyValueEntity vvProductPropertyValue);


    int updateCoverVvProductPropertyValueById(VvProductPropertyValueEntity vvProductPropertyValue);


    int deleteVvProductPropertyValueById(@Param("id") Long id);


    @OrderBy(value={VvProductPropertyValueEntity.default_sort},type={OrderType.ASC})
    List<VvProductPropertyValueEntity> selectVvProductPropertyValueByProductIdPropertyId(Long productPropertyId);


    int deleteVvProductPropertyValueRealById(Long id);


    @Realy
    int deleteVvProductPropertyValueRealByProductPropertyId(Long productPropertyId);

    @OrderBy(value={VvProductPropertyValueEntity.default_sort},type={OrderType.ASC})
    List<VvProductPropertyValueEntity> selectVvProductPropertyValueByProductIdProductId(Long productId);



    List<VvProductPropertyValueEntity> selectProductPropertyValueByIds(@IN List<Long> id);
}