From 9757518476af8f4545a071b019680bd714747e59 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Tue, 30 Jan 2018 22:24:21 +0800
Subject: [PATCH] updated

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

diff --git a/src/main/java/com/moral/controller/UpgradeController.java b/src/main/java/com/moral/controller/UpgradeController.java
index 64b3b52..2377aaf 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,29 +22,39 @@
     private String path = "/";
 
     @RequestMapping(value = "/index", method = RequestMethod.GET)
-    public String index() throws IOException {
-        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 {
+    public Version index() throws Exception {
+        FTPClient ftpClient = new FTPClient();
+        ftpClient.connect(ip, port);
+        ftpClient.login(userName, userPwd);
+        if (path != null && path.length() > 0) {
+            ftpClient.changeWorkingDirectory(path);
+        }
+        String content = readFile(ftpClient);
+        if(ftpClient.isConnected()) {
             ftpClient.logout();
             ftpClient.disconnect();
         }
-        return readFile();
+        SAXReader reader = new SAXReader();
+        Document document = reader.read(new InputSource(new ByteArrayInputStream(content.getBytes("utf-8"))));
+        Element root = document.getRootElement();
+        Version version = new Version();
+        version.setVer(root.element("Ver").getText());
+        version.setFileName(root.element("FileName").getText());
+        version.setFileMD5Hash(root.element("FileMD5Hash").getText());
+
+//        version.setVer("a");
+//        version.setFileName("b");
+//        version.setFileMD5Hash("c");
+
+        return version;
     }
 
-    public String readFile() {
+    public String readFile(FTPClient ftpClient) {
         InputStream ins = null;
         StringBuilder builder = null;
         try {
             ins = ftpClient.retrieveFileStream(fileName);
-            BufferedReader reader = new BufferedReader(new InputStreamReader(ins, "UTF-8"));
+            BufferedReader reader = new BufferedReader(new InputStreamReader(ins,"utf-8"));
             String line;
             builder = new StringBuilder(150);
             while ((line = reader.readLine()) != null) {

--
Gitblit v1.8.0