data/db_cx.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/controller/data/PublishController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/data/PublishService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
data/db_cx.sql
@@ -18,7 +18,7 @@ select * from lf.sys_download where position('管道基础大数据平台' in descr)>0 order by id desc; select * from lf.sys_meta_pub; -- delete from lf.sys_meta_pub where id = 3; select ST_AsText(geom),a.* from lf.sys_publish a; -- delete from lf.sys_publish where id = 1; select * from lf.sys_publish a; -- delete from lf.sys_publish where id = 1; select count(gid) from bd.b_rg20w_anna where 1=1; select ST_AsText(geom) "geom", a.*, fn_get_fullname(a.depid, 1) depName, fn_get_fullname(a.dirid, 2) dirName, fn_uname(create_user) createName, fn_uname(update_user) updateName src/main/java/com/lf/server/controller/data/PublishController.java
@@ -137,7 +137,7 @@ @ApiImplicitParam(name = "entity", value = "实体类", dataType = "PubEntity", paramType = "body") }) @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertForPub(@RequestBody PubEntity entity, HttpServletRequest req) { public ResponseMsg<Object> insertForPub(@RequestBody PubEntity entity, HttpServletRequest req) { try { if (null == entity || null == entity.getIds() || entity.getIds().isEmpty()) { return fail("实体类为空或找不到元数据ID", 0); @@ -153,7 +153,7 @@ } String method = getConvertMethod(entity.getType()); int count = publishService.postForPub(entity, method, req); long count = publishService.postForPub(entity, method, req); return success(count); } catch (Exception ex) { @@ -167,12 +167,12 @@ private String getConvertMethod(String type) throws Exception { switch (type) { case "DOM": return "Convert/ToTiles"; return "/Convert/ToTiles"; case "MPT": case "3DML": return "Convert/ToSG"; return "/Convert/ToSG"; case "BIM": return "Convert/ToTileset"; return "/Convert/ToTileset"; default: throw new Exception("数据类型不匹配"); } src/main/java/com/lf/server/service/data/PublishService.java
@@ -1,15 +1,25 @@ package com.lf.server.service.data; import com.alibaba.fastjson.JSON; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.all.StaticData; import com.lf.server.entity.ctrl.PubEntity; import com.lf.server.entity.data.MetaEntity; import com.lf.server.entity.data.PublishEntity; import com.lf.server.entity.show.ExportEntity; import com.lf.server.helper.RestHelper; import com.lf.server.helper.StringHelper; import com.lf.server.mapper.data.PublishMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.lang.reflect.Field; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 数据发布 @@ -17,6 +27,9 @@ */ @Service public class PublishService implements PublishMapper { @Value("${sys.exportServer}") private String exportServer; @Autowired PublishMapper publishMapper; @@ -95,9 +108,44 @@ /** * 发送发布请求 */ public int postForPub(PubEntity entity, String method, HttpServletRequest req) throws Exception { Thread.sleep(30000); public long postForPub(PubEntity entity, String method, HttpServletRequest req) throws Exception { Map<String, Object> map = getMapData(entity); return 0; String str = RestHelper.postForRest(exportServer + method, map); if (StringHelper.isEmpty(str)) { return 0; } ResponseMsg<String> msg = JSON.parseObject(str, ResponseMsg.class); if (msg == null || msg.getCode() != StaticData.TWO_HUNDRED) { return 0; } return msg.getCount(); } /** * 获取Map数据 */ private Map<String, Object> getMapData(PubEntity entity) { Map<String, Object> map = new HashMap<>(3); Field[] fields = entity.getClass().getDeclaredFields(); for (Field field : fields) { try { if ("serialVersionUID".equals(field.getName())) { continue; } field.setAccessible(true); Object obj = field.get(entity); map.put(field.getName(), obj); } catch (Exception ex) { // } } return map; } }