🌕 问题分析
通过上述代码拼接查询条件,如果req.getWxIds()不为空的话就将其拆分成集合并对robotWxId拼接in的查询条件,一般来说在 MyBatis-Plus 的条件构造器中,当使用 in(boolean condition, R column, Collection<?> values) 方法时:如果condition 为 false 的话不会拼接后面条件到最终 SQL。但是报错说就是后面的split方法传参为空引起,于是发现Java 会先执行 后面的split方法再判断 condition 参数,所以要想解决这个问题可以先手动拆分再拼接查询条件。
java.lang.IllegalArgumentException: [Assertion failed] - this String argument must have length; it must not be null or empty
🌕 解决办法
手动拆分再拼接查询条件即可
最后最后祝愿大家,不再见bug!!!