package com.yutou.qqbot.Controllers; import com.alibaba.fastjson.JSONObject; import com.yutou.qqbot.QQBotManager; import com.yutou.qqbot.utlis.AppTools; import com.yutou.qqbot.utlis.HttpTools; import com.yutou.qqbot.utlis.RedisTools; import com.yutou.qqbot.utlis.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; @Controller public class AppController { @RequestMapping("/restart.do") @ResponseBody public String restart() { AppTools.exec("cd /home/yutou/public/servier/qqbot && ./start.sh", null, true, false); return ""; } @ResponseBody @RequestMapping("/door/set.do") public String openDoor(String status) { RedisTools.set("door", status); return "1"; } @ResponseBody @RequestMapping("/door/get.do") public String getDoor() { if ("open".equals(RedisTools.get("door"))) { RedisTools.set("door", "on"); return "1"; } return "0"; } @ResponseBody @RequestMapping("/door/status.do") public String getStatus() { String status = RedisTools.get("door"); if ("open".equals(status)) { return "0"; } else if ("on".equals(status)) { return "2"; } else if ("over".equals(status)) { RedisTools.set("door", "ready"); return "1"; } return "-1"; } @ResponseBody @RequestMapping("/qq/send.do") public String sendQQ(@RequestBody JSONObject json) { File image = null; String ret; if(json.getString("message").isEmpty()){ return "not message"; } if (json.containsKey("image")) { image = HttpTools.syncDownload(json.getString("image"), System.currentTimeMillis() + ".png"); } if (image != null) { ret = QQBotManager.getInstance().sendMessage(image, json.getLong("qq"), json.getString("message")); } else { ret = QQBotManager.getInstance().sendMessage(json.getLong("qq"), json.getString("message")); } return ret; } @ResponseBody @RequestMapping("/qq/file.do") public String sendFile(@RequestParam("image") MultipartFile file) throws Exception { String path=AppTools.createFile("tmp",file,System.currentTimeMillis()+".png"); if(StringUtils.isEmpty(path)){ return "not file"; } File _file=new File(path); QQBotManager.getInstance().sendMessage(_file,583819556L,"time = "+AppTools.getToDayNowTimeToString()); return "ok"; } @RequestMapping("/test.do") @ResponseBody public String test(HttpServletResponse response){ System.out.println("NAS自动关机"); /* try { response.sendRedirect("http://192.168.31.88:9999/live/index.m3u8"); } catch (IOException e) { e.printStackTrace(); }*/ // return HttpTools.http_get("http://192.168.31.88:9999/live/index.m3u8",null); return "1"; } @RequestMapping("*.ts") public void test2(HttpServletResponse response, HttpServletRequest request){ try { response.sendRedirect("http://192.168.31.88:9999/live"+request.getRequestURI()); } catch (IOException e) { e.printStackTrace(); } } }