package com.fdkankan.common.controller; import com.fdkankan.common.user.SSOLoginHelper; import com.fdkankan.common.user.SSOUser; import com.fdkankan.common.util.DateEditor; import java.util.Date; import java.util.Objects; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.propertyeditors.StringTrimmerEditor; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.util.Date; import java.util.Objects; public class BaseController { @Autowired protected HttpServletRequest request; @Autowired protected HttpServletResponse response; @Autowired SSOLoginHelper ssoLoginHelper; @InitBinder protected void initBinder(WebDataBinder webDataBinder) { webDataBinder.registerCustomEditor(String.class, new StringTrimmerEditor(true)); webDataBinder.registerCustomEditor(Date.class, new DateEditor(true)); } protected String getToken(){ return request.getHeader("token"); } protected Long getUserId(){ SSOUser ssoUser = ssoLoginHelper.loginCheck(request.getHeader("token")); if(Objects.nonNull(ssoUser)){ return ssoUser.getId(); } return null; } protected SSOUser getSSOUser(){ return ssoLoginHelper.loginCheck(request.getHeader("token")); } public static void output(HttpServletResponse resp, File file) { OutputStream os = null; BufferedInputStream bis = null; byte[] buff = new byte[1024]; try { os = resp.getOutputStream(); bis = new BufferedInputStream(new FileInputStream(file)); int i = 0; while ((i = bis.read(buff)) != -1) { os.write(buff, 0, i); os.flush(); } } catch (IOException e) { e.printStackTrace(); } finally { try { bis.close(); } catch (IOException e) { e.printStackTrace(); } } } }