package com.fs.audit.service;


import com.fs.audit.domain.AuditTemp;
import com.fs.audit.dto.TemplateConfigDTO;

import java.util.List;

/**
 * 审核模板服务接口
 */
public interface AuditTempService {

    /**
     * 创建审核模板
     */
    Long createTemplate(String tempName, String description, TemplateConfigDTO config);

    /**
     * 获取模板
     */
    AuditTemp getTemplate(Long tempId);

    AuditTemp getTemplate(String tempCode, Long companyId);
    /**
     * 解析模板配置
     */
    TemplateConfigDTO parseTemplateConfig(String tempJson);

    /**
     * 更新模板
     */
    void updateTemplate(Long tempId, String tempName, String description, TemplateConfigDTO config);

    /**
     * 删除模板
     */
    void deleteTemplate(Long tempId);

    List<AuditTemp> selectAuditTempList(AuditTemp auditTemp);

    String selectAuditTempById(Long id);

    int insertAuditTemp(AuditTemp auditTemp);

    int updateAuditTemp(AuditTemp auditTemp);

    int deleteAuditTempByIds(Long[] ids);

    int initAuditTemp(Long companyId);

}

