当前使用版本(必填,否则不予处理)

3.2.0

该问题是如何引起的?(确定最新版也有问题再提!!!)

如何动态传入表名后缀参数,从而实现执行时切换表名

重现步骤(如果有就写完整)

    @Bean
    public PaginationInterceptor paginationInterceptor(){
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        DynamicTableNameParser dynamicTableNameParser = new DynamicTableNameParser();
        dynamicTableNameParser.setTableNameHandlerMap(new HashMap<String, ITableNameHandler>(2){{
            //涉及表集合
            List<String> tables = tableNames.getTableNames();
            //动态表规则 初始表名+_+code
            tables.forEach(tableTitle -> put(tableTitle,(metaObject, sql, tableName) -> tableName + "_" + String.valueOf(getParamValue("suffix",metaObject))));
        }});
        paginationInterceptor.setSqlParserList(Collections.singletonList(dynamicTableNameParser));
        return paginationInterceptor;
    }


 private Object getParamValue(String title, MetaObject metaObject){
        Object originalObject = metaObject.getOriginalObject();
        JSONObject originalObjectJSON = JSON.parseObject(JSON.toJSONString(originalObject));
        JSONObject boundSql = originalObjectJSON.getJSONObject("boundSql");
        JSONObject parameterObject = boundSql.getJSONObject("parameterObject");
       //这里的参数如何动态设置
        parameterObject.put("suffix","yyy");
        System.out.println(originalObjectJSON);
        return parameterObject.get(title);
    }

比如我在service里执行selectById, 此刻才知道表名的后缀是_alibaba , 那怎么传进去呢

报错信息

Comment From: chaixuhong

已解决

Comment From: fangqj

请问你是如何解决的