月球大数据地理空间分析展示平台-【后端】-月球后台服务
13693261870
2023-09-06 8935ec073fc3bc7bb2f71ce7170316bfbb54ea55
src/main/java/com/moon/server/service/data/ShuJianService.java
@@ -7,6 +7,7 @@
import com.moon.server.entity.data.MetaPubEntity;
import com.moon.server.entity.data.PublishEntity;
import com.moon.server.entity.shujian.*;
import com.moon.server.entity.sys.ResEntity;
import com.moon.server.helper.HttpHelper;
import com.moon.server.helper.PathHelper;
import com.moon.server.helper.RestHelper;
@@ -91,12 +92,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;
        }
        return insertMetaPub(pub, id);
        ResEntity resEntity = createResEntity(publishEntity);
        resService.insert(resEntity);
        return insertMetaPub(pub, publishEntity.getId());
    }
    /**
@@ -116,8 +120,9 @@
        layer.setEnhance_type(pub.getEnhanceType());
        layer.setNodata(getNoData(pub, metas));
        CreateLayerEntity.ImagePathList imagePathList = entity.getImage_path_list().get(0);
        CreateLayerEntity.ImagePathList imagePathList = entity.new ImagePathList();
        imagePathList.setPath(pathHelper.getConfig().getUploadPath());
        entity.getImage_path_list().add(imagePathList);
        List<CreateLayerEntity.ImageList> imageLists = entity.getImage_list();
        for (MetaEntity meta : metas) {
@@ -172,7 +177,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?%s", sjUrl, ak);
        LayerResultEntity rs = postForRest(url, map, LayerResultEntity.class);
        boolean flag = null == rs || !StaticData.SUCCESS.equals(rs.getStatus()) || null == rs.getResult().getLayer_id();
@@ -223,22 +228,66 @@
     */
    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;
    }
    /**
     * 创建资源实体类
     */
    private ResEntity createResEntity(PublishEntity pub) {
        ResEntity entity = new ResEntity();
        entity.setCnName(pub.getName());
        // 状态:0-禁用,1-启用原始地址,2-启用代理地址
        entity.setStatus(2);
        // 服务类别:0-其他,1-GisServer,2-GeoServer,3-数简
        entity.setCategory(3);
        // 服务类型:0-URL,1-TMS,2-WMTS,3-WMS,4-WFS,5-Tileset
        entity.setType(StaticData.DOM.equals(pub.getType()) ? 2 : 0);
        // 数据类型:0-URL,1-DOM,2-DEM
        entity.setData(StaticData.DOM.equals(pub.getType()) ? 1 : 2);
        entity.setUrl(pub.getUrl());
        entity.setArgs(ak);
        entity.setDescr("系统自动创建");
        entity.setDepid(pub.getDepid());
        entity.setDirid(pub.getDirid());
        entity.setCreateUser(pub.getCreateUser());
        entity.setPubid(pub.getId());
        return entity;
    }
    /**
     * 获取颜色表类型
     */
    private String getColorTableType(PubEntity pub) {
        if (null == pub.getColorTable() && null == pub.getGradientColorTable()) {
            return null;
        }
        if (null != pub.getGradientColorTable()) {
            return "渐变颜色表";
        }
        return "普通颜色表";
    }
    /**
@@ -308,7 +357,20 @@
            entity.setGeom(StaticData.NULL);
        }
        return publishService.update(entity);
        int rows = publishService.update(entity);
        if (0 == rows) {
            return 0;
        }
        ResEntity resEntity = resService.selectByPubid(entity.getId());
        if (null == resEntity) {
            resEntity = createResEntity(entity);
            return resService.insert(resEntity);
        } else {
            resEntity.setCnName(entity.getName());
            resEntity.setUrl(entity.getUrl());
            return resService.update(resEntity);
        }
    }
    /**