From 48570adc584224ea2ebafc90a58beb76e85dd4be Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Mon, 05 Feb 2018 14:41:22 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/moral/controller/ScreenController.java | 80 +++++++++++++++++++++++++++++++++------ 1 files changed, 67 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index ad5b59f..4d1f9e2 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -5,8 +5,7 @@ import static com.moral.common.util.ResourceUtil.getValue; import static com.moral.common.util.WebUtils.getParametersStartingWith; -import java.io.IOException; -import java.io.InputStreamReader; +import java.io.*; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; @@ -14,14 +13,15 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +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.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONReader; @@ -29,16 +29,18 @@ import com.moral.common.bean.ResultBean; import com.moral.common.util.ValidateUtil; import com.moral.service.AccountService; +import com.moral.service.HistoryMinutelyService; import com.moral.service.DeviceService; import com.moral.service.HistoryService; import com.moral.service.MachineActivateService; +import org.xml.sax.InputSource; /** * The Class ScreenController.������������ */ @RestController -@RequestMapping("screen") -@CrossOrigin(origins = "*", maxAge = 3600) +@RequestMapping("/screen") +//@CrossOrigin(origins = "*", maxAge = 3600) public class ScreenController { /** The screen service. */ @@ -52,7 +54,10 @@ /** The device service. */ @Resource private DeviceService deviceService; - + + @Resource + private HistoryMinutelyService historyMinutelyService; + @Resource private MachineActivateService machineActivateService; @@ -95,7 +100,8 @@ * the request * @return the equipment states */ - @GetMapping("equipment-state") + @GetMapping("/equipment-state") + @PreAuthorize("hasAnyRole('USER', 'ADMIN')") public Map<String, Object> getDeviceStatesByAccount(HttpServletRequest request) { Map<String, Object> parameters = getParametersStartingWith(request, null); return deviceService.getDeviceStatesByAccount(parameters); @@ -154,7 +160,7 @@ @GetMapping("day-aqi") public Map<String, Object> getDayAQIByDevice(HttpServletRequest request) { Map<String, Object> parameters = getParametersStartingWith(request, null); - return historyService.getDayAQIByDevice(parameters); + return historyMinutelyService.getDayAQIByDevice(parameters); } /** @@ -209,4 +215,52 @@ return new ResultBean<Integer>(result); } + /********************************************* + * ������������������������������������ + *********************************************/ + private String fileName = "Version.xml"; + private String ip = "121.40.92.176"; + private String userName = "ftp_user"; + private String userPwd = "qwer1234"; + private int port = 21; + private String path = "/"; + + @RequestMapping(value = "/upgrade", method = RequestMethod.GET) + public Version index() { + Version version = new Version(); + FTPClient ftpClient = new FTPClient(); + try { + ftpClient.connect(ip, port); + ftpClient.login(userName, userPwd); + ftpClient.changeWorkingDirectory(path); + //ftpClient.enterRemotePassiveMode(); + ftpClient.enterLocalPassiveMode(); + InputStream ins = ftpClient.retrieveFileStream(fileName); + BufferedReader reader = new BufferedReader(new InputStreamReader(ins,"utf-8")); + String line; + StringBuilder builder = new StringBuilder(); + while ((line = reader.readLine()) != null) { + builder.append(line); + } + reader.close(); + if (ins != null) { + ins.close(); + } + ftpClient.getReply(); + 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 version; + } } -- Gitblit v1.8.0