package com.ruoyi.project.tr.riskList.controller; import com.ruoyi.common.utils.QRCodeUtil; import com.ruoyi.project.tr.riskList.domain.RiskList; import com.ruoyi.project.tr.riskList.service.IRiskListService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; @Controller @RequestMapping(value = "/qrCode") public class QrCodeController { private String prefix = "tr/riskList"; @Autowired private IRiskListService riskListService; @Autowired private HttpServletRequest request; /** * 风险告知卡 生成 普通二维码 图片 */ @RequestMapping(value = "/getRiskListQrCode/showPic/{riskListId}") public void getRiskListQrCodeShowPic(HttpServletResponse response, @PathVariable("riskListId") String riskListId) throws Exception { ServletOutputStream stream = null; try { stream = response.getOutputStream(); String url = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/tr/riskList/detail/" + riskListId; //使用工具类生成二维码 QRCodeUtil.encode(url, stream); } catch (Exception e) { e.getStackTrace(); } finally { if (stream != null) { stream.flush(); stream.close(); } } } /** * 风险告知卡 下载 普通二维码 图片 */ @RequestMapping(value = "/getRiskListQrCode/downLoad/{riskListId}") public void getRiskListQrCodeDownLoad(HttpServletResponse response, @PathVariable("riskListId") String riskListId) throws Exception { RiskList riskList = riskListService.selectRiskListById(Long.valueOf(riskListId)); response.setContentType("application/x-download"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-type", "text/html;charset=UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(riskList.getRiskListName()+"风险告知二维码.jpg", "UTF-8")); ServletOutputStream stream = null; try { stream = response.getOutputStream(); String url = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/tr/riskList/detail/" + riskListId; //使用工具类生成二维码 QRCodeUtil.encode(url, stream); } catch (Exception e) { e.getStackTrace(); } finally { if (stream != null) { stream.flush(); stream.close(); } } } }