月球大数据地理空间分析展示平台-【后端】-月球后台服务
13693261870
2023-09-02 457ed9442bf9fcb36baf2babf0bc2252b5ac4247
src/main/java/com/moon/server/service/data/ShuJianService.java
@@ -1,15 +1,21 @@
package com.moon.server.service.data;
import com.alibaba.druid.support.spring.stat.annotation.Stat;
import com.moon.server.entity.all.StaticData;
import com.moon.server.entity.ctrl.PubEntity;
import com.moon.server.entity.data.PublishEntity;
import com.moon.server.entity.shujian.CreateLayerEntity;
import com.moon.server.entity.shujian.CreateServiceEntity;
import com.moon.server.entity.shujian.DeleteEntity;
import com.moon.server.entity.shujian.*;
import com.moon.server.helper.HttpHelper;
import com.moon.server.helper.StringHelper;
import io.swagger.models.auth.In;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -20,10 +26,54 @@
public class ShuJianService {
    private final static Log log = LogFactory.getLog(ShuJianService.class);
    @Value("${shujian.ak}")
    private String ak;
    @Value("${shujian.url}")
    private String sjUrl;
    @Resource
    PublishService publishService;
    /**
     * 创建数简图层
     * 分页查询数简的颜色表
     */
    public void createShuJianLayer() {
    public void selectSjColorTables(Integer pageSize, Integer pageIndex, HttpServletRequest req, HttpServletResponse res) {
        try {
            String url = String.format("%s/sj_raster/v6/api/color_table?%s&page_count=%d&page_num=%d&key=", sjUrl, ak, pageSize, pageIndex);
            HttpHelper httpHelper = new HttpHelper();
            httpHelper.service(req, res, null, url);
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
        }
    }
    /**
     * 插入数简服务
     */
    public Integer insertSjService(PubEntity pubEntity, HttpServletRequest req, HttpServletResponse res) {
        CreateLayerEntity layerEntity = createLayerEntity(pubEntity);
        LayerResultEntity layerResult = postLayerEntity(layerEntity);
        if (null == layerResult || !StaticData.SUCCESS.equals(layerResult.getStatus()) || null == layerResult.getResult().getLayer_id()) {
            return 0;
        }
        CreateServiceEntity serviceEntity = createServiceEntity(pubEntity);
        ServiceResultEntity serviceResult = postServiceEntity(serviceEntity);
        if (null == serviceResult || !StaticData.SUCCESS.equals(serviceResult.getStatus()) || null == serviceResult.getResult()) {
            return 0;
        }
        PublishEntity publishEntity = createPublishEntity(pubEntity, layerResult.getResult().getLayer_id(), serviceResult.getResult());
        return publishService.insert(publishEntity);
    }
    /**
     * 创建图层实体类
     */
    public CreateLayerEntity createLayerEntity(PubEntity pubEntity) {
        CreateLayerEntity entity = new CreateLayerEntity(1, 3);
        entity.setCreate_service(0);
@@ -45,12 +95,23 @@
        List<CreateLayerEntity.ImageList> imageLists = entity.getImage_list();
        CreateLayerEntity.ImageList imageList = imageLists.get(0);
        imageList.setPath("");
        return entity;
    }
    /**
     * 创建数简服务
     * 发送图层实体类
     */
    public void createShuJianService() {
    public LayerResultEntity postLayerEntity(CreateLayerEntity layerEntity) {
        //
        return new LayerResultEntity();
    }
    /**
     * 创建服务实体类
     */
    public CreateServiceEntity createServiceEntity(PubEntity pubEntity) {
        CreateServiceEntity entity = new CreateServiceEntity();
        List<Integer> layerList = entity.getLayer_list();
@@ -66,44 +127,89 @@
        services.setSat_id(-1);
        services.setSensor_id(-1);
        services.setImage_type(-1);
        return entity;
    }
    /**
     * 发送图层实体类
     */
    public ServiceResultEntity postServiceEntity(CreateServiceEntity serviceEntity) {
        //
        return new ServiceResultEntity();
    }
    /**
     * 创建发布实体类
     */
    public PublishEntity createPublishEntity(PubEntity pub, Integer layerId, Integer serviceId) {
        PublishEntity entity = new PublishEntity();
        entity.setType(pub.getType());
        entity.setName(pub.getName());
        entity.setMin(pub.getMin());
        entity.setMax(pub.getMax());
        entity.setBak((StaticData.I104903 == pub.getEpsgCode() ? "ESRI:" : "EPSG:") + pub.getEpsgCode());
        entity.setCreateUser(pub.getUserId());
        return entity;
    }
    /**
     * 插入数简服务
     */
    public Integer updateSjService(PubEntity pubEntity, HttpServletRequest req, HttpServletResponse res) {
        //
        return 1;
    }
    /**
     * 删除数简服务
     */
    public void deleteServe(PublishEntity entity) {
        if (null != entity.getLayerid()) {
            deleteLayer(entity.getLayerid());
    public Integer deletesSjServices(List<Integer> ids) {
        String strs = StringHelper.join(ids, ",");
        List<PublishEntity> list = publishService.selectByIds(strs);
        if (null == list || list.isEmpty()) {
            return 0;
        }
        if (null != entity.getServiceid()) {
            deleteService(entity.getServiceid());
        for (PublishEntity entity : list) {
            if (null != entity.getLayerid()) {
                deleteLayer(entity.getLayerid());
            }
            if (null != entity.getServiceid()) {
                deleteService(entity.getServiceid());
            }
        }
        return publishService.deletes(strs);
    }
    /**
     * 删除数简图层
     * 删除图层
     */
    public void deleteLayer(Integer id) {
        try {
            DeleteEntity entity = new DeleteEntity();
            entity.getId_list().add(id);
            //
            //..
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
        }
    }
    /**
     * 删除数简图层
     * 删除服务
     */
    public void deleteService(Integer id) {
        try {
            DeleteEntity entity = new DeleteEntity();
            entity.getId_list().add(id);
            //
            //..
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
        }