| 
					
				 | 
			
			
				@ -7,11 +7,14 @@ import com.yihu.jw.entity.base.patient.BasePatientDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.wx.BasePatientWechatDo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.wx.WxTemplateConfigDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.wx.WxTemplateDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.prescription.service.entrance.XzzxEntranceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.oauth.OauthSsoService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.patient.dao.BasePatientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.Envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.rm.base.BaseRequestMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.wechat.WeixinMessagePushUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.wechat.wxhttp.HttpUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.utils.RSAEncrypt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.wechat.dao.BasePatientWechatDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.wechat.dao.WxTemplateConfigDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.wechat.dao.WxTemplateDao; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -53,6 +56,12 @@ public class WxTemplateService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BasePatientWechatDao basePatientWechatDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private OauthSsoService oauthSsoService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private XzzxEntranceService xzzxEntranceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 发送微信模版消息-小程序视频 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -70,10 +79,30 @@ public class WxTemplateService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logger.info("该用户"+reciver_name+"没有openid,无法推送模版消息,用户ID:"+reciver_id+"wechatId:"+wechatId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (BasePatientWechatDo basePatientWechatDo:ps){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    WxTemplateConfigDO config = wxTemplateConfigDao.findByWechatIdAndTemplateNameAndSceneAndStatus(wechatId,"template_consult_notice","spthtx",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    config.setFirst(config.getFirst().replace("key1",sender_name)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    config.setPagepath(config.getPagepath()+""+reciver_id+"&doctorName="+sender_name+"&role=patient&roomID="+session_id+"&template=1v1&debugMode=false&cloudenv=PRO"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    weixinMessagePushUtils.putWxMsg(wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken(),basePatientWechatDo.getOpenid(),config); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if("xm_xzzx_wx".equals(wechatId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String getAuthCode = oauthSsoService.getSsoPublic(wechatId,basePatientDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("name",basePatientDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("idcard",basePatientDO.getIdcard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("mobile",basePatientDO.getMobile()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("openid",basePatientWechatDo.getOpenid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String authCode = jsonObject.toJSONString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String jm = RSAEncrypt.encrypt(authCode,getAuthCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String miniprogramUrl = "pages/room/room?patientCode="+reciver_id+"&doctorName="+sender_name+"&role=patient&roomID="+session_id+"&template=1v1&debugMode=false&cloudenv=PRO&authCode="+jm+"&code="+wechatId+"&appid="+basePatientDO.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        //心脏中心模版消息推送接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        xzzxEntranceService.sendXCXMes(wechatId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                basePatientDO.getId(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                basePatientDO.getIdcard(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                sender_name+"主任医生已向您发起视频通话邀请,请点击详情进入视频诊室。", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                "点击消息进入视频诊室接听视频通话,开始视频咨询", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                "",miniprogramUrl,"wx53f6bb4ac081d840"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        WxTemplateConfigDO config = wxTemplateConfigDao.findByWechatIdAndTemplateNameAndSceneAndStatus(wechatId,"template_consult_notice","spthtx",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        config.setFirst(config.getFirst().replace("key1",sender_name)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        config.setPagepath(config.getPagepath()+""+reciver_id+"&doctorName="+sender_name+"&role=patient&roomID="+session_id+"&template=1v1&debugMode=false&cloudenv=PRO"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        weixinMessagePushUtils.putWxMsg(wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken(),basePatientWechatDo.getOpenid(),config); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 |