|
@ -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 {
|