package com.yida.data.form.apply.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yida.data.common.core.entity.applyForm.CoreOfficialSeal;
import com.yida.data.customForm.dto.apply.OfficialSealSaveDTO;
import com.yida.data.customForm.dto.apply.OfficialSealSelectPageDTO;
import com.yida.data.customForm.vo.apply.OfficialSealInfoVO;
import com.yida.data.customForm.vo.apply.OfficialSealSelectPageVO;

/**
 * 学校公章 Service
 *
 * @author ZYJ
 * @date 2023/11/17
 */
public interface CoreOfficialSealService extends IService<CoreOfficialSeal> {

    /**
     * 查询学校公章列表数据
     *
     * @param dto 查询条件
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.yida.data.customForm.vo.apply.OfficialSealSelectPageVO>
     * @author ZYJ
     * @date 2023/11/17 15:44
     */
    IPage<OfficialSealSelectPageVO> listOfficialSealPage(OfficialSealSelectPageDTO dto);

    /**
     * 查询公章详情
     *
     * @param id 公章id
     * @return com.yida.data.customForm.vo.apply.OfficialSealInfoVO
     * @author ZYJ
     * @date 2023/11/17 16:48
     */
    OfficialSealInfoVO getOfficialSealInfo(Long id);

    /**
     * 删除公章
     *
     * @param id 公章id
     * @author ZYJ
     * @date 2023/11/17 17:07
     */
    void deleteOfficialSeal(Long id);

    /**
     * 保存公章
     *
     * @param dto 保存的公章信息
     * @author ZYJ
     * @date 2023/11/17 17:32
     */
    void saveOfficialSeal(OfficialSealSaveDTO dto);

    /**
     * 修改公章状态
     *
     * @param id           表单id
     * @param enableStatus 状态. 0为停用，1为启用
     * @author ZYJ
     * @date 2023/11/17 17:35
     */
    void updateEnableStatus(Long id, Integer enableStatus);
}
