|  | @ -1,5 +1,18 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.hospital.prescription.service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import cn.jiguang.common.ClientConfig;
 | 
	
		
			
				|  |  | import cn.jiguang.common.resp.APIConnectionException;
 | 
	
		
			
				|  |  | import cn.jiguang.common.resp.APIRequestException;
 | 
	
		
			
				|  |  | import cn.jpush.api.JPushClient;
 | 
	
		
			
				|  |  | import cn.jpush.api.push.PushResult;
 | 
	
		
			
				|  |  | import cn.jpush.api.push.model.Message;
 | 
	
		
			
				|  |  | import cn.jpush.api.push.model.Platform;
 | 
	
		
			
				|  |  | import cn.jpush.api.push.model.PushPayload;
 | 
	
		
			
				|  |  | import cn.jpush.api.push.model.audience.Audience;
 | 
	
		
			
				|  |  | import cn.jpush.api.push.model.audience.AudienceTarget;
 | 
	
		
			
				|  |  | import cn.jpush.api.push.model.notification.AndroidNotification;
 | 
	
		
			
				|  |  | import cn.jpush.api.push.model.notification.IosNotification;
 | 
	
		
			
				|  |  | import cn.jpush.api.push.model.notification.Notification;
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSON;
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.ObjectMapper;
 | 
	
		
			
				|  |  | import com.yihu.jw.dict.dao.*;
 | 
	
	
		
			
				|  | @ -84,10 +97,8 @@ import com.yihu.jw.util.wechat.WeixinMessagePushUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.*;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.Pkis.PKIService_PortType;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.Pkis.PKIService_ServiceLocator;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.encode.*;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.encode.Base64;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.hibernate.HibenateUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.sfutils.HttpClientUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.wechat.dao.BasePatientWechatDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.wechat.dao.WechatDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.wechat.dao.WxPushLogDao;
 | 
	
	
		
			
				|  | @ -96,7 +107,7 @@ import com.yihu.jw.wechat.service.BaseSensitiveFilterWordsService;
 | 
	
		
			
				|  |  | import com.yihu.jw.wechat.service.WxAccessTokenService;
 | 
	
		
			
				|  |  | import com.yihu.jw.yx.dao.YxTokenMappingDao;
 | 
	
		
			
				|  |  | import com.yihu.mysql.query.BaseJpaService;
 | 
	
		
			
				|  |  | import com.yihu.utils.pinyin.PinyinUtil;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.utils.security.MD5;
 | 
	
		
			
				|  |  | import com.ylzinfo.ehc.EhcHandler;
 | 
	
		
			
				|  |  | import com.ylzinfo.ehc.common.utils.DateUtils;
 | 
	
	
		
			
				|  | @ -131,9 +142,6 @@ import java.text.DecimalFormat;
 | 
	
		
			
				|  |  | import java.text.ParseException;
 | 
	
		
			
				|  |  | import java.text.SimpleDateFormat;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | import java.util.stream.Collectors;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import static javafx.scene.input.KeyCode.L;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by Trick on 2019/5/17.
 | 
	
	
		
			
				|  | @ -11462,47 +11470,52 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         logger.info("appKey"+appKey+"======"+"masterSecret"+masterSecret);
 | 
	
		
			
				|  |  |         String enctryMessage = appKey+":"+masterSecret;
 | 
	
		
			
				|  |  |         byte[] bytes = enctryMessage.getBytes();
 | 
	
		
			
				|  |  |         String auth = "Basic "+Base64.encode(bytes);
 | 
	
		
			
				|  |  |         com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
 | 
	
		
			
				|  |  |         jsonObject.put("platform","all");
 | 
	
		
			
				|  |  |         com.alibaba.fastjson.JSONObject audience = new com.alibaba.fastjson.JSONObject();
 | 
	
		
			
				|  |  |         com.alibaba.fastjson.JSONArray jsonArray = new com.alibaba.fastjson.JSONArray();
 | 
	
		
			
				|  |  |         jsonArray.add(userId);
 | 
	
		
			
				|  |  |         audience.put("alias",jsonArray);
 | 
	
		
			
				|  |  |         jsonObject.put("audience",audience);
 | 
	
		
			
				|  |  |         com.alibaba.fastjson.JSONObject notification = new com.alibaba.fastjson.JSONObject();
 | 
	
		
			
				|  |  |         com.alibaba.fastjson.JSONObject android = new com.alibaba.fastjson.JSONObject();
 | 
	
		
			
				|  |  |         android.put("alert",alert);
 | 
	
		
			
				|  |  |         android.put("title",title);
 | 
	
		
			
				|  |  |         android.put("extras",extras);
 | 
	
		
			
				|  |  |         android.put("builder_id",1);
 | 
	
		
			
				|  |  |         com.alibaba.fastjson.JSONObject ios = new com.alibaba.fastjson.JSONObject();
 | 
	
		
			
				|  |  |         ios.put("alert",alert);
 | 
	
		
			
				|  |  |         ios.put("sound","default");
 | 
	
		
			
				|  |  |         ios.put("extras",extras);
 | 
	
		
			
				|  |  |         ios.put("badge","+1");
 | 
	
		
			
				|  |  |         notification.put("android",android);
 | 
	
		
			
				|  |  |         notification.put("ios",ios);
 | 
	
		
			
				|  |  |         jsonObject.put("notification",notification);
 | 
	
		
			
				|  |  |         System.out.println(notification.toString());
 | 
	
		
			
				|  |  |         String url = "https://api.jpush.cn/v3/push";
 | 
	
		
			
				|  |  |         Map<String, Object> headerMap = new HashedMap();
 | 
	
		
			
				|  |  |         headerMap.put("Authorization",auth);
 | 
	
		
			
				|  |  |         headerMap.put("Content-Type","application/json");
 | 
	
		
			
				|  |  |         /*headerMap.put("Content-Length",1024);
 | 
	
		
			
				|  |  |         headerMap.put("Host","127.0.0.1");*/
 | 
	
		
			
				|  |  |         logger.info("极光推送参数"+jsonObject);
 | 
	
		
			
				|  |  |         String response = httpClientUtil.postBodyHead(url,jsonObject,headerMap);
 | 
	
		
			
				|  |  |         logger.info("极光推送返回日志==="+response);
 | 
	
		
			
				|  |  |         WlyyHttpLogDO httpLogDO = new WlyyHttpLogDO();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         JPushClient jPushClient = new JPushClient(masterSecret, appKey, null, ClientConfig.getInstance());
 | 
	
		
			
				|  |  |         PushPayload payload = PushPayload.newBuilder()
 | 
	
		
			
				|  |  |                 .setPlatform(Platform.all())
 | 
	
		
			
				|  |  |                 .setAudience(Audience.newBuilder()
 | 
	
		
			
				|  |  |                         .addAudienceTarget(AudienceTarget.alias(userId)).build())
 | 
	
		
			
				|  |  |                 .setNotification(Notification.newBuilder()
 | 
	
		
			
				|  |  |                         .addPlatformNotification(IosNotification.newBuilder()
 | 
	
		
			
				|  |  |                                 .setAlert(alert)
 | 
	
		
			
				|  |  |                                 .setBadge(5)
 | 
	
		
			
				|  |  |                                 .setSound("default")
 | 
	
		
			
				|  |  |                                 .addExtra("type", extras.getString("type"))
 | 
	
		
			
				|  |  |                                 .addExtra("id", extras.getString("id"))
 | 
	
		
			
				|  |  |                                 .setBadge(1)
 | 
	
		
			
				|  |  |                                 .build())
 | 
	
		
			
				|  |  |                         .addPlatformNotification(AndroidNotification.newBuilder()
 | 
	
		
			
				|  |  |                                 .setAlert(alert)
 | 
	
		
			
				|  |  |                                 .setTitle(title)
 | 
	
		
			
				|  |  |                                 .setBuilderId(1)
 | 
	
		
			
				|  |  |                                 .addExtra("type", extras.getString("type"))
 | 
	
		
			
				|  |  |                                 .addExtra("id", extras.getString("id"))
 | 
	
		
			
				|  |  |                                 .build())
 | 
	
		
			
				|  |  |                         .build())
 | 
	
		
			
				|  |  |                 .build();
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             PushResult result = jPushClient.sendPush(payload);
 | 
	
		
			
				|  |  |             logger.info("Got result - " + result);
 | 
	
		
			
				|  |  |         } catch (APIConnectionException e) {
 | 
	
		
			
				|  |  |             // Connection error, should retry later
 | 
	
		
			
				|  |  |             logger.error("Connection error, should retry later", e);
 | 
	
		
			
				|  |  |         } catch (APIRequestException e) {
 | 
	
		
			
				|  |  |             // Should review the error, and fix the request
 | 
	
		
			
				|  |  |             logger.error("Should review the error, and fix the request", e);
 | 
	
		
			
				|  |  |             logger.info("HTTP Status: " + e.getStatus());
 | 
	
		
			
				|  |  |             logger.info("Error Code: " + e.getErrorCode());
 | 
	
		
			
				|  |  |             logger.info("Error Message: " + e.getErrorMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         /*logger.info("极光推送返回日志==="+response);*/
 | 
	
		
			
				|  |  |        /* WlyyHttpLogDO httpLogDO = new WlyyHttpLogDO();
 | 
	
		
			
				|  |  |         httpLogDO.setCode("JPUSH");
 | 
	
		
			
				|  |  |         httpLogDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |         httpLogDO.setRequest(jsonObject.toJSONString());
 | 
	
		
			
				|  |  |         httpLogDO.setResponse(response);
 | 
	
		
			
				|  |  |         wlyyHttpLogDao.save(httpLogDO);
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |         wlyyHttpLogDao.save(httpLogDO);*/
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return null;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public String wxTempalteJPush(String templateCode,WlyyOutpatientDO wlyyOutpatientDO ,ConsultTeamDo consultTeamDo,String drugName ,String mailNo,String mailStatus,String prescriptionId){
 |