|  | @ -3,6 +3,8 @@ package com.yihu.jw.hospital.service.wechat;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.jw.doctor.dao.BaseDoctorDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.prescription.service.PrescriptionService;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.wechat.WeiXinMessageReplyUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.wechat.WeiXinMessageUtils;
 | 
	
	
		
			
				|  | @ -13,10 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Value;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Component;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.ArrayList;
 | 
	
		
			
				|  |  | import java.util.HashMap;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * 微信事件处理
 | 
	
	
		
			
				|  | @ -34,6 +33,8 @@ public class WeiXinEventProcess {
 | 
	
		
			
				|  |  |     private BaseDoctorDao baseDoctorDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private PrescriptionService prescriptionService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private WlyyHospitalSysDictDao hospitalSysDictDao;
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 微信推送事件处理
 | 
	
		
			
				|  |  |      *
 | 
	
	
		
			
				|  | @ -49,11 +50,11 @@ public class WeiXinEventProcess {
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |             case WeiXinMessageUtils.EVENT_TYPE_SUBSCRIBE: // 订阅事件
 | 
	
		
			
				|  |  |                 if (message.containsKey("EventKey") && StringUtils.isNotEmpty(message.get("EventKey")) && message.containsKey("Ticket")
 | 
	
		
			
				|  |  |                         && StringUtils.isNotEmpty(message.get("Ticket"))) {
 | 
	
		
			
				|  |  |                         && StringUtils.isNotEmpty(message.get("Ticket"))) {//扫码事件
 | 
	
		
			
				|  |  |                     result = scanEventProcess(message);
 | 
	
		
			
				|  |  |                 } /*else {
 | 
	
		
			
				|  |  |                 } else {//关注事件
 | 
	
		
			
				|  |  |                     result = subscribeEventProcess(message);
 | 
	
		
			
				|  |  |                 }*/
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |             /*case WeiXinMessageUtils.EVENT_TYPE_UNSUBSCRIBE: // 取消订阅事件
 | 
	
		
			
				|  |  |                  result = unsubscribeEventProcess(message);
 | 
	
	
		
			
				|  | @ -158,5 +159,40 @@ public class WeiXinEventProcess {
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 关注事件消息发送
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param message
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private String subscribeEventProcess(Map<String, String> message) throws Exception {
 | 
	
		
			
				|  |  |         String result = "";
 | 
	
		
			
				|  |  |         String content = "";
 | 
	
		
			
				|  |  |         WlyyHospitalSysDictDO hospitalSysDictDO = hospitalSysDictDao.findById("zdhfContent");
 | 
	
		
			
				|  |  |         if (hospitalSysDictDO!=null){
 | 
	
		
			
				|  |  |             content = hospitalSysDictDO.getDictValue();
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             content = "厦门眼科中心互联网医院,欢迎每一位关爱视力健康的你~ \n" +
 | 
	
		
			
				|  |  |                     "<a href=\"\" data-miniprogram-appid=\"wx5329829ab3d77bc2\" data-miniprogram-path =\"pages/patient/webview/index?redirectUrl=appointment/hospitalList\">预约挂号</a>\n" +
 | 
	
		
			
				|  |  |                     "<a href=\"\" data-miniprogram-appid=\"wx5329829ab3d77bc2\" data-miniprogram-path =\"pages/patient/webview/index?redirectUrl=nDocList&isFz=1\">复诊续方</a>\n" +
 | 
	
		
			
				|  |  |                     "<a href=\"\" data-miniprogram-appid=\"wx5329829ab3d77bc2\" data-miniprogram-path =\"pages/patient/webview/index?redirectUrl=nDocList&zjzx=2\">护理咨询</a>\n" +
 | 
	
		
			
				|  |  |                     "<a href=\"\" data-miniprogram-appid=\"wxeb5768c50247caa6\" data-miniprogram-path =\"pages/index/index\">药品商城</a>\n" +
 | 
	
		
			
				|  |  |                     "<a href=\"https://yhmail.ylzpay.com/records-mail-web/mail/index?pubId=gh_dd490c897028\">病案邮件</a>\n";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         // 图文信息
 | 
	
		
			
				|  |  |         // 构建回复消息XML
 | 
	
		
			
				|  |  |         result = WeiXinMessageReplyUtils.replyMessage(message.get("FromUserName"), message.get("ToUserName"), content);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 设置微信公共的图文消息
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param articles
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public void setUrlItems(List<Map<String, String>> articles) {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |