package cn.iocoder.lyzsys.module.tjt.service.office;

import cn.iocoder.lyzsys.framework.common.pojo.PageResult;
import cn.iocoder.lyzsys.module.tjt.controller.admin.office.vo.OfficePageReqVO;
import cn.iocoder.lyzsys.module.tjt.controller.admin.office.vo.OfficeRespVO;
import cn.iocoder.lyzsys.module.tjt.controller.admin.office.vo.OfficeSaveReqVO;
import cn.iocoder.lyzsys.module.tjt.controller.admin.office.vo.OfficeSimpleRespVO;
import cn.iocoder.lyzsys.module.tjt.dal.dataobject.office.OfficeDO;

import javax.validation.Valid;
import java.util.List;

public interface OfficeService {

    Long createOffice(@Valid OfficeSaveReqVO createReqVO);

    void updateOffice(@Valid OfficeSaveReqVO updateReqVO);

    void deleteOffice(Long id);

    OfficeRespVO getOffice(Long id);

    OfficeDO validateOfficeExists(Long id);

    PageResult<OfficeRespVO> getOfficePage(OfficePageReqVO pageReqVO);

    List<OfficeSimpleRespVO> getOfficeSimpleList();

}
