|  | @ -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);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |