|  | @ -1,8 +1,8 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.patient.endpoint.wechat;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.sun.net.httpserver.Authenticator;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.wx.JsApiTicket;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.wx.WxWechatDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.Envelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.ObjEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
 | 
	
	
		
			
				|  | @ -50,9 +50,10 @@ public class WechatInfoEndPoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |     private String wxId;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private StringRedisTemplate redisTemplate;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private WxUrlConfigService wxUrlConfigService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private EntranceService entranceService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @RequestMapping(value =  PatientRequestMapping.Wechat.getWxWechatConfig, method = RequestMethod.GET)
 | 
	
	
		
			
				|  | @ -120,9 +121,18 @@ public class WechatInfoEndPoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String getJsapi_ticketByToken(String wxId) {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             WxWechatDO wxWechat = wxAccessTokenService.getWxInfo(wxId);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             Iterable<JsApiTicket> jsapiTickets = wxAccessTokenService.findJsapiTicket(wxWechat.getAppOriginId());
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |             Iterable<JsApiTicket> jsapiTickets = null;
 | 
	
		
			
				|  |  |             WxWechatDO wxWechat = null;
 | 
	
		
			
				|  |  |             
 | 
	
		
			
				|  |  |             //中山医院互联网医院
 | 
	
		
			
				|  |  |             if("xm_zsyy_wx".equals(wxId)){
 | 
	
		
			
				|  |  |                 jsapiTickets = wxAccessTokenService.findJsapiTicket(wxId);
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 wxWechat = wxAccessTokenService.getWxInfo(wxId);
 | 
	
		
			
				|  |  |                 jsapiTickets = wxAccessTokenService.findJsapiTicket(wxWechat.getAppOriginId());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             
 | 
	
		
			
				|  |  |             if (jsapiTickets != null) {
 | 
	
		
			
				|  |  |                 for (JsApiTicket jsApiTicket : jsapiTickets) {
 | 
	
		
			
				|  |  |                     if ((System.currentTimeMillis() - jsApiTicket.getAdd_timestamp()) < (jsApiTicket.getExpires_in() * 1000)) {
 | 
	
	
		
			
				|  | @ -133,7 +143,15 @@ public class WechatInfoEndPoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             String token = wxAccessTokenService.getWxAccessTokenById(wxId).getAccessToken();
 | 
	
		
			
				|  |  |             String token = "";
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |             //中山医院互联网医院
 | 
	
		
			
				|  |  |             if("xm_zsyy_wx".equals(wxId)){
 | 
	
		
			
				|  |  |                 token = entranceService.getAccessToken("100033");
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 token = wxAccessTokenService.getWxAccessTokenById(wxId).getAccessToken();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             
 | 
	
		
			
				|  |  |             if (token != null) {
 | 
	
		
			
				|  |  |                 String token_url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket";
 | 
	
		
			
				|  |  |                 String params = "access_token=" + token + "&type=jsapi";
 | 
	
	
		
			
				|  | @ -145,8 +163,12 @@ public class WechatInfoEndPoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |                     JsApiTicket newJsApiTicket = new JsApiTicket();
 | 
	
		
			
				|  |  |                     newJsApiTicket.setJsapi_ticket(ticket);
 | 
	
		
			
				|  |  |                     newJsApiTicket.setExpires_in(Long.parseLong(expires_in));
 | 
	
		
			
				|  |  |                     newJsApiTicket.setAcc_id(wxWechat.getAppOriginId());
 | 
	
		
			
				|  |  |                     newJsApiTicket.setAcc_id(wxWechat.getAppOriginId());
 | 
	
		
			
				|  |  |                     if("xm_zsyy_wx".equals(wxId)){
 | 
	
		
			
				|  |  |                         newJsApiTicket.setAcc_id(wxId);
 | 
	
		
			
				|  |  |                     }else{
 | 
	
		
			
				|  |  |                         newJsApiTicket.setAcc_id(wxWechat.getAppOriginId());
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     
 | 
	
		
			
				|  |  |                     wxAccessTokenService.addJsapiTicket(newJsApiTicket);
 | 
	
		
			
				|  |  |                     return ticket;
 | 
	
		
			
				|  |  |                 } else {
 |