Ver código fonte

居民获取微信标签

huangwenjie 5 anos atrás
pai
commit
8a9f1e43b3

+ 30 - 8
svr/svr-patient/src/main/java/com/yihu/jw/patient/endpoint/wechat/WechatInfoEndPoint.java

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