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.TmplFldPageReqVO;
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplFldRespVO;
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplTpFldSaveReqVO;
import com.zt.plat.module.base.controller.admin.templtp.vo.UpdateStsVO;
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplTpFldDO;
import com.baomidou.mybatisplus.extension.service.IService;
import jakarta.validation.Valid;

import java.util.List;
import java.util.Map;

public interface TmplTpFldService extends IService<TmplTpFldDO> {
    /**
     * 创建模板字段
     *
     * @param tmplTpFldSaveReqVO 创建信息
     * @return 编号
     */
    TmplFldRespVO createTmplFld(@Valid TmplTpFldSaveReqVO tmplTpFldSaveReqVO);
    /**
     * 更新模板字段
     *
     * @param tmplTpFldSaveReqVO 更新信息
     */
    void  updateTmplFld(@Valid TmplTpFldSaveReqVO tmplTpFldSaveReqVO);
    /**
     * 获取字段分页
     *
     * @param pageReqVO 编号
     */
    PageResult<TmplTpFldDO>  tmplTpFldPage(TmplFldPageReqVO pageReqVO);
    /**
     * 删除模板字段
     *
     * @param ids 编号
     */
    void deleteTmplTpByIds(List< Long> ids);
    /**
     * 获取字段列表
     *
     * @param clazz  **VO类
     */
    List<Map<String, Object>>getTmplTpListByClass(String clazz);
    /**
     * 获取字段列表
     *
     * @param valNames 字段名称
     */
    List<TmplTpFldDO> getTmplTpListByValKeys(List< String> valNames);

    void updateTmplTpSts(UpdateStsVO updateStsVO);


}
