package cn.iocoder.yudao.module.server.service.techorg;

import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.server.controller.admin.techorg.vo.*;
import cn.iocoder.yudao.module.server.dal.dataobject.techorg.TechOrgDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;

/**
 * 技术运维单位 Service 接口
 *
 * @author TRS
 */
public interface TechOrgService {

    /**
     * 创建技术运维单位
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createTechOrg(@Valid TechOrgSaveReqVO createReqVO);

    /**
     * 更新技术运维单位
     *
     * @param updateReqVO 更新信息
     */
    void updateTechOrg(@Valid TechOrgSaveReqVO updateReqVO);

    /**
     * 删除技术运维单位
     *
     * @param id 编号
     */
    void deleteTechOrg(Long id);

    /**
     * 获得技术运维单位
     *
     * @param id 编号
     * @return 技术运维单位
     */
    TechOrgDO getTechOrg(Long id);

    /**
     * 获得技术运维单位分页
     *
     * @param pageReqVO 分页查询
     * @return 技术运维单位分页
     */
    PageResult<TechOrgDO> getTechOrgPage(TechOrgPageReqVO pageReqVO);

}