package com.hchyun.generator.service;

import java.util.Map;
import java.util.zip.ZipOutputStream;

import com.hchyun.common.utils.ServerResult;
import com.hchyun.generator.dto.InterTableDto;
import com.hchyun.generator.entity.InterTable;

/**
 * 接口信息Service接口
 *
 * @author hchyun
 * @date 2021-01-25
 */
public interface InterTableService
{
    /**
     * 查询接口信息
     *
     * @param id 接口信息ID
     * @return 接口信息
     */
    ServerResult<InterTable> selectInterTableById(Long id);

    /**
     * 查询接口信息列表
     *
     * @param interTable 接口信息
     * @return 接口信息集合
     */
    ServerResult<Map<String,Object>> selectInterTableList(InterTable interTable);

    /**
     * 新增接口信息
     *
     * @param interTable 接口信息
     * @return 结果
     */
    ServerResult<Integer> insertInterTable(InterTable interTable);

    /**
     * 修改接口信息
     *
     * @param interTableDto 接口信息
     * @return 结果
     */
    ServerResult<Integer> updateInterTable(InterTableDto interTableDto);

    /**
     * 批量删除接口信息
     *
     * @param ids 需要删除的接口信息ID
     * @return 结果
     */
    ServerResult<Integer> deleteInterTableByIds(Long[] ids);

    /**
     * 删除接口信息信息
     *
     * @param id 接口信息ID
     * @return 结果
     */
    ServerResult<Integer> deleteInterTableById(Long id);

    /**
     * 预览代码(工作流)
     *
     * @param cid
     * @return
     */
    ServerResult<Map<String,String>> previewCodeCalss(Long cid);

    /**
     * 预览代码()工作台
     * @param mid
     * @return
     */
    ServerResult<Map<String,Object>> previewCodeMoudle(Long mid);

    /**
     * 生成代码(工作流)
     * @param cid
     * @return
     */
    ServerResult<byte[]> generatorCodeClass(Long cid);

    /**
     * 生成代码(工作台)
     * @param mid
     * @return
     */
    ServerResult<byte[]> generatorCodeMoudle(Long mid);

}