package com.boman.gen.service;

import java.util.List;
import com.boman.domain.GenTableColumn;

/**
 * 业务字段 服务层
 * 
 * @author ruoyi
 */
public interface IGenTableColumnService
{
    /**
     * 查询业务字段列表
     * 
     * @param tableId 业务字段编号
     * @return 业务字段集合
     */
    public List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId);

    /**
     * 查询字段列表
     * @param genTableColumn
     * @return
     */
    public List<GenTableColumn> selectGenTableColumnList(GenTableColumn genTableColumn);

    /**
     * 根据gen_table_column的id查询字段对象
     * @param columnId
     * @return
     */
    public GenTableColumn selectGenTableColumnListByColumnId(Long columnId);

    /**
     * 根据字段编号获取字段详细信息, 把此外键对应的名称返回给前台
     * @param columnId pk
     */
    GenTableColumn getByIdWithForeignKey(Long columnId);

    /**
     * 查询业务字段列表
     *
     * @param tableIdList 业务字段编号List
     * @return 业务字段集合
     */
    public List<GenTableColumn> listByTableIdList(List<Long> tableIdList);

    /**
     * 新增业务字段
     * 
     * @param genTableColumn 业务字段信息
     * @return 结果
     */
    public int insertGenTableColumn(GenTableColumn genTableColumn);

    /**
     * 修改业务字段
     * 
     * @param genTableColumn 业务字段信息
     * @return 结果
     */
    public int updateGenTableColumn(GenTableColumn genTableColumn);

    /**
     * 批量修改业务字段
     * @param genTableColumn
     * @return
     */
    public void updateGenTableColumnList(List<GenTableColumn> genTableColumn);

    /**
     * 删除业务字段信息
     * 
     * @param ids 需要删除的数据ID 表id
     * @return 结果
     */
    public int deleteGenTableColumnByIds(String ids);

    /**
     * 删除字段
     * @param ids 字段id
     * @return
     */
    public int deleteGenTableColumnByColumnIds(String ids);


    /**
    *校验column_name是否重复
    * @param genTableColumn
    * @return 结果
    * @author tjf
    * @Date 2021/3/24
    */
    public String checkColumnNameUnique(GenTableColumn genTableColumn);

    /**
     * 功能描述: 根据表名查询改表所有的字段信息
     *
     * @param tableName tableName
     * @return java.util.List<com.boman.domain.GenTableColumn>
     */
    List<GenTableColumn> listColumnsByTableName(String tableName);
}
