2026-07-01 6b5f7c66fc40d7f6099d561e31a34fbd50dd20d3
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/category/MdmItemCategoryService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,109 @@
package cn.iocoder.yudao.module.mdm.service.category;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.mdm.controller.admin.category.vo.MdmItemCategoryPageReqVO;
import cn.iocoder.yudao.module.mdm.controller.admin.category.vo.MdmItemCategorySaveReqVO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.category.MdmItemCategoryDO;
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 ç‰©æ–™åˆ†ç±» Service æŽ¥å£
 *
 * @author èŠ‹é“æºç 
 */
public interface MdmItemCategoryService {
    /**
     * åˆ›å»ºç‰©æ–™åˆ†ç±»
     *
     * @param createReqVO åˆ›å»ºä¿¡æ¯
     * @return ç¼–号
     */
    Long createItemCategory(@Valid MdmItemCategorySaveReqVO createReqVO);
    /**
     * æ›´æ–°ç‰©æ–™åˆ†ç±»
     *
     * @param updateReqVO æ›´æ–°ä¿¡æ¯
     */
    void updateItemCategory(@Valid MdmItemCategorySaveReqVO updateReqVO);
    /**
     * æ›´æ–°ç‰©æ–™åˆ†ç±»çŠ¶æ€
     *
     * @param id     ç¼–号
     * @param status çŠ¶æ€
     */
    void updateItemCategoryStatus(Long id, Integer status);
    /**
     * åˆ é™¤ç‰©æ–™åˆ†ç±»
     *
     * @param id ç¼–号
     */
    void deleteItemCategory(Long id);
    /**
     * èŽ·å¾—ç‰©æ–™åˆ†ç±»
     *
     * @param id ç¼–号
     * @return ç‰©æ–™åˆ†ç±»
     */
    MdmItemCategoryDO getItemCategory(Long id);
    /**
     * æ ¡éªŒç‰©æ–™åˆ†ç±»å­˜åœ¨
     *
     * @param id ç¼–号
     * @return ç‰©æ–™åˆ†ç±»
     */
    MdmItemCategoryDO validateItemCategoryExists(Long id);
    /**
     * èŽ·å¾—ç‰©æ–™åˆ†ç±»åˆ†é¡µ
     *
     * @param pageReqVO åˆ†é¡µæŸ¥è¯¢
     * @return ç‰©æ–™åˆ†ç±»åˆ†é¡µ
     */
    PageResult<MdmItemCategoryDO> getItemCategoryPage(MdmItemCategoryPageReqVO pageReqVO);
    /**
     * èŽ·å¾—ç‰©æ–™åˆ†ç±»åˆ—è¡¨
     *
     * @param ids ç¼–号数组
     * @return ç‰©æ–™åˆ†ç±»åˆ—表
     */
    List<MdmItemCategoryDO> getItemCategoryList(Collection<Long> ids);
    /**
     * èŽ·å¾—ç‰©æ–™åˆ†ç±» Map
     *
     * @param ids ç¼–号数组
     * @return ç‰©æ–™åˆ†ç±» Map
     */
    default Map<Long, MdmItemCategoryDO> getItemCategoryMap(Collection<Long> ids) {
        return convertMap(getItemCategoryList(ids), MdmItemCategoryDO::getId);
    }
    /**
     * èŽ·å¾—æŒ‡å®šåˆ†ç±»çš„å­åˆ†ç±»åˆ—è¡¨ï¼ˆåŒ…å«è‡ªå·±ï¼‰
     *
     * @param id åˆ†ç±»ç¼–号
     * @return å­åˆ†ç±»åˆ—表
     */
    List<MdmItemCategoryDO> getItemCategoryChildrenList(Long id);
    /**
     * èŽ·å¾—å¯ç”¨çš„åˆ†ç±»åˆ—è¡¨
     *
     * @return åˆ†ç±»åˆ—表
     */
    List<MdmItemCategoryDO> getSimpleItemList();
}