package com.ruoyi.system.mapper;

import com.ruoyi.system.entity.CommonEntity;
import org.apache.ibatis.annotations.Param;

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

public interface CommonMapper {

    /**-------------------------mysql-----------------------------*/

    /**
     * 查询列表
     */
    List<CommonEntity> selectList(@Param("tableName") String tableName, @Param("conditions") Map<String, Object> conditions);

    /**
     * 批量新增
     */
    int batchInsert(@Param("fieldNames") Set<String> fieldNames, @Param("tableName") String tableName, @Param("fieldValues") List<Map<String, Object>> fieldValues);

    /**
     * 批量删除
     */
    int batchDelete(@Param("tableName") String tableName, @Param("conditions") Map<String, Object> conditions);

    /**
     * 修改
     */
    int edit(@Param("fields") Map<String, Object> fields, @Param("tableName") String tableName, @Param("conditions") Map<String, Object> conditions);
    /**
     * 执行动态sql
     *
     * @param Sql     执行的sql
     * @return
     */
    List<CommonEntity> queryTableList(String Sql);

    /** 表
     * 查询下拉框列表
     */
    List<Map<String,Object>> selectDropDownList(@Param("tableName")String tableName,@Param("fieldKey") String fieldKey,@Param("fieldName") String fieldName, @Param("conditions") Map<String, Object> conditions);

    /** 字典
     * 查询下拉框列表
     */
    List<Map<String,Object>> selectDropDownListByDict(String dictType);

}
