|
@ -11,6 +11,7 @@ import com.yihu.jw.patient.dao.BasePatientDao;
|
|
|
import com.yihu.jw.util.common.LatitudeUtils;
|
|
|
import com.yihu.jw.util.http.HttpClientUtil;
|
|
|
import com.yihu.jw.utils.encode.Base64;
|
|
|
import org.apache.commons.lang3.StringEscapeUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@ -71,10 +72,12 @@ public class YsDeviceService {
|
|
|
JSONObject result = new JSONObject();
|
|
|
try {
|
|
|
String decodeStr = messageDecrypt(message,YsConfig.msgDataKey);
|
|
|
decodeStr = StringEscapeUtils.unescapeJava(decodeStr);
|
|
|
result = JSONObject.parseObject(decodeStr);
|
|
|
JSONArray tmpArr = result.getJSONObject("eps").getJSONArray("alert");
|
|
|
boolean fallFlag = false;
|
|
|
String deviceSN = null;
|
|
|
String sceneUrl = "";
|
|
|
for (int i=0;i<tmpArr.size();i++){
|
|
|
JSONObject tmpObj = tmpArr.getJSONObject(i);
|
|
|
String msgType = tmpObj.getString("msgType");
|
|
@ -92,6 +95,13 @@ public class YsDeviceService {
|
|
|
if ("tumble_detection".equals(alarmType)){//tumble_detection跌倒类型 //有人出现SmartHumanDet
|
|
|
fallFlag = true;
|
|
|
deviceSN = bodyJsonObj2.getString("devSerial");//设备SN
|
|
|
if (bodyJsonObj2.containsKey("pictureList")&&bodyJsonObj2.getJSONArray("pictureList")!=null){
|
|
|
JSONArray pictureList = bodyJsonObj2.getJSONArray("pictureList");
|
|
|
if (pictureList.size()>0){
|
|
|
JSONObject tmp = pictureList.getJSONObject(0);
|
|
|
sceneUrl = tmp.getString("url");//现场照片
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@ -133,10 +143,11 @@ public class YsDeviceService {
|
|
|
jsonObject.put("serveLat",lat);
|
|
|
jsonObject.put("serveLon",lon);
|
|
|
jsonObject.put("topicItem","preventFall");
|
|
|
jsonObject.put("sceneImg",sceneUrl);
|
|
|
JSONObject jsonObjectParam = new JSONObject();
|
|
|
jsonObjectParam.put("order", jsonObject);
|
|
|
map.put("jsonData", jsonObjectParam.toJSONString());
|
|
|
map.put("orderSource", 2);
|
|
|
map.put("orderSource", 4);
|
|
|
map.put("warnStr", "疑似跌倒");
|
|
|
|
|
|
String content = com.alibaba.fastjson.JSONObject.toJSONString(map);
|
|
@ -148,6 +159,7 @@ public class YsDeviceService {
|
|
|
}
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
logger.info("萤石摄像机消息推送:"+result.toString());
|
|
|
return result;
|
|
@ -162,7 +174,7 @@ public class YsDeviceService {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public String messageDecrypt(String sSrc, String sKey) throws Exception {
|
|
|
public static String messageDecrypt(String sSrc, String sKey) throws Exception {
|
|
|
try {
|
|
|
byte[] raw = sKey.getBytes("utf-8");
|
|
|
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
|