|
@ -0,0 +1,71 @@
|
|
|
|
package com.yihu.jw.care.service.device;
|
|
|
|
|
|
|
|
import com.yihu.jw.util.http.HttpClientUtil;
|
|
|
|
import com.yihu.jw.utils.StringUtil;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Created with IntelliJ IDEA.
|
|
|
|
* 云芯拐杖设备对接
|
|
|
|
* @Author: yeshijie
|
|
|
|
* @Date: 2021/8/27
|
|
|
|
* @Description:
|
|
|
|
*/
|
|
|
|
@Service
|
|
|
|
public class YunXunDeviceService {
|
|
|
|
|
|
|
|
private static Logger logger = LoggerFactory.getLogger(YunXunDeviceService.class);
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private HttpClientUtil httpClientUtil;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 设置紧急联系人
|
|
|
|
* @param sn
|
|
|
|
* @param phone1
|
|
|
|
* @param phone2
|
|
|
|
* @param phone3
|
|
|
|
*/
|
|
|
|
public void setSos(String sn,String phone1,String phone2,String phone3){
|
|
|
|
if(StringUtil.isBlank(phone1)){
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
//[IC*334588000000156*0027*SOS,00000000000,00000000000]
|
|
|
|
String order = "SOS,"+phone1;
|
|
|
|
if(!StringUtil.isBlank(phone2)){
|
|
|
|
order += ","+phone2;
|
|
|
|
}
|
|
|
|
if(!StringUtil.isBlank(phone3)){
|
|
|
|
order += ","+phone3;
|
|
|
|
}
|
|
|
|
String instruction = "[IC*"+sn+"*"+hex10To16(order.length())+"]";
|
|
|
|
sendInstruction(sn,instruction);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 发送指令接口
|
|
|
|
* @param instruction
|
|
|
|
*/
|
|
|
|
public void sendInstruction(String sn,String instruction){
|
|
|
|
try {
|
|
|
|
String url = "http://117.24.13.79:43210/yunxin/sendMessage?deviceSN="+sn+"&message="+instruction;
|
|
|
|
String response = httpClientUtil.get(url,"UTF-8");
|
|
|
|
logger.info("sendInstruction="+response);
|
|
|
|
}catch (Exception e){
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 保留4位 十进制转十六进制
|
|
|
|
* @param ten
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
public String hex10To16(int ten){
|
|
|
|
return String.format("%04x",ten);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|