package com.yutou.nas.other; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.yutou.nas.NasApplication; import com.yutou.nas.Services.IVideoToolsService; import com.yutou.nas.utils.AppTools; import com.yutou.nas.utils.DepotManager; import com.yutou.nas.utils.RedisTools; import com.yutou.nas.utils.Tools; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.support.GenericBeanDefinition; import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.core.type.classreading.MetadataReader; import org.springframework.core.type.classreading.MetadataReaderFactory; import org.springframework.core.type.filter.TypeFilter; import org.springframework.stereotype.Controller; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.lang.annotation.Annotation; import java.util.*; @Controller public class tools { @ResponseBody @RequestMapping(value = "tools/get.do") public String getJs(HttpServletRequest request, HttpServletResponse response) throws Exception { Enumeration name = request.getHeaderNames(); while (name.hasMoreElements()) { String na = name.nextElement(); com.yutou.nas.utils.Log.i(na + " " + request.getHeader(na)); } File file = new File("D:\\IDEA\\web_toolset\\web\\js\\my.js"); BufferedReader reader = new BufferedReader(new FileReader(file)); String tmp, str = ""; while ((tmp = reader.readLine()) != null) { if (tmp.contains("\"")) { // tmp=tmp.replace("\"","\\\""); } str += tmp; } reader.close(); /* response.setHeader("Content-Type","application/javascript; charset=utf-8"); PrintWriter writer=response.getWriter(); writer.write(str); writer.flush(); writer.close();*/ return str; //return "function test(){ return \"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1588139022200&di=8cc8405f7514dd54bd82fcd070349603&imgtype=0&src=http%3A%2F%2Fa2.att.hudong.com%2F36%2F48%2F19300001357258133412489354717.jpg\" }"; } @RequestMapping("/public/version.do") @ResponseBody public String getVersion() { return NasApplication.version; } @ResponseBody @RequestMapping("/public/request.do") public String testRequest(HttpServletRequest request) { JSONObject params = new JSONObject(); JSONArray cookies = new JSONArray(); JSONObject header = new JSONObject(); for (String key : request.getParameterMap().keySet()) { params.put(key, request.getParameter(key)); } if (request.getCookies() != null) { for (Cookie cookie : request.getCookies()) { JSONObject ck = JSON.parseObject(JSON.toJSONString(cookie)); cookies.add(ck); } } Enumeration enumeration = request.getHeaderNames(); while (enumeration != null && enumeration.hasMoreElements()) { String tmp = enumeration.nextElement(); header.put(tmp, request.getHeader(tmp)); } JSONObject json = new JSONObject(); json.put("code", 0); json.put("method", request.getMethod()); json.put("address", Tools.getRemoteAddress(request)); json.put("UA", request.getHeader("User-Agent")); json.put("addressUrl", request.getPathInfo()); json.put("params", params); json.put("cookie", cookies); json.put("header", header); Tools.sendServer("打印请求", json.toJSONString()); try { switch (RedisTools.get("request")) { case "success": return "success"; case "-999": case "param": return json.toJSONString(); default: return RedisTools.get("request"); } } catch (Exception e) { // e.printStackTrace(); } return json.toJSONString(); } @ResponseBody @RequestMapping("/private/request.do") public String setRequest(String ret, String data) { switch (ret) { case "success": RedisTools.set("request", "success"); break; case "user": RedisTools.set("request", data); break; default: RedisTools.set("request", "param"); break; } return RedisTools.get("request"); } @ResponseBody @RequestMapping("/public/deport.do") public String testDeport(){ DepotManager.scan(); return "ok"; } @Resource IVideoToolsService videoToolsService; @ResponseBody @RequestMapping("/public/test.do") public String test(){ /* List list= AppTools.scanClass("com.yutou.nas",Controller.class); System.out.println("list size = "+list.size()); for (Class aClass : list) { System.out.println(aClass.getName()); System.out.println(aClass.getAnnotation(RequestMapping.class)); }*/ videoToolsService.scanVideo(); return "ok"; } @ResponseBody @RequestMapping("/public/getUPSPower.do") public int getUPSPower(){ return Tools.getSystemUPSPower(); } }