package cn.com.lzt.message.wps.controller; import cn.com.lzt.common.entity.TSysFileEntity; import cn.com.lzt.message.wps.util.WpsUtils; import org.apache.commons.io.IOUtils; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.ResourceUtil; import org.jeecgframework.web.system.pojo.base.TSUser; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; import java.util.Map; @Controller public class WebOfficeController { @Autowired private SystemService systemService; @RequestMapping(value ="/weboffice/wps",params="url", method = RequestMethod.GET) @ResponseBody public Object getapp_Token(@RequestParam("fileId") String fileId,@RequestParam("_w_fname") String filename) throws UnsupportedEncodingException { return WpsUtils.getapp_Token(fileId,filename); } @RequestMapping(value="/v1/3rd/file/info", method = RequestMethod.GET) @ResponseBody public Object fileInfo(@RequestParam("_w_fname") String filename, HttpServletRequest req) { TSysFileEntity entity = systemService.getEntity(TSysFileEntity.class,filename); Map obj = new HashMap(); Map file = new HashMap(); Map user = new HashMap(); String showAndDownUrl = ResourceUtil.getConfigByName("showAndDownUrl"); String host = ResourceUtil.getConfigByName(Globals.SERVER_WXMSG); String netFile = host+"/"+ showAndDownUrl+ entity.getFileUrl(); file.put("id", entity.getId()); file.put("name", entity.getFileName()); file.put("version", 1); file.put("size", getFileSize(netFile)); file.put("creator", entity.getCreateBy()); // file.put("modifier", "id1"); file.put("download_url", netFile); file.put("create_time", entity.getCreateDate().getTime()/1000); // file.put("modify_time", System.currentTimeMillis()/1000); obj.put("file", file); user.put("id", entity.getCreateBy()); user.put("name",""); user.put("permission", "read"); user.put("avatar_url",""); obj.put("code",200); obj.put("msg","success"); obj.put("user", user); System.out.println(obj); return obj; } public int getFileSize(String url) { InputStream inputStream=null; ByteArrayOutputStream out = null; try { inputStream= new URL(url).openStream(); out = new ByteArrayOutputStream(); IOUtils.copy(inputStream, out); return out.size(); }catch (Exception e){ e.printStackTrace(); }finally { IOUtils.closeQuietly(inputStream); IOUtils.closeQuietly(out); } return -1; } }