| | |
| | | import com.java110.utils.util.StringUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.ibatis.ognl.Ognl; |
| | | import org.apache.ibatis.ognl.OgnlContext; |
| | | import org.apache.ibatis.ognl.OgnlException; |
| | | import org.dom4j.DocumentException; |
| | | import org.dom4j.DocumentHelper; |
| | | import org.dom4j.Element; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import com.java110.core.log.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 执行java脚本 |
| | | * |
| | | * @param javaCode |
| | | * @throws BusinessException |
| | | */ |
| | | public JSONObject execJava(JSONObject params, String javaCode) throws BusinessException { |
| | | try { |
| | | //JSONObject params = dataQuery.getRequestParams(); |
| | | List<String> columns = new ArrayList<>(); |
| | | Interpreter interpreter = new Interpreter(); |
| | | interpreter.eval(javaCode); |
| | | interpreter.set("params", params); |
| | | interpreter.set("queryServiceDAOImpl",queryServiceDAOImpl); |
| | | JSONObject results = JSONObject.parseObject(interpreter.eval("execute(params,queryServiceDAOImpl)").toString()); |
| | | |
| | | JSONArray data = null; |
| | | if (results == null || results.size() < 1) { |
| | | data = new JSONArray(); |
| | | } else { |
| | | data = results.getJSONArray("data"); |
| | | } |
| | | |
| | | JSONArray th = new JSONArray(); |
| | | for (String key : data.getJSONObject(0).keySet()) { |
| | | th.add(key); |
| | | } |
| | | JSONObject paramOut = new JSONObject(); |
| | | paramOut.put("th", th); |
| | | paramOut.put("td", data); |
| | | paramOut.put("total",results.getString("total")); |
| | | |
| | | return paramOut; |
| | | } catch (Exception e) { |
| | | logger.error("数据交互异常:", e); |
| | | throw new BusinessException(ResponseConstant.RESULT_CODE_INNER_ERROR, "数据交互异常," + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public JSONObject execQuerySql(JSONObject params, String currentSql) throws BusinessException { |
| | | List<Map<String, Object>> results = null; |
| | |
| | | |
| | | Object condObj = Ognl.parseExpression(condition); |
| | | |
| | | Object value = Ognl.getValue(condObj, requestParams); |
| | | OgnlContext context = new OgnlContext(null,null,new DefaultMemberAccess(true)); |
| | | |
| | | Object value = Ognl.getValue(condObj,context, requestParams); |
| | | |
| | | if (value instanceof Boolean) { |
| | | conditionResult = (Boolean) value; |