/**
   * 获取单表数据列表(暂不支持多表)
   *
   * @param params
   * @return
   */
  public String listIds(Map<String, Object> params) {
    Class domainClass = (Class<? extends BaseDomain>) params.get("domain");
    Criteria criteria = (Criteria) params.get("criteria");
    String tableName = getTable(domainClass);
    String sqlString;
    SQL sql = new SQL().SELECT("id").FROM(tableName);

    if (Objects.nonNull(criteria) && criteria.nonEmpty()) {
      sql.WHERE(criteria.toSqlString());
    }
    sqlString = sql.toString();
    if (Objects.nonNull(criteria) && criteria.isSorted()) {
      sqlString += criteria.toOrderSqlString();
    }
    if (Objects.nonNull(criteria) && criteria.isLimited()) {
      sqlString += criteria.toLimitSqlString();
    }
    logger.debug("{} : {}", logger.getName(), sqlString);
    return sqlString;
  }
  public String delete(Map<String, Object> params) {
    String sqlString;
    SQL sql = new SQL();
    String tableName = getTable((Class<? extends BaseDomain>) params.get("domain"));
    Long[] ids = (Long[]) Objects.getDefault(params.get("ids"), new Long[] {});
    final StringBuilder idsCondition = new StringBuilder("(-1");

    Iterators.forEach(
        Arrays.asList(ids).iterator(),
        new Iterators.CustomerHandler<Long>() {
          @Override
          public void handle(Long id) {
            idsCondition.append(",").append(id);
          }
        });
    idsCondition.append(")");

    sql.DELETE_FROM(tableName).WHERE("id in " + idsCondition.toString());

    sqlString = sql.toString();
    logger.debug("{} : {}", logger.getName(), sqlString);
    return sqlString;
  }