| 
					
				 | 
			
			
				@ -3,14 +3,19 @@ package com.yihu.wlyy.web.common.qrcode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.doctor.profile.Doctor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.service.common.QrcodeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.service.common.account.DoctorService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.task.PushMsgTask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.web.WeixinBaseController; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.Api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.http.MediaType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Controller; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.RequestMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.RequestMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.RequestParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.ResponseBody; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.servlet.http.HttpServletResponse; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -27,6 +32,7 @@ import java.io.OutputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Api(description = "二维码") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class QrCodeController extends WeixinBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static Logger logger = LoggerFactory.getLogger(QrCodeController.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private QrcodeService qrcodeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -291,6 +297,54 @@ public class QrCodeController extends WeixinBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 下载某个医生的二维码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param doctor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "/specialist_img",method = {RequestMethod.GET,RequestMethod.POST}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void downloadSpecialistImage(@ApiParam(name = "doctor", value = "医生id") @RequestParam(value = "doctor", required = true)String doctor, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        @ApiParam(name = "teamCode", value = "团队id") @RequestParam(value = "teamCode", required = true)Long teamCode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        HttpServletResponse response) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("------------------specialist_img:" + doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Doctor doc = doctorService.findDoctorByCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (doc != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isEmpty(doc.getQrcode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    qrcodeService.makeSpecialistQrcode(doc,teamCode, getAccessToken()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    File file = new File(QrCodeController.class.getResource("/").getPath().replace("/WEB-INF/classes/", "") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            File.separator + "qrcode" + File.separator + doc.getQrcode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (!file.exists()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        qrcodeService.makeSpecialistQrcode(doc,teamCode, getAccessToken()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String path = request.getSession().getServletContext().getRealPath("/") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        + File.separator + "qrcode" + File.separator + doc.getQrcode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                InputStream inputStream = new FileInputStream(path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                response.setCharacterEncoding("utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                response.setContentType("multipart/form-data"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                response.setHeader("Content-Disposition", "attachment;fileName=" + doc.getQrcode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                OutputStream outputStream = response.getOutputStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                byte[] b = new byte[2048]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                int length = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                while ((length = inputStream.read(b)) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    outputStream.write(b, 0, length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                outputStream.flush(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                outputStream.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                inputStream.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                throw new Exception("医生信息不存在!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            response.setStatus(500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 下载所有医生的二维码图片 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 |