From 657bac701c88d7aee9a3906721dd4218c9baa166 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 11 十一月 2022 13:22:08 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/show/ExportService.java       |   66 ++++++++++++++++++++++
 src/main/java/com/lf/server/aspect/LogAspect.java                 |   15 ++--
 src/main/java/com/lf/server/controller/show/ExportController.java |   51 +++++++++++++++--
 src/main/resources/application.yml                                |    2 
 4 files changed, 121 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/lf/server/aspect/LogAspect.java b/src/main/java/com/lf/server/aspect/LogAspect.java
index 881cad1..d077b6e 100644
--- a/src/main/java/com/lf/server/aspect/LogAspect.java
+++ b/src/main/java/com/lf/server/aspect/LogAspect.java
@@ -124,25 +124,26 @@
      * 鑾峰彇鎿嶄綔绫诲瀷
      */
     private static int getType(String methodName) {
-        if (methodName.indexOf(SELECT) > -1) {
+        if (methodName.contains(SELECT)) {
             return 1;
         }
-        if (methodName.indexOf(INSERT) > -1) {
+        if (methodName.contains(INSERT)) {
             return 2;
         }
-        if (methodName.indexOf(UPDATE) > -1) {
+        if (methodName.contains(UPDATE)) {
             return 3;
         }
-        if (methodName.indexOf(DELETE) > -1) {
+        if (methodName.contains(DELETE)) {
             return 4;
         }
-        if (methodName.indexOf(UPLOAD) > -1) {
+        if (methodName.contains(UPLOAD)) {
             return 5;
         }
-        if (methodName.indexOf(DOWNLOAD) > -1) {
+        if (methodName.contains(DOWNLOAD)) {
             return 6;
         }
-        if (methodName.indexOf(COUNT) > -1) {
+        // methodName.indexOf(COUNT) > -1
+        if (methodName.contains(COUNT)) {
             return 7;
         }
 
diff --git a/src/main/java/com/lf/server/controller/show/ExportController.java b/src/main/java/com/lf/server/controller/show/ExportController.java
index b3f1d5f..210abe8 100644
--- a/src/main/java/com/lf/server/controller/show/ExportController.java
+++ b/src/main/java/com/lf/server/controller/show/ExportController.java
@@ -4,14 +4,20 @@
 import com.lf.server.controller.all.BaseController;
 import com.lf.server.entity.all.ResponseMsg;
 import com.lf.server.entity.data.DictEntity;
+import com.lf.server.entity.show.ExportEntity;
+import com.lf.server.entity.sys.UserEntity;
+import com.lf.server.helper.StringHelper;
+import com.lf.server.service.data.DownloadService;
+import com.lf.server.service.show.ExportService;
+import com.lf.server.service.sys.TokenService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 /**
@@ -22,6 +28,15 @@
 @RestController
 @RequestMapping("/export")
 public class ExportController  extends BaseController {
+    @Autowired
+    ExportService exportService;
+
+    @Autowired
+    TokenService tokenService;
+
+    @Autowired
+    DownloadService downloadService;
+
     @SysLog()
     @ApiOperation(value = "鍒嗛〉鏌ヨ")
     @ApiImplicitParams({
@@ -45,13 +60,37 @@
         }
     }
 
-    public ResponseMsg<String> upload() {
+    @SysLog()
+    @ApiOperation(value = "鏂板缓鍑哄浘")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "鍦ㄧ嚎鍒跺浘瀹炰綋绫�", dataType = "ExportEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/insertMap", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<String> insertMap(@RequestBody ExportEntity entity, HttpServletRequest req) {
         try {
+            if (entity == null ||
+                    StringHelper.isEmpty(entity.getLayers()) ||
+                    StringHelper.isEmpty(entity.getToken()) ||
+                    (entity.getXmin() == 0 && entity.getYmin() == 0 && entity.getXmax() == 0 && entity.getYmax() == 0)) {
+                return fail("鍙傛暟涓嶅畬鏁�");
+            }
 
+            UserEntity ue = tokenService.getCurrentUser(req);
+            if (ue == null) {
+                return fail("鐢ㄦ埛鏈櫥褰�");
+            }
 
-            return success(null);
+            String str = exportService.post(entity);
+            if (StringHelper.isNull(str)) {
+                return fail("鍑哄浘澶辫触");
+            }
+
+            //
+
+            return success(str);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex.getMessage());
         }
     }
 }
diff --git a/src/main/java/com/lf/server/service/show/ExportService.java b/src/main/java/com/lf/server/service/show/ExportService.java
new file mode 100644
index 0000000..19f739b
--- /dev/null
+++ b/src/main/java/com/lf/server/service/show/ExportService.java
@@ -0,0 +1,66 @@
+package com.lf.server.service.show;
+
+import com.alibaba.fastjson.JSON;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.show.ExportEntity;
+import com.lf.server.helper.RestHelper;
+import com.lf.server.helper.StringHelper;
+import org.apache.http.NameValuePair;
+import org.apache.http.message.BasicNameValuePair;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鍦ㄧ嚎鍒跺浘
+ * @author WWW
+ */
+@Service
+public class ExportService {
+    @Value("${sys.path.exportServer}")
+    private String exportServer;
+
+    public String post(ExportEntity entity) {
+        List<NameValuePair> nvPair = getPostEntity(entity);
+        String url = exportServer + "/Export/Start";
+
+        String str = RestHelper.post(url, nvPair);
+        if (StringHelper.isEmpty(str)) {
+            return null;
+        }
+
+        ResponseMsg<String> msg = JSON.parseObject(str, ResponseMsg.class);
+        if (msg == null || msg.getCode() != 200) {
+            return null;
+        }
+
+        return msg.getResult();
+    }
+
+    private List<NameValuePair> getPostEntity(ExportEntity entity) {
+        List<NameValuePair> list = new ArrayList<NameValuePair>();
+
+        Field[] fields = entity.getClass().getDeclaredFields();
+        for (Field field : fields) {
+            try {
+                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);
+            } catch (Exception ex) {
+                //
+            }
+        }
+
+        return list;
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 564e902..0f9b860 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -148,3 +148,5 @@
     share: D:\LF\share
     # 涓存椂鐩綍锛堜复鏃朵笂浼犳枃浠讹級
     temp: D:\LF\temp
+    # 鍑哄浘鏈嶅姟
+    exportServer: http://127.0.0.1:80

--
Gitblit v1.9.3