| package com.dy.pipIrrMwTestWeb.rtuLog; | 
|   | 
| import com.dy.common.webUtil.BaseResponse; | 
| import com.dy.common.webUtil.BaseResponseUtils; | 
| import jakarta.servlet.ServletOutputStream; | 
| import jakarta.servlet.http.HttpServletRequest; | 
| import jakarta.servlet.http.HttpServletResponse; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.springframework.web.bind.annotation.GetMapping; | 
| import org.springframework.web.bind.annotation.RequestMapping; | 
| import org.springframework.web.bind.annotation.RestController; | 
|   | 
| import java.net.URLEncoder; | 
| import java.util.List; | 
|   | 
| /** | 
|  * @Author: liurunyu | 
|  * @Date: 2024/8/28 14:55 | 
|  * @Description | 
|  */ | 
| @Slf4j | 
| @RestController | 
| @RequestMapping(path="rtuLog") | 
| public class RtuLogCtrl extends RtuLogSupport { | 
|   | 
|     @GetMapping(path = "logFile") | 
|     public BaseResponse<List<String>> rtuLogFile(String rtuAddr, HttpServletRequest req, HttpServletResponse rep){ | 
|         ServletOutputStream out = null ; | 
|         try{ | 
|             byte[] bs = this.requestMw4File(rtuAddr, mwUrlRtuLogFile) ; | 
|             if(bs != null && bs.length > 0){ | 
|                 String fileReName = rtuAddr + ".log" ; | 
|                 //URLEncoder.encode可以防止中文乱码 | 
|                 fileReName = URLEncoder.encode(fileReName, "UTF-8").replaceAll("\\+", "%20"); | 
|                 rep.addHeader("content-type", "application/octet-stream;charset=UTF-8"); | 
|                 rep.addHeader("Content-Disposition", "attachment;fileName=" + fileReName); | 
|                 out = rep.getOutputStream() ; | 
|                 out.write(bs, 0, (bs==null?0:bs.length)); | 
|                 out.flush(); | 
|             }else{ | 
|                 return BaseResponseUtils.buildError("获取文件失败") ; | 
|             } | 
|         }catch (Exception e){ | 
|         }finally { | 
|             if(out != null){ | 
|                 try{ | 
|                     out.close(); | 
|                 }catch(Exception e){ | 
|                 } | 
|             } | 
|         } | 
|         return null ; | 
|     } | 
|   | 
|     @GetMapping(path="logText") | 
|     public BaseResponse<List<String>> rtuLogText(String rtuAddr){ | 
|         BaseResponse<List<String>> response = this.requestMw4Text(rtuAddr, mwUrlRtuLogText) ; | 
|         return response ; | 
|     } | 
| } |