| | |
| | | import com.java110.entity.service.ServiceSql; |
| | | import com.java110.service.dao.IQueryServiceDAO; |
| | | import com.java110.service.smo.IQueryServiceSMO; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | |
| | | @Override |
| | | public void commonQueryService(DataQuery dataQuery) throws BusinessException { |
| | | //查询缓存查询 对应处理的ServiceSql |
| | | ResponseEntity<String> responseEntity = null; |
| | | try { |
| | | ServiceSql currentServiceSql = ServiceSqlCache.getServiceSql(dataQuery.getServiceCode()); |
| | | if (currentServiceSql == null) { |
| | |
| | | dataQuery.setServiceSql(currentServiceSql); |
| | | if (CommonConstant.QUERY_MODEL_SQL.equals(currentServiceSql.getQueryModel())) { |
| | | doExecuteSql(dataQuery); |
| | | return; |
| | | }else if(CommonConstant.QUERY_MODE_JAVA.equals(currentServiceSql.getQueryModel())){ |
| | | doExecuteJava(dataQuery); |
| | | return ; |
| | | }else { |
| | | doExecuteProc(dataQuery); |
| | | } |
| | | doExecuteProc(dataQuery); |
| | | responseEntity = new ResponseEntity<String>(dataQuery.getResponseInfo().toJSONString(), HttpStatus.OK); |
| | | }catch (BusinessException e){ |
| | | logger.error("公用查询异常:",e); |
| | | dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_PARAM_ERROR, |
| | | e.getMessage())); |
| | | /*dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_PARAM_ERROR, |
| | | e.getMessage()));*/ |
| | | responseEntity = new ResponseEntity<String>("请求发生异常,"+e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR); |
| | | }finally { |
| | | dataQuery.setResponseEntity(responseEntity); |
| | | } |
| | | |
| | | |
| | | } |
| | | @Override |
| | |
| | | } |
| | | } else { |
| | | currentSqlNew += "?"; |
| | | currentParams.add(params.get(sqls[sqlIndex]) instanceof Integer ? params.getInteger(sqls[sqlIndex]) : "" + params.getString(sqls[sqlIndex]) + ""); |
| | | Object param = params.getString(sqls[sqlIndex]); |
| | | if(params.get(sqls[sqlIndex]) instanceof Integer){ |
| | | param = params.getInteger(sqls[sqlIndex]); |
| | | } |
| | | //这里对 page 和 rows 特殊处理 ,目前没有想到其他的办法 |
| | | if(StringUtils.isNumeric(param.toString()) && "page,rows".contains(sqls[sqlIndex])){ |
| | | param = Integer.parseInt(param.toString()); |
| | | } |
| | | currentParams.add(param); |
| | | //currentSqlNew += params.get(sqls[sqlIndex]) instanceof Integer ? params.getInteger(sqls[sqlIndex]) : "'" + params.getString(sqls[sqlIndex]) + "'"; |
| | | } |
| | | } |