package com.yhy.module.core.service.workbench;

import com.yhy.module.core.controller.admin.workbench.vo.WbItemInfoRespVO;
import com.yhy.module.core.controller.admin.workbench.vo.WbItemInfoSaveReqVO;
import javax.validation.Valid;

/**
 * 单项基本信息 Service 接口
 *
 * @author yhy
 */
public interface WbItemInfoService {

    /**
     * 获取单项基本信息
     *
     * @param compileTreeId 编制树节点ID（单项节点）
     * @return 单项基本信息
     */
    WbItemInfoRespVO getByCompileTreeId(Long compileTreeId);

    /**
     * 保存单项基本信息
     *
     * @param saveReqVO 保存信息
     * @return ID
     */
    Long save(@Valid WbItemInfoSaveReqVO saveReqVO);

    /**
     * 刷新配置快照
     *
     * @param compileTreeId 编制树节点ID（单项节点）
     */
    void refreshConfigSnapshot(Long compileTreeId);

    /**
     * 删除单项基本信息（根据编制树节点ID）
     *
     * @param compileTreeId 编制树节点ID
     */
    void deleteByCompileTreeId(Long compileTreeId);
}
