package com.care.client.controller; import cn.hutool.core.util.StrUtil; import com.care.client.service.PassportService; import com.care.client.service.PinanbaoService; import com.care.client.vo.DeviceMonitorVO; import com.care.client.vo.MemberInfoVO; import com.care.common.entity.CareBedroomInbedHourSta; import com.care.common.entity.CareToiletInoutHourSta; import com.care.common.entity.CareWalkingDistanceHourSta; import com.care.common.exception.BDException; import com.care.common.util.PageResult; import com.care.common.util.Result; import com.care.common.vo.device.DeviceVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.List; /** * @Author: lilt * @Date: 2021/5/26 * @Desc: */ @RestController @Api(value = "HouseApiController", tags = { "房屋信息" }) @Slf4j @RequestMapping("/pinanbao/house") public class HouseApiController { @Resource private PassportService passportService; @Autowired private PinanbaoService pinanbaoService; //TODO 某个设备的睡眠报告 夜间、白天 /** *设备列表 * @param token * @return */ @GetMapping("/device/list") @ApiOperation(tags = {"首页"},value = "设备列表 --二期修改") public Result> deviceList(@RequestHeader(value = "token") String token){ try { MemberInfoVO current = passportService.checkToken(token); List datas = pinanbaoService.devList(current.getId()); return Result.success(datas); }catch (BDException e) { log.error("未处理事件查询-分页列表出现异常",e); return PageResult.error(e.getMessage()); } catch (Exception e) { log.error("事件处理: 未处理事件查询出现异常",e); return PageResult.error( "获取列表失败"); } } @GetMapping("/device/monitor") @ApiOperation(tags = {"首页"},value = "设备的监测信息 --三期修改") public Result getMonitor(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){ try { return Result.success(this.pinanbaoService.devMonitorData(devId)); }catch (BDException e) { log.error("首页设备的监测信息-查询监测信息出现异常",e); return PageResult.error(e.getMessage()); } catch (Exception e) { log.error("首页设备的监测信息: 查询监测信息出现异常",e); return PageResult.error( "获取信息失败"); } } @PostMapping(value = "/sos" ,consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @ApiOperation(tags = {"首页"},value = "SOS呼叫",httpMethod ="POST" ,response = Result.class) public Result sos(@RequestHeader("token") String token, @RequestParam(value = "file") MultipartFile file){ try { MemberInfoVO memberInfoVO = passportService.checkToken(token); this.pinanbaoService.sos(memberInfoVO,file); return Result.success("呼叫成功"); } catch (BDException e) { log.error("主动呼叫异常BDException",e); return Result.error("呼叫失败!"); }catch (Exception e) { log.error("线路管理:线路导入出现异常",e); return Result.error("呼叫失败!"); } } @PostMapping(value = "/sos-bak") @ApiOperation(tags = {"首页"},value = "SOS呼叫",httpMethod ="POST" ,response = Result.class) public Result sos(@RequestHeader("token") String token){ try { MemberInfoVO memberInfoVO = passportService.checkToken(token); this.pinanbaoService.sos(memberInfoVO); return Result.success("呼叫成功"); } catch (BDException e) { log.error("主动呼叫异常BDException",e); return Result.error(e.getMessage()); }catch (Exception e) { log.error("线路管理:线路导入出现异常",e); return Result.error("呼叫失败!"); } } @GetMapping("/getRealTimeMonitorUrl") @ApiOperation(tags = {"首页"},value = "获取实时监控URL") public Result getRealTimeMonitorUrl(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){ String url = this.pinanbaoService.getRealTimeMonitorUrl(devId); if (StrUtil.isNotEmpty(url)) { return Result.success("查询成功!",url); }else{ return Result.error("查询失败!"); } } /** *卧室在床时间图表 * @param token * @return */ @GetMapping("/device/getInbedTimeChartList") @ApiOperation(tags = {"首页"},value = "卧室在床时间统计图表 --三期新增") public Result> getInbedTimeChartList(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){ try { List datas = pinanbaoService.getInbedTimeChartList(devId); return Result.success(datas); }catch (BDException e) { log.error("首页-在床时间图表查询出现异常",e); return PageResult.error(e.getMessage()); } catch (Exception e) { log.error("首页: 在床时间图表查询出现异常",e); return PageResult.error( "获取在床时间图表失败"); } } /** *卫生间进出统计图表 * @param token * @return */ @GetMapping("/device/getToiletInoutChartList") @ApiOperation(tags = {"首页"},value = "卫生间进出统计图表 --三期新增") public Result> getToiletInoutChartList(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){ try { List datas = pinanbaoService.getToiletInoutChartList(devId); return Result.success(datas); }catch (BDException e) { log.error("首页-卫生间进出图表查询出现异常",e); return PageResult.error(e.getMessage()); } catch (Exception e) { log.error("首页: 卫生间进出图表查询出现异常",e); return PageResult.error( "获取卫生间进出图表失败"); } } /** *活动统计图表 * @param token * @return */ @GetMapping("/device/getActivityChartList") @ApiOperation(tags = {"首页"},value = "活动统计图表 --三期新增") public Result> getActivityChartList(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){ try { List datas = pinanbaoService.getActivityChartList(devId); return Result.success(datas); }catch (BDException e) { log.error("首页-卫生间进出图表查询出现异常",e); return PageResult.error(e.getMessage()); } catch (Exception e) { log.error("首页: 卫生间进出图表查询出现异常",e); return PageResult.error( "获取卫生间进出图表失败"); } } }