| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.validation.Valid; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import static org.springblade.core.tool.utils.DateUtil.now; |
| | |
| | | @Value("${picture.addUrl}") |
| | | private String picAddUrl; |
| | | |
| | | @Value("${picture.pre}") |
| | | private String picPre; |
| | | |
| | | |
| | | /** |
| | | * 新增体温数据 |
| | |
| | | public void save(String body) { |
| | | //1.截取信息 |
| | | int i = body.indexOf("{"); |
| | | String host = body.substring(body.indexOf("192."), body.indexOf("Accept-Encoding")); |
| | | //2.从 { 处开始截取 |
| | | int length = body.length(); |
| | | //3.截取,由于获取数据时,} 被去除,需要加上 |
| | |
| | | System.out.println("dataBody = " + dataBody); |
| | | //4.数据转换 |
| | | Map<String,Object> data = (Map<String, Object>) JSONObject.parse(dataBody); |
| | | System.out.println("data = " + data); |
| | | //5.创建体温数据对象 |
| | | BladeAnimalHeat bladeAnimalHeat = new BladeAnimalHeat(); |
| | | //6.取出数据,封装数据到对象 |
| | | String method = data.get("method").toString(); |
| | | if (method.contains("infrared_aiom_picture")){ |
| | | bladeAnimalHeat.setMethod(0); |
| | | } |
| | | bladeAnimalHeat.setSerialno(data.get("serialno").toString()); |
| | | bladeAnimalHeat.setIp(host); |
| | | String picture = data.get("picture").toString(); |
| | | //将二进制原始图片转换成图片 |
| | | ImageUtil.base64StringToImage(picture); |
| | | //bladeAnimalHeat.setPicture(data.get("picture").toString()); //暂时不存入 |
| | | String imageUrl = ImageUtil.base64StringToImage(picture); |
| | | //存入图片地址url |
| | | bladeAnimalHeat.setPicture(picAddUrl+imageUrl); |
| | | String temp_red =data.get("temp_red").toString(); |
| | | String[] temRedArr = temp_red.substring(1,temp_red.length()-1).split(","); |
| | | if (temRedArr.length>1){ |
| | |
| | | bladeAnimalHeat.setStatus(compare1>0 ?0:1); |
| | | } |
| | | String person_rects = data.get("person_rect").toString(); |
| | | bladeAnimalHeat.setPersonRect(person_rects.substring(2,person_rects.length()-2)); |
| | | bladeAnimalHeat.setPersonRect(person_rects.substring(1,person_rects.length()-1)); |
| | | bladeAnimalHeat.setCreateTime(now()); |
| | | //7.插入数据 |
| | | int idata = baseMapper.insert(bladeAnimalHeat); |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<StatisVo> getAnimalStatis(AnimalHeatVo animalHeatVo) { |
| | | public List<Map<String, Object>> getAnimalStatis(AnimalHeatVo animalHeatVo) { |
| | | if(null!= animalHeatVo.getStatus()){ |
| | | //查询当天的统计数据 |
| | | if (animalHeatVo.getStatus()==0){ |
| | |
| | | //查询本周的统计数据 |
| | | if (animalHeatVo.getStatus()==1){ |
| | | return baseMapper.getAnimalStatisWeek(); |
| | | } |
| | | //查询本月的统计数据 |
| | | if (animalHeatVo.getStatus()==2){ |
| | | return baseMapper.getAnimalStatisMonth(); |
| | | } |
| | | } |
| | | return null; |
| | |
| | | public IPage<BladeAnimalHeat> selectAnimalHeatPage(IPage<BladeAnimalHeat> page, AnimalHeatVo animalHeatVo) { |
| | | return page.setRecords(baseMapper.selectAnimalHeatPageList(page, animalHeatVo)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询本周每天的体温数据数量 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<Map<String, Integer>> selWeekDayAnimalStatis() { |
| | | List<Map<String,Integer>> selWeekDayAnimalStatis; |
| | | return baseMapper.selWeekDayAnimalStatis(); |
| | | } |
| | | |
| | | /** |
| | | * 统计7天内每天体温异常的的总人数 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Map<String, Object> selectAnimalData() { |
| | | //创建map对象 |
| | | Map<String, Object> map = new HashMap<>(); |
| | | //查询统计数据 |
| | | List<Integer> list = baseMapper.selectAnimalHeatDataStatis(); |
| | | //封装数据 |
| | | map.put("animalData",list); |
| | | //返回数据 |
| | | return map; |
| | | } |
| | | } |