| | |
| | | import com.yb.helper.RsaHelper;
|
| | | import com.yb.util.EntityHttpUtil;
|
| | |
|
| | | import org.apache.commons.lang3.StringUtils;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.stereotype.Service;
|
| | | import org.locationtech.jts.geom.*;
|
| | |
| | | private EntityHttpUtil entityHttpUtil;
|
| | | @Autowired
|
| | | private AgentService agentService;
|
| | | int num = 40;
|
| | |
|
| | | // 关键字查询
|
| | | public String getQueryFiled(String place, String filed, String layerId, String dbId, String queryEntity) throws Exception {
|
| | |
|
| | | String querySQL = "";
|
| | | String valSql = " like '%" + place + "%'";
|
| | | String querySQL = getQuerySql(valSql, filed);
|
| | | String key = getPublickey();
|
| | | String query = getQuerySql(valSql, filed);
|
| | | // int num = 40;
|
| | | if (query.length() > num) {
|
| | | String[] sbuString = getSqlSubStr(query, num);
|
| | | for (int w = 0; w < sbuString.length; w++) {
|
| | | if (w > 0) {
|
| | | querySQL += ",";
|
| | | }
|
| | | querySQL += RsaHelper.encrypt(key, sbuString[w]);
|
| | | }
|
| | | } else {
|
| | | querySQL += RsaHelper.encrypt(key, query);
|
| | | }
|
| | | System.out.println("rec getQueryFiled:" + querySQL);
|
| | | HashMap formData = getHashMap(layerId, dbId, "1", "0", querySQL, null);
|
| | | String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
|
| | | System.out.println("rec getQueryFiled:" + jsonString);
|
| | |
| | | return "";
|
| | | }
|
| | |
|
| | | private String getQuerySql(String valSql, String filed) throws Exception {
|
| | | String key = getPublickey();
|
| | | String querySQL = "";
|
| | | public String[] getSqlSubStr(String str, int chunkSize) {
|
| | | int numChunks = (str.length() + chunkSize - 1) / chunkSize;
|
| | | String[] chunks = new String[numChunks];
|
| | | for (int i = 0; i < numChunks; i++) {
|
| | | int start = i * chunkSize;
|
| | | int end = Math.min(start + chunkSize, str.length());
|
| | | chunks[i] = str.substring(start, end);
|
| | | }
|
| | | return chunks;
|
| | | }
|
| | |
|
| | | public String getQuerySql(String valSql, String filed) {
|
| | | String query = "";
|
| | | if (filed.indexOf(",") > -1) {
|
| | | String[] fileds = filed.split(",");
|
| | | for (int i = 0; i < fileds.length; i++) {
|
| | | String name = fileds[i];
|
| | | if (i > 0) {
|
| | | querySQL += ";";
|
| | | query += " or ";
|
| | | }
|
| | | String Sql = name + valSql + "";
|
| | | querySQL += RsaHelper.encrypt(key, Sql);
|
| | | query += name + valSql;
|
| | | }
|
| | | query += "";
|
| | | } else {
|
| | | String Sql = filed + valSql + "";
|
| | | querySQL = RsaHelper.encrypt(key, Sql);
|
| | | query = filed + valSql + "";
|
| | | }
|
| | | return querySQL;
|
| | |
|
| | | return query;
|
| | | }
|
| | |
|
| | |
|
| | | // 关键字查询
|
| | | public String getQueryEntity(String place, String filed, String layerId, String dbId, String queryEntity) throws Exception {
|
| | | String valSql = " like '%" + place + "%'";
|
| | | String querySQL = getQuerySql(valSql, filed);
|
| | | String key = getPublickey();
|
| | | String query = getQuerySql(valSql, filed);
|
| | | String querySQL = "";
|
| | | // int num = 40;
|
| | | if (query.length() > num) {
|
| | | String[] sbuString = getSqlSubStr(query, num);
|
| | | for (int w = 0; w < sbuString.length; w++) {
|
| | | if (w > 0) {
|
| | | querySQL += ",";
|
| | | }
|
| | | querySQL += RsaHelper.encrypt(key, sbuString[w]);
|
| | | }
|
| | | } else {
|
| | | querySQL += RsaHelper.encrypt(key, query);
|
| | | }
|
| | | HashMap formData = getHashMap(layerId, dbId, "1", "100", querySQL, null);
|
| | | formData.put("querytype", "entity");
|
| | | String jsonString1 = entityHttpUtil.getPostMessage(queryEntity, formData);
|