|  | @ -0,0 +1,51 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.base.service.wx;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.node.ObjectNode;
 | 
	
		
			
				|  |  | import com.yihu.fastdfs.FastDFSUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.wechat.wxhttp.HttpUtil;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | import org.json.JSONObject;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.io.InputStream;
 | 
	
		
			
				|  |  | import java.net.HttpURLConnection;
 | 
	
		
			
				|  |  | import java.net.URL;
 | 
	
		
			
				|  |  | import java.net.URLEncoder;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * 微信二维码
 | 
	
		
			
				|  |  |  * Created by Trick on 2018/9/7.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | @Service
 | 
	
		
			
				|  |  | public class WeChatQrcodeService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private FastDFSUtil fastDFSHelper;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private WxAccessTokenService wxAccessTokenService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public String getQrcode(String wechatId,String scene) throws Exception{
 | 
	
		
			
				|  |  |         String token_url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + wxAccessTokenService.getWxAccessTokenById(wechatId);
 | 
	
		
			
				|  |  |         String params = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"" + scene + "\"}}}";
 | 
	
		
			
				|  |  |         String result = HttpUtil.sendPost(token_url, params);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (!StringUtils.isEmpty(result)) {
 | 
	
		
			
				|  |  |             JSONObject json = new JSONObject(result);
 | 
	
		
			
				|  |  |             if (json.has("ticket")) {
 | 
	
		
			
				|  |  |                 // 请求输入流
 | 
	
		
			
				|  |  |                 InputStream inputStream = null;
 | 
	
		
			
				|  |  |                 // 下载二维码图片
 | 
	
		
			
				|  |  |                 URL urlGet = new URL("https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket="
 | 
	
		
			
				|  |  |                         + URLEncoder.encode(json.get("ticket").toString(), "UTF-8"));
 | 
	
		
			
				|  |  |                 HttpURLConnection connection = (HttpURLConnection) urlGet.openConnection();
 | 
	
		
			
				|  |  |                 connection.connect();
 | 
	
		
			
				|  |  |                 inputStream = connection.getInputStream();
 | 
	
		
			
				|  |  |                 ObjectNode objectNode = fastDFSHelper.upload(inputStream,"png","微信二维码");
 | 
	
		
			
				|  |  |                 return objectNode.get("fileId").toString().replaceAll("\"", "");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return null;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |