HouseApiController.java 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. package com.care.client.controller;
  2. import cn.hutool.core.util.StrUtil;
  3. import com.care.client.service.PassportService;
  4. import com.care.client.service.PinanbaoService;
  5. import com.care.client.vo.DeviceMonitorVO;
  6. import com.care.client.vo.MemberInfoVO;
  7. import com.care.common.entity.CareBedroomInbedHourSta;
  8. import com.care.common.entity.CareToiletInoutHourSta;
  9. import com.care.common.entity.CareWalkingDistanceHourSta;
  10. import com.care.common.exception.BDException;
  11. import com.care.common.util.PageResult;
  12. import com.care.common.util.Result;
  13. import com.care.common.vo.device.DeviceVO;
  14. import io.swagger.annotations.Api;
  15. import io.swagger.annotations.ApiOperation;
  16. import lombok.extern.slf4j.Slf4j;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.http.MediaType;
  19. import org.springframework.web.bind.annotation.*;
  20. import org.springframework.web.multipart.MultipartFile;
  21. import javax.annotation.Resource;
  22. import java.util.List;
  23. /**
  24. * @Author: lilt
  25. * @Date: 2021/5/26
  26. * @Desc:
  27. */
  28. @RestController
  29. @Api(value = "HouseApiController", tags = { "房屋信息" })
  30. @Slf4j
  31. @RequestMapping("/pinanbao/house")
  32. public class HouseApiController {
  33. @Resource
  34. private PassportService passportService;
  35. @Autowired
  36. private PinanbaoService pinanbaoService;
  37. //TODO 某个设备的睡眠报告 夜间、白天
  38. /**
  39. *设备列表
  40. * @param token
  41. * @return
  42. */
  43. @GetMapping("/device/list")
  44. @ApiOperation(tags = {"首页"},value = "设备列表 --二期修改")
  45. public Result<List<DeviceVO>> deviceList(@RequestHeader(value = "token") String token){
  46. try {
  47. MemberInfoVO current = passportService.checkToken(token);
  48. List<DeviceVO> datas = pinanbaoService.devList(current.getId());
  49. return Result.success(datas);
  50. }catch (BDException e) {
  51. log.error("未处理事件查询-分页列表出现异常",e);
  52. return PageResult.error(e.getMessage());
  53. } catch (Exception e) {
  54. log.error("事件处理: 未处理事件查询出现异常",e);
  55. return PageResult.error( "获取列表失败");
  56. }
  57. }
  58. @GetMapping("/device/monitor")
  59. @ApiOperation(tags = {"首页"},value = "设备的监测信息 --三期修改")
  60. public Result<DeviceMonitorVO> getMonitor(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){
  61. try {
  62. return Result.success(this.pinanbaoService.devMonitorData(devId));
  63. }catch (BDException e) {
  64. log.error("首页设备的监测信息-查询监测信息出现异常",e);
  65. return PageResult.error(e.getMessage());
  66. } catch (Exception e) {
  67. log.error("首页设备的监测信息: 查询监测信息出现异常",e);
  68. return PageResult.error( "获取信息失败");
  69. }
  70. }
  71. @PostMapping(value = "/sos" ,consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
  72. @ApiOperation(tags = {"首页"},value = "SOS呼叫",httpMethod ="POST" ,response = Result.class)
  73. public Result<Object> sos(@RequestHeader("token") String token, @RequestParam(value = "file") MultipartFile file){
  74. try {
  75. MemberInfoVO memberInfoVO = passportService.checkToken(token);
  76. this.pinanbaoService.sos(memberInfoVO,file);
  77. return Result.success("呼叫成功");
  78. }
  79. catch (BDException e) {
  80. log.error("主动呼叫异常BDException",e);
  81. return Result.error("呼叫失败!");
  82. }catch (Exception e) {
  83. log.error("线路管理:线路导入出现异常",e);
  84. return Result.error("呼叫失败!");
  85. }
  86. }
  87. @PostMapping(value = "/sos-bak")
  88. @ApiOperation(tags = {"首页"},value = "SOS呼叫",httpMethod ="POST" ,response = Result.class)
  89. public Result<Object> sos(@RequestHeader("token") String token){
  90. try {
  91. MemberInfoVO memberInfoVO = passportService.checkToken(token);
  92. this.pinanbaoService.sos(memberInfoVO);
  93. return Result.success("呼叫成功");
  94. }
  95. catch (BDException e) {
  96. log.error("主动呼叫异常BDException",e);
  97. return Result.error(e.getMessage());
  98. }catch (Exception e) {
  99. log.error("线路管理:线路导入出现异常",e);
  100. return Result.error("呼叫失败!");
  101. }
  102. }
  103. @GetMapping("/getRealTimeMonitorUrl")
  104. @ApiOperation(tags = {"首页"},value = "获取实时监控URL")
  105. public Result<String> getRealTimeMonitorUrl(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){
  106. String url = this.pinanbaoService.getRealTimeMonitorUrl(devId);
  107. if (StrUtil.isNotEmpty(url)) {
  108. return Result.success("查询成功!",url);
  109. }else{
  110. return Result.error("查询失败!");
  111. }
  112. }
  113. /**
  114. *卧室在床时间图表
  115. * @param token
  116. * @return
  117. */
  118. @GetMapping("/device/getInbedTimeChartList")
  119. @ApiOperation(tags = {"首页"},value = "卧室在床时间统计图表 --三期新增")
  120. public Result<List<CareBedroomInbedHourSta>> getInbedTimeChartList(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){
  121. try {
  122. List<CareBedroomInbedHourSta> datas = pinanbaoService.getInbedTimeChartList(devId);
  123. return Result.success(datas);
  124. }catch (BDException e) {
  125. log.error("首页-在床时间图表查询出现异常",e);
  126. return PageResult.error(e.getMessage());
  127. } catch (Exception e) {
  128. log.error("首页: 在床时间图表查询出现异常",e);
  129. return PageResult.error( "获取在床时间图表失败");
  130. }
  131. }
  132. /**
  133. *卫生间进出统计图表
  134. * @param token
  135. * @return
  136. */
  137. @GetMapping("/device/getToiletInoutChartList")
  138. @ApiOperation(tags = {"首页"},value = "卫生间进出统计图表 --三期新增")
  139. public Result<List<CareToiletInoutHourSta>> getToiletInoutChartList(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){
  140. try {
  141. List<CareToiletInoutHourSta> datas = pinanbaoService.getToiletInoutChartList(devId);
  142. return Result.success(datas);
  143. }catch (BDException e) {
  144. log.error("首页-卫生间进出图表查询出现异常",e);
  145. return PageResult.error(e.getMessage());
  146. } catch (Exception e) {
  147. log.error("首页: 卫生间进出图表查询出现异常",e);
  148. return PageResult.error( "获取卫生间进出图表失败");
  149. }
  150. }
  151. /**
  152. *活动统计图表
  153. * @param token
  154. * @return
  155. */
  156. @GetMapping("/device/getActivityChartList")
  157. @ApiOperation(tags = {"首页"},value = "活动统计图表 --三期新增")
  158. public Result<List<CareWalkingDistanceHourSta>> getActivityChartList(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){
  159. try {
  160. List<CareWalkingDistanceHourSta> datas = pinanbaoService.getActivityChartList(devId);
  161. return Result.success(datas);
  162. }catch (BDException e) {
  163. log.error("首页-卫生间进出图表查询出现异常",e);
  164. return PageResult.error(e.getMessage());
  165. } catch (Exception e) {
  166. log.error("首页: 卫生间进出图表查询出现异常",e);
  167. return PageResult.error( "获取卫生间进出图表失败");
  168. }
  169. }
  170. }