From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 02 七月 2025 16:43:13 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service --- src/main/java/com/lf/server/service/show/ExportService.java | 92 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 72 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/lf/server/service/show/ExportService.java b/src/main/java/com/lf/server/service/show/ExportService.java index 19f739b..6de55a9 100644 --- a/src/main/java/com/lf/server/service/show/ExportService.java +++ b/src/main/java/com/lf/server/service/show/ExportService.java @@ -2,17 +2,23 @@ import com.alibaba.fastjson.JSON; import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.data.DownloadEntity; import com.lf.server.entity.show.ExportEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.FileHelper; +import com.lf.server.helper.PathHelper; import com.lf.server.helper.RestHelper; import com.lf.server.helper.StringHelper; -import org.apache.http.NameValuePair; -import org.apache.http.message.BasicNameValuePair; +import com.lf.server.service.data.DownloadService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.io.File; import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.List; +import java.util.HashMap; +import java.util.Map; /** * 鍦ㄧ嚎鍒跺浘 @@ -20,47 +26,93 @@ */ @Service public class ExportService { - @Value("${sys.path.exportServer}") + @Value("${sys.exportServer}") private String exportServer; - public String post(ExportEntity entity) { - List<NameValuePair> nvPair = getPostEntity(entity); + @Autowired + PathHelper pathHelper; + + @Autowired + DownloadService downloadService; + + /** + * POST璇锋眰鍑哄浘鏈嶅姟 + * + * @param ue 鐢ㄦ埛绫� + * @param entity 鍦ㄧ嚎鍒跺浘绫� + * @return 鎴愬姛 + * @throws Exception + */ + public String post(UserEntity ue, ExportEntity entity) throws Exception { + Map<String, Object> map = getMapData(entity); String url = exportServer + "/Export/Start"; - String str = RestHelper.post(url, nvPair); + String str = RestHelper.postForRest(url, map); if (StringHelper.isEmpty(str)) { return null; } ResponseMsg<String> msg = JSON.parseObject(str, ResponseMsg.class); - if (msg == null || msg.getCode() != 200) { + if (msg == null || msg.getCode() != StaticData.TWO_HUNDRED) { return null; } - return msg.getResult(); + String file = pathHelper.getConfig().getDownloadPath() + File.separator + msg.getResult(); + File f = new File(file); + if (!f.exists() && !f.isDirectory()) { + return null; + } + + DownloadEntity de = getDownloadEntity(ue, entity, file); + int rows = downloadService.insert(de); + + return rows > 0 ? de.getGuid() : null; } - private List<NameValuePair> getPostEntity(ExportEntity entity) { - List<NameValuePair> list = new ArrayList<NameValuePair>(); + /** + * 鑾峰彇Map鏁版嵁 + */ + private Map<String, Object> getMapData(ExportEntity entity) { + Map<String, Object> map = new HashMap<String, Object>(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); - String val = null; - if (obj != null) { - val = String.valueOf(obj); - } - - BasicNameValuePair nvp = new BasicNameValuePair(field.getName(), val); - list.add(nvp); + map.put(field.getName(), obj); } catch (Exception ex) { // } } - return list; + return map; + } + + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ + private DownloadEntity getDownloadEntity(UserEntity ue, ExportEntity entity, String file) throws Exception { + DownloadEntity de = new DownloadEntity(); + de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 + de.setType(2); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); + de.setDepid(ue.getDepid()); + de.setDcount(0); + // de.setPwd(null) + de.setUrl(FileHelper.getRelativePath(file)); + // de.setDescr("涓撻鍥炬枃浠�") + de.setDescr(StringHelper.isEmpty(entity.getTitle()) ? "涓撻鍥炬枃浠�" : entity.getTitle().trim()); + de.setGuid(FileHelper.getFileMd5(file)); + de.setCreateUser(ue.getId()); + // de.setGeom(null) + + return de; } } -- Gitblit v1.9.3