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