月球大数据地理空间分析展示平台-【后端】-月球后台服务
13693261870
2023-09-06 39272cfdb16b5c7d4033ac06ce314e25b1e5c6ba
src/main/java/com/moon/server/service/data/ShuJianService.java
@@ -39,6 +39,9 @@
    @Value("${shujian.url}")
    String sjUrl;
    @Value("${shujian.path}")
    String sjPath;
    @Resource
    PathHelper pathHelper;
@@ -92,16 +95,15 @@
        }
        PublishEntity publishEntity = createPublishEntity(pub, layerId, serviceId);
        Integer id = publishService.insert(publishEntity);
        if (null == id) {
            return id;
        int rows = publishService.insert(publishEntity);
        if (0 == rows) {
            return 0;
        }
        publishEntity.setId(id);
        ResEntity resEntity = createResEntity(publishEntity);
        resService.insert(resEntity);
        return insertMetaPub(pub, id);
        return insertMetaPub(pub, publishEntity.getId());
    }
    /**
@@ -121,13 +123,14 @@
        layer.setEnhance_type(pub.getEnhanceType());
        layer.setNodata(getNoData(pub, metas));
        CreateLayerEntity.ImagePathList imagePathList = entity.getImage_path_list().get(0);
        imagePathList.setPath(pathHelper.getConfig().getUploadPath());
        CreateLayerEntity.ImagePathList imagePathList = entity.new ImagePathList();
        imagePathList.setPath(sjPath);
        entity.getImage_path_list().add(imagePathList);
        List<CreateLayerEntity.ImageList> imageLists = entity.getImage_list();
        for (MetaEntity meta : metas) {
            CreateLayerEntity.ImageList imageList = entity.new ImageList();
            imageList.setPath(meta.getPath());
            imageList.setPath(meta.getPath().replace("\\", "/"));
            imageLists.add(imageList);
        }
@@ -148,7 +151,7 @@
    /**
     * 获取 nodata
     */
    private List<String> getNoData(PubEntity pub, List<MetaEntity> metas) {
    private List<Integer> getNoData(PubEntity pub, List<MetaEntity> metas) {
        int bands = 1;
        for (MetaEntity meta : metas) {
            if (StringHelper.isEmpty(meta.getBands())) {
@@ -164,9 +167,9 @@
            }
        }
        List<String> list = new ArrayList<>();
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < bands; i++) {
            list.add(String.valueOf(pub.getNodata()));
            list.add(pub.getNodata());
        }
        return list;
@@ -177,7 +180,7 @@
     */
    public Integer postLayerEntity(CreateLayerEntity layerEntity) {
        Map<String, Object> map = getMapData(layerEntity);
        String url = String.format("%s/sj_raster/sj_raster/v6/api/layer?%s", sjUrl, ak);
        String url = String.format("%s/sj_raster/v6/api/layer?op=create_ex&%s", sjUrl, ak);
        LayerResultEntity rs = postForRest(url, map, LayerResultEntity.class);
        boolean flag = null == rs || !StaticData.SUCCESS.equals(rs.getStatus()) || null == rs.getResult().getLayer_id();
@@ -228,20 +231,25 @@
     */
    public PublishEntity createPublishEntity(PubEntity pub, Integer layerId, Integer serviceId) {
        PublishEntity entity = new PublishEntity();
        entity.setType(pub.getType());
        entity.setLayerid(layerId);
        entity.setServiceid(serviceId);
        entity.setEventid(pub.getUuid());
        entity.setName(pub.getName());
        entity.setUrl(String.format(TYPES.get(0).equals(pub.getType()) ? DOM_FORMAT : DEM_FORMAT, sjUrl, serviceId, StaticData.I0));
        entity.setPath(null);
        entity.setType(pub.getType());
        entity.setStatus(3);
        entity.setDirid(pub.getDircode());
        entity.setDepid(pub.getDepcode());
        entity.setEnhanceType(pub.getEnhanceType());
        entity.setMin(pub.getMin());
        entity.setMax(pub.getMax());
        entity.setEpsg(pub.getEpsg());
        entity.setCreateUser(pub.getUserId());
        entity.setDirid(pub.getDircode());
        entity.setDepid(pub.getDepcode());
        entity.setStatus(3);
        entity.setLayerid(layerId);
        entity.setServiceid(serviceId);
        entity.setEventid(pub.getUuid());
        entity.setJson(getColorTableJson(pub));
        entity.setUrl(String.format(TYPES.get(0).equals(pub.getType()) ? DOM_FORMAT : DEM_FORMAT, sjUrl, serviceId, StaticData.I0));
        entity.setCtType(getColorTableType(pub));
        entity.setCtJson(getColorTableJson(pub));
        entity.setCreateUser(pub.getUserId());
        entity.setGeom("null");
        return entity;
    }
@@ -272,6 +280,20 @@
    }
    /**
     * 获取颜色表类型
     */
    private String getColorTableType(PubEntity pub) {
        if (null == pub.getColorTable() && null == pub.getGradientColorTable()) {
            return null;
        }
        if (null != pub.getGradientColorTable()) {
            return "渐变颜色表";
        }
        return "普通颜色表";
    }
    /**
     * 获取颜色表的JSON字符串
     */
    public String getColorTableJson(PubEntity pub) {