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