From 866b1e4d88a7121c22bfb13502a9028de342567a Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 02 九月 2023 20:28:24 +0800 Subject: [PATCH] 数简-添加删除服务接口 --- src/main/java/com/moon/server/service/data/ShuJianService.java | 103 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 86 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/moon/server/service/data/ShuJianService.java b/src/main/java/com/moon/server/service/data/ShuJianService.java index 9975975..891c410 100644 --- a/src/main/java/com/moon/server/service/data/ShuJianService.java +++ b/src/main/java/com/moon/server/service/data/ShuJianService.java @@ -1,22 +1,28 @@ package com.moon.server.service.data; -import com.alibaba.druid.support.spring.stat.annotation.Stat; +import com.alibaba.fastjson.JSON; 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.*; import com.moon.server.helper.HttpHelper; +import com.moon.server.helper.RestHelper; 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.http.HttpMethod; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Field; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 鏁扮畝.鏈嶅姟 @@ -54,18 +60,18 @@ */ 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()) { + Integer layerId = postLayerEntity(layerEntity); + if (null == layerId) { return 0; } CreateServiceEntity serviceEntity = createServiceEntity(pubEntity); - ServiceResultEntity serviceResult = postServiceEntity(serviceEntity); - if (null == serviceResult || !StaticData.SUCCESS.equals(serviceResult.getStatus()) || null == serviceResult.getResult()) { + Integer serviceId = postServiceEntity(serviceEntity); + if (null == serviceId) { return 0; } - PublishEntity publishEntity = createPublishEntity(pubEntity, layerResult.getResult().getLayer_id(), serviceResult.getResult()); + PublishEntity publishEntity = createPublishEntity(pubEntity, layerId, serviceId); return publishService.insert(publishEntity); } @@ -102,10 +108,19 @@ /** * 鍙戦�佸浘灞傚疄浣撶被 */ - public LayerResultEntity postLayerEntity(CreateLayerEntity layerEntity) { - // + 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); - return new LayerResultEntity(); + String str = RestHelper.postForRest(url, map); + if (StringHelper.isEmpty(str)) { + return null; + } + + LayerResultEntity rs = JSON.parseObject(str, LayerResultEntity.class); + boolean flag = null == rs || !StaticData.SUCCESS.equals(rs.getStatus()) || null == rs.getResult().getLayer_id(); + + return flag ? null : rs.getResult().getLayer_id(); } /** @@ -134,10 +149,19 @@ /** * 鍙戦�佸浘灞傚疄浣撶被 */ - public ServiceResultEntity postServiceEntity(CreateServiceEntity serviceEntity) { - // + public Integer postServiceEntity(CreateServiceEntity serviceEntity) { + Map<String, Object> map = getMapData(serviceEntity); + String url = String.format("%s/sj_raster/v6/api/service?op=create_ex&%s", sjUrl, ak); - return new ServiceResultEntity(); + String str = RestHelper.postForRest(url, map); + if (StringHelper.isEmpty(str)) { + return null; + } + + ServiceResultEntity rs = JSON.parseObject(str, ServiceResultEntity.class); + boolean flag = null == rs || !StaticData.SUCCESS.equals(rs.getStatus()) || null == rs.getResult(); + + return flag ? null : rs.getResult(); } /** @@ -190,28 +214,73 @@ /** * 鍒犻櫎鍥惧眰 */ - public void deleteLayer(Integer id) { + public boolean deleteLayer(Integer id) { try { DeleteEntity entity = new DeleteEntity(); entity.getId_list().add(id); - //.. + Map<String, Object> map = getMapData(entity); + String url = String.format("%s/sj_raster/sj_raster/v6/api/layer?%s", sjUrl, ak); + + DeleteResultEntity rs = deleteObject(url, map); + + return null != rs && StaticData.SUCCESS.equals(rs.getStatus()); } catch (Exception ex) { log.error(ex.getMessage(), ex); + return false; } } /** * 鍒犻櫎鏈嶅姟 */ - public void deleteService(Integer id) { + public boolean deleteService(Integer id) { try { DeleteEntity entity = new DeleteEntity(); entity.getId_list().add(id); - //.. + Map<String, Object> map = getMapData(entity); + String url = String.format("%s/sj_raster/sj_raster/v6/api/service?%s", sjUrl, ak); + + DeleteResultEntity rs = deleteObject(url, map); + + return null != rs && StaticData.SUCCESS.equals(rs.getStatus()); } catch (Exception ex) { log.error(ex.getMessage(), ex); + return false; } } + + public DeleteResultEntity deleteObject(String url, Map<String, Object> map) { + RestTemplate rest = RestHelper.getRestTemplate(); + + ResponseEntity<DeleteResultEntity> rs = rest.exchange(url, HttpMethod.DELETE, null, DeleteResultEntity.class, map); + + return rs.getBody(); + } + + /** + * 鑾峰彇Map鏁版嵁 + */ + public <T> Map<String, Object> getMapData(T t) { + Map<String, Object> map = new HashMap<>(1); + + Field[] fields = t.getClass().getDeclaredFields(); + for (Field field : fields) { + try { + if ("serialVersionUID".equals(field.getName())) { + continue; + } + + field.setAccessible(true); + Object obj = field.get(t); + + map.put(field.getName(), obj); + } catch (Exception ex) { + // + } + } + + return map; + } } -- Gitblit v1.9.3