From 1a68e172ec40964b34ad41991305400a61923450 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Tue, 30 Jan 2018 22:41:51 +0800
Subject: [PATCH] updated

---
 src/main/java/com/moral/controller/UpgradeController.java |   59 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 30 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/moral/controller/UpgradeController.java b/src/main/java/com/moral/controller/UpgradeController.java
index 64b3b52..97e1c1f 100644
--- a/src/main/java/com/moral/controller/UpgradeController.java
+++ b/src/main/java/com/moral/controller/UpgradeController.java
@@ -1,19 +1,19 @@
 package com.moral.controller;
 
+import com.moral.common.xml.Version;
 import org.apache.commons.net.ftp.FTPClient;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
 import org.springframework.web.bind.annotation.*;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
+import org.xml.sax.InputSource;
+import java.io.*;
 
 @RestController
 @RequestMapping("upgrade")
 @CrossOrigin(origins = "*", maxAge = 3600)
 public class UpgradeController {
 
-    private FTPClient ftpClient;
     private String fileName = "Version.xml";
     private String ip = "121.40.92.176";
     private String userName = "ftp_user";
@@ -22,31 +22,18 @@
     private String path = "/";
 
     @RequestMapping(value = "/index", method = RequestMethod.GET)
-    public String index() throws IOException {
-        ftpClient = new FTPClient();
+    public Version index() {
+        Version version = new Version();
+        FTPClient ftpClient = new FTPClient();
         try {
             ftpClient.connect(ip, port);
             ftpClient.login(userName, userPwd);
-            if (path != null && path.length() > 0) {
-                ftpClient.changeWorkingDirectory(path);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            ftpClient.logout();
-            ftpClient.disconnect();
-        }
-        return readFile();
-    }
-
-    public String readFile() {
-        InputStream ins = null;
-        StringBuilder builder = null;
-        try {
-            ins = ftpClient.retrieveFileStream(fileName);
-            BufferedReader reader = new BufferedReader(new InputStreamReader(ins, "UTF-8"));
+            ftpClient.changeWorkingDirectory(path);
+            ftpClient.enterRemotePassiveMode();
+            InputStream ins = ftpClient.retrieveFileStream(fileName);
+            BufferedReader reader = new BufferedReader(new InputStreamReader(ins,"utf-8"));
             String line;
-            builder = new StringBuilder(150);
+            StringBuilder builder = new StringBuilder();
             while ((line = reader.readLine()) != null) {
                 builder.append(line);
             }
@@ -55,9 +42,23 @@
                 ins.close();
             }
             ftpClient.getReply();
-        } catch (IOException e) {
+            String content = builder.toString();
+            if(ftpClient.isConnected()) {
+                ftpClient.logout();
+                ftpClient.disconnect();
+            }
+            SAXReader saxReader = new SAXReader();
+            Document document = saxReader.read(new InputSource(new ByteArrayInputStream(content.getBytes("utf-8"))));
+            Element root = document.getRootElement();
+            version.setVer(root.element("Ver").getText());
+            version.setFileName(root.element("FileName").getText());
+            version.setFileMD5Hash(root.element("FileMD5Hash").getText());
+        } catch (Exception e) {
             e.printStackTrace();
         }
-        return builder.toString();
+//        version.setVer("a");
+//        version.setFileName("b");
+//        version.setFileMD5Hash("c");
+        return version;
     }
 }

--
Gitblit v1.8.0