|  | @ -0,0 +1,78 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.hospital.endpoint.wechat;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.wx.WxAccessTokenDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.wechat.wxhttp.HttpUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.wechat.service.WxAccessTokenService;
 | 
	
		
			
				|  |  | import io.swagger.annotations.Api;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiOperation;
 | 
	
		
			
				|  |  | import org.json.JSONObject;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Value;
 | 
	
		
			
				|  |  | import org.springframework.http.MediaType;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.RequestMapping;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.RequestMethod;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.RestController;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.io.BufferedReader;
 | 
	
		
			
				|  |  | import java.io.File;
 | 
	
		
			
				|  |  | import java.io.FileInputStream;
 | 
	
		
			
				|  |  | import java.io.InputStreamReader;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by chenweida on 2017/8/4.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | @RestController
 | 
	
		
			
				|  |  | @RequestMapping(value = "/wechat/menu", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
 | 
	
		
			
				|  |  | @Api(description = "微信菜单相关管理")
 | 
	
		
			
				|  |  | public class WechatMenuController extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private static String wechat_token ="xAeQrX7uOD0OusIZ5JUQzrLPYIQBlqbS" ;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private HttpUtil httpUtil;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private WxAccessTokenService wxAccessTokenService;
 | 
	
		
			
				|  |  |     @Value("${wechat.id}")
 | 
	
		
			
				|  |  |     private String wechatId;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 微信菜单创建
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @ApiOperation(value = "微信菜单创建")
 | 
	
		
			
				|  |  |     @RequestMapping(value = "/menu/create", method = RequestMethod.GET)
 | 
	
		
			
				|  |  |     public String createMenuTest() {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             WxAccessTokenDO wxAccessTokenDO = wxAccessTokenService.getWxAccessTokenById(wechatId);
 | 
	
		
			
				|  |  |             String filePath = WechatCoreController.class.getResource("/").getPath() +
 | 
	
		
			
				|  |  |                     File.separator + "wechat" + File.separator + "weixin_menu.txt";
 | 
	
		
			
				|  |  |             String url = " https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + wxAccessTokenDO.getAccessToken();
 | 
	
		
			
				|  |  |             // 读取微信菜单配置文件
 | 
	
		
			
				|  |  |             InputStreamReader reader = new InputStreamReader(new FileInputStream(filePath), "utf-8");
 | 
	
		
			
				|  |  |             BufferedReader bufferedReader = new BufferedReader(reader);
 | 
	
		
			
				|  |  |             String params = "";
 | 
	
		
			
				|  |  |             String readTxt = "";
 | 
	
		
			
				|  |  |             // 读取微信菜单
 | 
	
		
			
				|  |  |             while ((readTxt = bufferedReader.readLine()) != null) {
 | 
	
		
			
				|  |  |                 System.out.println(readTxt);
 | 
	
		
			
				|  |  |                 params += readTxt;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             bufferedReader.close();
 | 
	
		
			
				|  |  |             reader.close();
 | 
	
		
			
				|  |  |             // 请求微信接口创建菜单
 | 
	
		
			
				|  |  |             String jsonStr = httpUtil.sendPost(url, params);
 | 
	
		
			
				|  |  |             JSONObject result = new JSONObject(jsonStr);
 | 
	
		
			
				|  |  |             if (result != null && result.get("errcode").toString().equals("0") && result.getString("errmsg").equals("ok")) {
 | 
	
		
			
				|  |  |                 return  "创建成功!";
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 return "创建失败!";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             return  "创建失败";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |