package com.panzhihua.service_bracelet.api; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.bracelet.BraceletEarlyWarningDO; import com.panzhihua.common.model.dtos.bracelet.BraceletUserDataDO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_bracelet.model.dos.SysUser; import com.panzhihua.service_bracelet.service.BraceletEarlyWarningService; import com.panzhihua.service_bracelet.service.BraceletUserDataService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; @Slf4j @RestController @RequestMapping("/braceletApi") public class BraceletUserDataApi { @Resource private BraceletUserDataService braceletUserDataService; //手环预警功能 @Resource private BraceletEarlyWarningService braceletEarlyWarningService; /** * 新增数据 * * @param braceletUserDataDO * 请求参数 * @return 新增数据 */ @PostMapping("/addBracelet") public R addBracelet(@RequestBody BraceletUserDataDO braceletUserDataDO) { braceletUserDataDO.setIsAbnormal("0"); braceletUserDataDO.setOnoff("1"); BraceletUserDataDO data=null; if(!StringUtils.isEmpty(braceletUserDataDO.getDeviceId())) { data=braceletUserDataService.getDetails(braceletUserDataDO.getDeviceId()); } if(data==null || StringUtils.isEmpty(data.getDeviceId())) { return R.ok(braceletUserDataService.addBracelet(braceletUserDataDO)); } else { //101:血压数据 107:体温数据 110:计步数据 112:心率数据 201:SOS 呼叫请求 202:定位数据 301:穿戴设备电量 302:设备在线与离线 if(!StringUtils.isEmpty(braceletUserDataDO.getDataType())) { switch (braceletUserDataDO.getDataType()) { case "101": BraceletEarlyWarningDO data101=new BraceletEarlyWarningDO(); data101.setEquipmentNumber(braceletUserDataDO.getDeviceId()); data101.setDisposeType("1"); data101.setCommunityId(data.getCommunityId()); //低压 if(Integer.valueOf(braceletUserDataDO.getPdp())Integer.valueOf(data.getLowTensionUpperLimit())) { //低压报警过高 data101.setEarlyWarningText("血压低压(舒张压)高于设定值"); data101.setEarlyWarningType("1"); braceletUserDataDO.setIsAbnormal("1"); braceletEarlyWarningService.addBracelet(data101); } if(Integer.valueOf(braceletUserDataDO.getPcp())Integer.valueOf(data.getHighPressureUpperLimit())) { //高压报警过高 data101.setEarlyWarningText("血压高压(收缩压)高于设定值"); data101.setEarlyWarningType("1"); braceletUserDataDO.setIsAbnormal("1"); braceletEarlyWarningService.addBracelet(data101); } if(Integer.valueOf(braceletUserDataDO.getPm())Integer.valueOf(data.getTallHeartRate())) { //心率报警过高 data101.setEarlyWarningText("心率高于设定值"); data101.setEarlyWarningType("2"); braceletUserDataDO.setIsAbnormal("1"); braceletEarlyWarningService.addBracelet(data101); } break; //体温数据 case "107": BraceletEarlyWarningDO data107=new BraceletEarlyWarningDO(); data107.setEquipmentNumber(braceletUserDataDO.getDeviceId()); data107.setDisposeType("1"); data107.setCommunityId(data.getCommunityId()); if(Double.valueOf(braceletUserDataDO.getEtg())Double.valueOf(data.getTallAnimalHeat())) { //体温报警过高 data107.setEarlyWarningText("体温高于设定值"); data107.setEarlyWarningType("3"); braceletUserDataDO.setIsAbnormal("1"); braceletEarlyWarningService.addBracelet(data107); } break; //心率数据 case "112": BraceletEarlyWarningDO data112=new BraceletEarlyWarningDO(); data112.setEquipmentNumber(braceletUserDataDO.getDeviceId()); data112.setDisposeType("1"); data112.setCommunityId(data.getCommunityId()); if(Integer.valueOf(braceletUserDataDO.getPm())Integer.valueOf(data.getTallHeartRate())) { //心率报警过高 data112.setEarlyWarningText("心率高于设定值"); data112.setEarlyWarningType("2"); braceletUserDataDO.setIsAbnormal("1"); braceletEarlyWarningService.addBracelet(data112); } break; //sos数据 case "201": BraceletEarlyWarningDO data201=new BraceletEarlyWarningDO(); data201.setEquipmentNumber(braceletUserDataDO.getDeviceId()); data201.setDisposeType("1"); data201.setCommunityId(data.getCommunityId()); data201.setEarlyWarningText("SOS预警"); data201.setEarlyWarningType("4"); braceletUserDataDO.setIsAbnormal("1"); braceletEarlyWarningService.addBracelet(data201); break; } } return R.ok(braceletUserDataService.upBracelet(braceletUserDataDO)); } } /** * 新增数据 * * @param braceletUserDataDO * 请求参数 * @return 新增数据 */ @PostMapping("/upBracelet") public R upBracelet(@RequestBody BraceletUserDataDO braceletUserDataDO) { return R.ok(braceletUserDataService.upBracelet(braceletUserDataDO)); } /** * 新增数据 * * @param id * 请求参数 * @return 新增数据 */ @DeleteMapping("/delectData") public R delectData(@RequestParam("id") String id) { return R.ok(braceletUserDataService.delectData(id)); } /** * 分页查询 数据 * @param pageNum * @param pageSize * @return */ @GetMapping("/getData") public R> getData(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, @RequestParam(value = "communityId",required = false) String communityId, @RequestParam(value = "userName",required = false) String userName, @RequestParam(value = "phone",required = false) String phone) { Page page = new Page<>(); page.setCurrent(pageNum); page.setSize(pageSize); return R.ok(braceletUserDataService.getData(page,communityId,userName,phone)); } /** * 设备用户详情数据 * @return */ @GetMapping("/getDetails") public R getDetails(@RequestParam("deviceID") String deviceID) { return R.ok(braceletUserDataService.getDetails(deviceID)); } /** * 新增手环预警数据 * @param braceletEarlyWarningDO * @return */ @PostMapping("/addEarlyWarning") public R addEarlyWarning(@RequestBody BraceletEarlyWarningDO braceletEarlyWarningDO) { return R.ok(braceletEarlyWarningService.addBracelet(braceletEarlyWarningDO)); } /** * 编辑手环预警数据 * @param braceletEarlyWarningDO * @return */ @PostMapping("/upEarlyWarning") public R upEarlyWarning(@RequestBody BraceletEarlyWarningDO braceletEarlyWarningDO) { return R.ok(braceletEarlyWarningService.upBracelet(braceletEarlyWarningDO)); } /** * 删除预警数据 * @param id * @return */ @DeleteMapping("/delectEarlyWarning") public R delectEarlyWarning(@RequestParam("id") String id) { return R.ok(braceletEarlyWarningService.delectData(id)); } /** * 获取预警数据 * @param communityId * @return */ @GetMapping("/getEarlyWarningList") public R> getList(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, @RequestParam(value = "communityId",required = false) String communityId, @RequestParam(value = "equipmentNumber",required = false) String equipmentNumber, @RequestParam(value = "disposeUserId",required = false) String disposeUserId, @RequestParam(value = "type",required = false) String type, @RequestParam(value = "userName",required = false) String userName, @RequestParam(value = "phone",required = false) String phone) { Page page=new Page(); page.setSize(pageSize); page.setCurrent(pageNum); return R.ok(braceletEarlyWarningService.getList(page,communityId,equipmentNumber,disposeUserId,type,userName,phone)); } /** * 获取单个预警信息详情 * @param id * @return */ @GetMapping("/getEarlyWarningDetails") public R getEarlyWarningDetails(@RequestParam("id") String id) { return R.ok(braceletEarlyWarningService.getDetails(id)); } /** * 后台处理接口 * @return */ @PostMapping("/dispose") public R dispose(@RequestBody BraceletEarlyWarningDO braceletEarlyWarningDO) { if(StringUtils.isEmpty(braceletEarlyWarningDO.getId())) { return R.fail("id不能为空"); } //忽略 if(StringUtils.equals(braceletEarlyWarningDO.getDisposeType(),"4")) { BraceletEarlyWarningDO da=new BraceletEarlyWarningDO(); da.setDisposeType("4"); da.setId(braceletEarlyWarningDO.getId()); BraceletEarlyWarningDO da2=braceletEarlyWarningService.getDetails(braceletEarlyWarningDO.getId()); BraceletUserDataDO data=new BraceletUserDataDO(); data.setIsAbnormal("0"); data.setDeviceId(da2.getEquipmentNumber()); braceletUserDataService.upBracelet(data); return R.ok(braceletEarlyWarningService.upBracelet(da)); } if(StringUtils.isEmpty(braceletEarlyWarningDO.getDisposeUserId())) { return R.fail("处理人员不能为空"); } braceletEarlyWarningDO.setDisposeType("3"); return R.ok(braceletEarlyWarningService.upBracelet(braceletEarlyWarningDO)); } /** * 微信处理接口 * @param braceletEarlyWarningDO * @return */ @PostMapping("/WXdispose") public R WXdispose(@RequestBody BraceletEarlyWarningDO braceletEarlyWarningDO) { // if(braceletEarlyWarningService.WXdispose(braceletEarlyWarningDO)>0) { BraceletEarlyWarningDO da=braceletEarlyWarningService.getDetails(braceletEarlyWarningDO.getId()); BraceletUserDataDO data=new BraceletUserDataDO(); data.setIsAbnormal("0"); data.setDeviceId(da.getEquipmentNumber()); braceletUserDataService.upBracelet(data); return R.ok(); } else { return R.fail("操作失败"); } } /** * 处理人 * @param communityId * @return */ @GetMapping("/conductorList") public R> conductorList(@RequestParam("communityId") String communityId) { return R.ok(braceletUserDataService.conductorList(communityId)); } /********************************************************************************************************************************************** * * 大屏居家养老 * **********************************************************************************************************************************************/ /** * 手环人数 * @return */ @GetMapping("/getUserNum") public R getUserNum(@RequestParam("communityId") String communityId) { return R.ok(braceletUserDataService.getUserNum(communityId)); } /** * 手环定位数据 */ @GetMapping("/getUserList") public R getUserList(@RequestParam("communityId") String communityId) { return R.ok(braceletUserDataService.getUserList(communityId)); } /** * 获取手环预警次数 * @return */ @GetMapping("/getWarningNum") public R getWarningNum(@RequestParam("communityId") String communityId, @RequestParam(value = "disposeType",required = false) String disposeType) { //未处理 Integer num1=braceletEarlyWarningService.getWarningNum(communityId,"1"); //已处理 Integer num2=braceletEarlyWarningService.getWarningNum(communityId,"2"); //处理中 Integer num4=braceletEarlyWarningService.getWarningNum(communityId,"3"); //忽略 Integer num3=braceletEarlyWarningService.getWarningNum(communityId,"4"); Map map=new HashMap<>(); map.put("untreatedNum",num1); map.put("processedNum",num2); map.put("ignoreNum",num3); map.put("beingProcessedNum",num4); return R.ok(map); } }