liyong
9 天以前 1ab2b329a40decba8ff7eefbeb158ff259aceb6d
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemSkuService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
package cn.iocoder.yudao.module.mdm.service.item;
import cn.iocoder.yudao.module.mdm.dal.dataobject.item.MdmItemSkuDO;
import jakarta.validation.Valid;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
/**
 * MDM ç‰©æ–™ SKU Service æŽ¥å£
 *
 * @author èŠ‹é“æºç 
 */
public interface MdmItemSkuService {
    /**
     * åˆ›å»º SKU
     *
     * @param sku åˆ›å»ºä¿¡æ¯
     * @return ç¼–号
     */
    Long createItemSku(@Valid MdmItemSkuDO sku);
    /**
     * æ‰¹é‡åˆ›å»º SKU
     *
     * @param itemId   ç‰©æ–™ç¼–号
     * @param skuList SKU åˆ—表
     */
    void createItemSkuList(Long itemId, List<MdmItemSkuDO> skuList);
    /**
     * æ›´æ–° SKU
     *
     * @param sku æ›´æ–°ä¿¡æ¯
     */
    void updateItemSku(@Valid MdmItemSkuDO sku);
    /**
     * æ‰¹é‡æ›´æ–° SKU
     *
     * @param itemId   ç‰©æ–™ç¼–号
     * @param skuList SKU åˆ—表
     */
    void updateItemSkuList(Long itemId, List<MdmItemSkuDO> skuList);
    /**
     * åˆ é™¤ SKU
     *
     * @param id ç¼–号
     */
    void deleteItemSku(Long id);
    /**
     * åˆ é™¤ç‰©æ–™çš„æ‰€æœ‰ SKU
     *
     * @param itemId ç‰©æ–™ç¼–号
     */
    void deleteItemSkuListByItemId(Long itemId);
    /**
     * èŽ·å¾— SKU
     *
     * @param id ç¼–号
     * @return SKU
     */
    MdmItemSkuDO getItemSku(Long id);
    /**
     * æ ¡éªŒ SKU å­˜åœ¨
     *
     * @param id ç¼–号
     * @return SKU
     */
    MdmItemSkuDO validateItemSkuExists(Long id);
    /**
     * æ ¡éªŒ SKU å­˜åœ¨ä¸”启用
     *
     * @param id ç¼–号
     * @return SKU
     */
    MdmItemSkuDO validateItemSkuExistsAndEnable(Long id);
    /**
     * èŽ·å¾—ç‰©æ–™çš„ SKU åˆ—表
     *
     * @param itemId ç‰©æ–™ç¼–号
     * @return SKU åˆ—表
     */
    List<MdmItemSkuDO> getItemSkuListByItemId(Long itemId);
    /**
     * èŽ·å¾— SKU åˆ—表
     *
     * @param ids ç¼–号数组
     * @return SKU åˆ—表
     */
    List<MdmItemSkuDO> getItemSkuList(Collection<Long> ids);
    /**
     * èŽ·å¾— SKU Map
     *
     * @param ids ç¼–号数组
     * @return SKU Map
     */
    default Map<Long, MdmItemSkuDO> getItemSkuMap(Collection<Long> ids) {
        return convertMap(getItemSkuList(ids), MdmItemSkuDO::getId);
    }
    /**
     * æ ¹æ®ç¼–码获取 SKU
     *
     * @param code SKU ç¼–码
     * @return SKU
     */
    MdmItemSkuDO getItemSkuByCode(String code);
    /**
     * æ ¹æ®æ¡ç èŽ·å– SKU
     *
     * @param barCode SKU æ¡ç 
     * @return SKU
     */
    MdmItemSkuDO getItemSkuByBarCode(String barCode);
}