管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-04-23 7f6e42163928987b55894e9c3a3eb085f8a0e61c
1
已修改3个文件
68 ■■■■■ 文件已修改
src/main/java/com/lf/server/controller/show/InquiryController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/all/StaticData.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/show/InquiryService.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/show/InquiryController.java
@@ -104,7 +104,10 @@
            }
            UserEntity ue = tokenService.getCurrentUser(req);
            String guid = inquiryService.downloadTiles(dt, pub, ue);
            String guid = inquiryService.zipTiles(dt, pub, ue);
            if (null == guid) {
                return fail("没有瓦片需要打包下载");
            }
            return success(guid);
        } catch (Exception ex) {
src/main/java/com/lf/server/entity/all/StaticData.java
@@ -38,6 +38,8 @@
    public static final int I12 = 12;
    public static final int I23 = 23;
    public static final int I24 = 24;
    public static final int I31 = 31;
src/main/java/com/lf/server/service/show/InquiryService.java
@@ -1,5 +1,7 @@
package com.lf.server.service.show;
import com.lf.server.config.PropertiesConfig;
import com.lf.server.entity.all.StaticData;
import com.lf.server.entity.ctrl.DownloadTileEntity;
import com.lf.server.entity.ctrl.ShpRecordEntity;
import com.lf.server.entity.data.MetaFileEntity;
@@ -10,6 +12,9 @@
import com.lf.server.helper.StringHelper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
@@ -18,6 +23,9 @@
 */
@Service
public class InquiryService {
    @Resource
    PropertiesConfig config;
    /**
     * 读取Shp第一条记录的WKT
     */
@@ -40,11 +48,58 @@
    }
    /**
     * 下载瓦片
     * 打包瓦片
     */
    public String downloadTiles(DownloadTileEntity dt, PublishEntity pub, UserEntity ue) {
    public String zipTiles(DownloadTileEntity dt, PublishEntity pub, UserEntity ue) {
        if (!TilePathExist(pub)) {
            return null;
        }
        List<String> list = findTiles(dt, pub);
        if (list.isEmpty()) {
            return null;
        }
        return "";
        return "aaa";
    }
    /**
     * 瓦片路径是否存在
     */
    private boolean TilePathExist(PublishEntity pub) {
        String tilePath = config.getTilePath().replace("2d\\tiles", "") + File.separator + pub.getPath();
        File f = new File(tilePath);
        if (!f.exists() || !f.isDirectory()) {
            return false;
        }
        pub.setPath(tilePath);
        return true;
    }
    /**
     * 查找瓦片
     */
    private List<String> findTiles(DownloadTileEntity dt, PublishEntity pub) {
        List<String> list = new ArrayList<>();
        for (int i = 0; i < StaticData.I23; i++) {
            findTilesByZoom(dt, pub, i, list);
        }
        return list;
    }
    /**
     * 根据层次查找瓦片
     */
    private void findTilesByZoom(DownloadTileEntity dt, PublishEntity pub, int zoom, List<String> list) {
        File f = new File(pub.getPath() + File.separator + zoom);
        if (!f.exists() || !f.isDirectory()) {
            return;
        }
        //
    }
}