package com.zt.plat.module.base.service.tmpltp;

import com.zt.plat.framework.common.pojo.PageResult;

import com.zt.plat.module.base.controller.admin.templtp.vo.TmpItmPageReqVO;
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmRespVO;
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmSaveReqVO;
import com.zt.plat.module.base.controller.admin.templtp.vo.UpdateStsVO;
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplItmDO;
import com.baomidou.mybatisplus.extension.service.IService;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;

import java.util.List;

public interface TmplItmService extends IService<TmplItmDO> {
    /**
     * 创建模板条目
     *
     * @param tmplItmSaveReqVO 创建信息
     * @return 编号
     */
    TmplItmRespVO createTmplItm(TmplItmSaveReqVO tmplItmSaveReqVO) ;
    /**
     * 更新模板条目
     *
     * @param tmplItmSaveReqVO 更新信息
     */
    void updateTmplItm(TmplItmSaveReqVO tmplItmSaveReqVO) ;
    /**
     * 删除模板条目
     *
     * @param ids 编号
     */
    boolean deleteTmplItm(List<Long> ids);
    /**
     * 获得模板条目
     *
     * @param pageReqVO 分页请求
     * @return 模板条目
     */
    PageResult<TmplItmDO> pageTmplItm(TmpItmPageReqVO pageReqVO);
    /**
     * 获得模板条目
     *
     * @param ids 编号
     * @return 模板条目
     */
    List<TmplItmDO> listTmplItmByIds(@Valid @NotEmpty(message = "ids不能为空") List<String> ids);
    /**
     * 更新模板条目状态
     *
     * @param updateStsVO 更新信息
     */
    void updateTmplTpSts(UpdateStsVO updateStsVO);
}
