#sql("find") SELECT m.* FROM T_USER m where 1=1 #include("data_auth.sql",code="user") ORDER BY m.OP_TIME DESC #end
###data_auth.sql #set(user=getCurrentUser())###这是调用后台方法 #set(dataAuth=getDataAuth(user.id,code))###这是调用后台方法 #if(dataAuth==0) and #(aliasStr)OP_USER_ID=#para(user.id) #
public int getDataAuth(String userId, String code) { Kv kv = Kv.by("code", code).set("userId", userId); Record record = Db.template("user.findMaxDataAuth", kv).findFirst(); if (record != null) { Integer dataAuth = record.getInt("DATA_AUTH"); if (dataAuth != null) { return dataAuth; } } return 3; }
后台getDataAuth方法中分别两次调用Db.template得到的结果是不一样的,第一次得到的SQL有可能是错误的,请问这样的写法有问题吗?
项目:JFinal
此外,解决这类问题通过单步调试是必然的,实时动态了解变量的变化