| 
					
				 | 
			
			
				@ -0,0 +1,416 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.care.endpoint; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.service.DeviceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.Api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiOperation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created with IntelliJ IDEA. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @Author: yeshijie 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @Date: 2021/4/29 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @Description: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RequestMapping("/device") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Api(value = "设备相关服务", description = "设备相关服务") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class DeviceController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static Logger logger = LoggerFactory.getLogger(DeviceController.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DeviceService deviceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping("test") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String test(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return deviceService.getCookie(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("爱牵挂设备sos数据接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "aqgsos", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String aqgsos( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "imei",required = false) String imei, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="label_mac",required = false,value="只有主机下有绑定标贴才会发送这个参数,按哪个标贴就报哪个标贴Mac,按主机报警则不会发送",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "label_mac",required = false) String label_mac, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="time_begin",required = false,value="发生时间YYYY-MM-DD HH:mm:SS",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_begin",required = false) String time_begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("爱牵挂设备sos数据接收,请求参数:\n"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.aqgsos(imei, label_mac, time_begin,request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("爱牵挂设备开关机数据接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "aqgSwitch", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String aqgSwitch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "imei",required = false) String imei, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="time_begin",required = false,value="发生时间YYYY-MM-DD HH:mm:SS",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_begin",required = false) String time_begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="remaining_power",required = false,value="剩余电量(%) ",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "remaining_power",required = false) String remaining_power, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="type",required = false,value=" 开/关机类型  0开机 2普通  3低电 ",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "type",required = false) String type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("爱牵挂设备开关机数据接收,请求参数:\n"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.aqgSwitch(imei, time_begin, remaining_power, type,request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("爱牵挂设备消息通知数据接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "pushdata", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String pushdata( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="type",required = false,value="根据type来定义给用户推送提示  type=1 SOS,type=5 设备低电, 其他类型非本机型所有",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "type",required = false) int type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="deviceid",required = false,value="15位设备唯一序号",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "deviceid",required = false) String deviceid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="communityid",required = false,value="机构ID",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "communityid",required = false) String communityid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("爱牵挂设备消息通知数据接收,请求参数:\n"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.pushdata(type, deviceid, communityid, request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("柏颐设备位置接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "byLocation", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String byLocation( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "imei",required = true) String imei, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="time_begin",required = false,value="发生时间YYYY-MM-DD HH:mm:SS",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_begin",required = false) String time_begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="is_reply",required = false,value="是否为响应") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "is_reply",required = false) boolean is_reply, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="is_track",required = false,value="是否轨迹") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "is_track",required = false) boolean is_track, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="city",required = false,value="城市") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "city",required = false) String city, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="address",required = false,value="地址") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "address",required = false) String address, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="lon",required = false,value="经度") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "lon",required = false) double lon, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="lat",required = false,value="纬度") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "lat",required = false) double lat, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="type",required = false,value="类型  0:Gps定位; 1:基站定位") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "type",required = false) String type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("柏颐设备位置接收,请求参数:\n"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.byLocation(imei,time_begin,is_reply,is_track,city,address,lon,lat,type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("柏颐心率数据接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "byHeartRate", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String byHeartRate( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "imei", value = "15位设备唯一序号") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "imei",required = true)String imei, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "time_begin", value = "发生时间YYYY-MM-DD HH:mm:SS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_begin",required = false)String time_begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "heartrate", value = "心率") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "heartrate",required = false)int heartrate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "theshold_heartrate_h", value = "心率阈值上限") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "theshold_heartrate_h",required = false)int theshold_heartrate_h, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "theshold_heartrate_l", value = "心率阈值下限") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "theshold_heartrate_l",required = false)int theshold_heartrate_l, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("柏颐心率数据接收,请求参数: \n"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.byHeartRate(imei,time_begin,heartrate,theshold_heartrate_h,theshold_heartrate_l); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("柏颐血压数据接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "byBloodPressure", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String byBloodPressure( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "imei", value = "15位设备唯一序号", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "imei",required = true)String imei, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "time_begin", value = "发生时间YYYY-MM-DD HH:mm:SS", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_begin",required = false)String time_begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "dbp", value = "舒张压", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "dbp",required = false)int dbp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "dbp_l", value = "舒张压报警下限", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "dbp_l",required = false)int dbp_l, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "sbp", value = "收缩压", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "sbp",required = false)int sbp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "sbp_h", value = "收缩压报警上限", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "sbp_h",required = false)int sbp_h, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("柏颐血压数据,接收请求参数:\n"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.byBloodPressure(imei,time_begin,dbp,dbp_l,sbp,sbp_h); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("柏颐跌倒数据接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "byFall", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String byFall( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "imei", value = "15位设备唯一序号", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "imei",required = true)String imei, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "time_begin", value = "发生时间YYYY-MM-DD HH:mm:SS", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_begin",required = false)String time_begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "city", value = "城市", required = false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "city",required = false)String city, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "address", value = "地址", required = false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "address",required = false)String address, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "lon", value = "经度", required = false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "lon",required = false)double lon, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "lat", value = "纬度", required = false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "lat",required = false)double lat, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "type", value = "纬度", required = false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "type",required = false)String type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("柏颐跌倒数据接收,请求参数: \n"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.byFall(imei,time_begin,city,address,lon,lat,type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("柏颐设备sos数据接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "bySos", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String bySos( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "imei",required = true) String imei, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="time_begin",required = false,value="发生时间YYYY-MM-DD HH:mm:SS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_begin",required = false) String time_begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="heartrate",required = false,value="心率") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "heartrate",required = false) int heartrate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="city",required = false,value="城市") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "city",required = false) String city, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="address",required = false,value="地址") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "address",required = false) String address, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="lon",required = false,value="经度") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "lon",required = false) double lon, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="lat",required = false,value="纬度") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "lat",required = false) double lat, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="type",required = false,value="类型  0:Gps定位; 1:基站定位") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "type",required = false) String type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("请求参数:"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.bySos(imei,time_begin,heartrate,city,address,lon,lat,type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("柏颐设备步数接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "bySteps", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String bySteps( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "imei",required = true) String imei, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="time_begin",required = false,value="发生时间YYYY-MM-DD HH:mm:SS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_begin",required = false) String time_begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="value",required = false,value="步数") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "value",required = false) int value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("柏颐设备步数接收,请求参数:\n"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.bySteps(imei,time_begin,value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("柏颐设备睡眠接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "bySleep", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String bySleep( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "imei",required = true) String imei, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="time_begin",required = false,value="发生时间YYYY-MM-DD HH:mm:SS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_begin",required = false) String time_begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="time_end",required = false,value="结束时间YYYY-MM-DD HH:mm:SS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_end",required = false) String time_end, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="interval",required = false,value="固定30分钟") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "interval",required = false) int interval, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="total",required = false,value="检测次数") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "total",required = false) int total, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="data",required = false,value="样例截取 睡眠数据 (格式:state,turn_over|state,turn_over|...)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "data",required = false)String data, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //data 为字符串,格式为:  state,turn_over|state,turn_over|state, ... state和turn_over的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 含义见object.md 文档中sleepdatasleep 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("柏颐设备睡眠接收,请求参数:"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.bySleep(imei,time_begin,time_end,interval,total,data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("柏颐设备开关机数据接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "bySwitch", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String bySwitch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "imei",required = true) String imei, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="time_begin",required = false,value="发生时间YYYY-MM-DD HH:mm:SS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "time_begin",required = false) String time_begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="type",required = false,value="开/关机类型  0:开机; 1:关机; 2:电量上报; 3:低电通知") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "type",required = false) String type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="remaining_power",required = false,value="剩余电量(%)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "remaining_power",required = false) int remaining_power, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("请求参数:"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.bySwitch(imei,time_begin,type,remaining_power); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("柏颐设备消息通知数据接收") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "byPushData", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String byPushData( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="type",required = false,value="type=1 SOS,type=2 fall,type=3 new 新成员加入 ,type=4 电子围栏触发, type=5 设备低电,type=6 环境音 ",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "type",required = false) int type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="deviceid",required = false,value="15位设备唯一序号",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "deviceid",required = true) String deviceid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="communityid",required = false,value="机构ID") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "communityid",required = false) String communityid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="url",required = false,value="环境音下载地址 只有环境音(type=6)为必填,其他type都为非必填") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "url",required = false) String url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name="name",required = false,value="设备名称") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "name",required = false) String name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paraString = JSON.toJSONString(request.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("请求参数:"+paraString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceService.byPushData(type,deviceid,communityid,url,name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1,"Device data incoming failure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 返回接口处理结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param code  结果码,成功为200 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param msg   结果提示信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String error(int code, String msg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<Object, Object> map = new HashMap<Object, Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ObjectMapper mapper = new ObjectMapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("status", code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("msg", msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("success", false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return mapper.writeValueAsString(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 接口处理成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String success() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<Object, Object> map = new HashMap<Object, Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ObjectMapper mapper = new ObjectMapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("status", 200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("success", true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return mapper.writeValueAsString(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String write(int code, String msg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<Object, Object> map = new HashMap<Object, Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ObjectMapper mapper = new ObjectMapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("status", code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("msg", msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("success", true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return mapper.writeValueAsString(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |