From 83454f8db7eebea558d6154fbcbf7911c491f278 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Tue, 30 Jan 2018 20:50:31 +0800
Subject: [PATCH] updated

---
 src/main/java/com/moral/controller/UpgradeController.java |   38 +++++++++++++++++++++-----------------
 1 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/moral/controller/UpgradeController.java b/src/main/java/com/moral/controller/UpgradeController.java
index f590f8c..05258e3 100644
--- a/src/main/java/com/moral/controller/UpgradeController.java
+++ b/src/main/java/com/moral/controller/UpgradeController.java
@@ -1,13 +1,13 @@
 package com.moral.controller;
 
+import com.moral.common.xml.Version;
 import org.apache.commons.net.ftp.FTPClient;
-import org.springframework.security.access.method.P;
+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")
@@ -22,23 +22,27 @@
     private String path = "/";
 
     @RequestMapping(value = "/index", method = RequestMethod.GET)
-    public String index() throws IOException {
+    public Version index() throws Exception {
         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();
+        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 content;
+        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());
+
+        return version;
     }
 
     public String readFile(FTPClient ftpClient) {
@@ -46,7 +50,7 @@
         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