From 1fd63a2a9c7a42eebcc1b5de0635ae0f93855b60 Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Sun, 29 Sep 2024 09:33:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/common/entity/tcp/HisDataVo.java | 43 ++++++++++++ .../controller/BraceletImageController.java | 2 +- .../mapper/BraceletImageMapper.java | 7 ++ .../impl/BraceletImageServiceImpl.java | 68 ++++++++++++++----- .../tcp/task/service/ScheduleServiceImpl.java | 2 +- .../mapper/tcp/BraceletImageMapper.xml | 22 ++++-- 6 files changed, 120 insertions(+), 24 deletions(-) create mode 100644 bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/tcp/HisDataVo.java diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/tcp/HisDataVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/tcp/HisDataVo.java new file mode 100644 index 0000000..2b6439a --- /dev/null +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/tcp/HisDataVo.java @@ -0,0 +1,43 @@ +package com.bonus.common.entity.tcp; + +import lombok.Data; + +/** + * 历史记录推送 + */ +@Data +public class HisDataVo { + + private String id; + + private String dataData; + + private String dataResource; + + private String dataName; + + private String dataVal; + + private String dataType; + + private String devId; + + private String dataSource; + + private String devType; + + private String dataTime; + + + public HisDataVo(String dataData, String dataResource, String dataName, String dataVal, String dataType, String devId, String dataSource, String devType, String dataTime) { + this.dataData = dataData; + this.dataResource = dataResource; + this.dataName = dataName; + this.dataVal = dataVal; + this.dataType = dataType; + this.devId = devId; + this.dataSource = dataSource; + this.devType = devType; + this.dataTime = dataTime; + } +} diff --git a/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/controller/BraceletImageController.java b/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/controller/BraceletImageController.java index e8b5370..17fa4cc 100644 --- a/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/controller/BraceletImageController.java +++ b/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/controller/BraceletImageController.java @@ -62,7 +62,7 @@ public class BraceletImageController { return AjaxResult.error("校验失败"); } /** - * 手环绑定人员识别 + * 数据推送 * @param vo * @return */ diff --git a/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/mapper/BraceletImageMapper.java b/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/mapper/BraceletImageMapper.java index 697f08b..b093055 100644 --- a/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/mapper/BraceletImageMapper.java +++ b/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/mapper/BraceletImageMapper.java @@ -4,6 +4,7 @@ import com.bonus.app.entity.DevDetailEntity; import com.bonus.common.entity.bracelet.vo.BraceletVo; import com.bonus.common.entity.tcp.BraceletImageVo; import com.bonus.common.entity.tcp.DeviceUseVo; +import com.bonus.common.entity.tcp.HisDataVo; import lombok.Data; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -78,4 +79,10 @@ public interface BraceletImageMapper { * @return */ String getDevBindUser(BraceletImageVo vo); + + /** + * 历史数据插入 + * @param vo + */ + void insertHistoryData(HisDataVo vo); } diff --git a/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/service/impl/BraceletImageServiceImpl.java b/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/service/impl/BraceletImageServiceImpl.java index 12c637b..8c26212 100644 --- a/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/service/impl/BraceletImageServiceImpl.java +++ b/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/smartIdentify/service/impl/BraceletImageServiceImpl.java @@ -1,5 +1,6 @@ package com.bonus.tcp.smartIdentify.service.impl; +import com.alibaba.nacos.common.utils.UuidUtils; import com.bonus.app.entity.DevDetailEntity; import com.bonus.common.core.utils.DateTimeHelper; import com.bonus.common.core.utils.FaceCodeUtil; @@ -8,10 +9,12 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.entity.bracelet.vo.BraceletVo; import com.bonus.common.entity.tcp.BraceletImageVo; import com.bonus.common.entity.tcp.DeviceUseVo; +import com.bonus.common.entity.tcp.HisDataVo; import com.bonus.tcp.smartIdentify.mapper.BraceletImageMapper; import com.bonus.tcp.smartIdentify.service.BraceletImageService; import com.bonus.tcp.smartIdentify.service.FaceInterUtilService2; import com.bonus.tcp.util.SystemConfig; +import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.apache.ibatis.annotations.Mapper; @@ -56,6 +59,7 @@ public class BraceletImageServiceImpl implements BraceletImageService { return AjaxResult.error("该手环已绑定"); } // AjaxResult ajax2=faceInterUtilService2.addFace(vo.getImage(), FaceCodeUtil.ADD,"ls-123456789000"); + //验证人脸 Map ajaxResult=faceInterUtilService2.verifyFace(vo.getImage()); Integer code= (Integer) ajaxResult.get("code"); if(code==200){ @@ -104,67 +108,84 @@ public class BraceletImageServiceImpl implements BraceletImageService { @Override public AjaxResult setMessage(BraceletImageVo vo) { try{ + ObjectMapper objectMapper=new ObjectMapper(); + String json = objectMapper.writeValueAsString(vo); + String uuid= UuidUtils.generateUuid().toUpperCase().replace("-",""); //电量 + String time=DateTimeHelper.getNowTime(); vo.setDataCode(SystemConfig.dl_code); String id=mapper.getDevId(vo); DevDetailEntity vvo=mapper.getDevDetails(vo); if(ObjectUtils.isEmpty(vvo)){ //电量 - updateDetailData(vo.getId(),vo.getQuantity()); + updateDetailData(vvo.getId(),vo.getQuantity()); }else{ - insetDetailData(id,"电量",SystemConfig.dl_code,vo.getQuantity(),"%","double"); + vvo=insetDetailData(id,"电量",SystemConfig.dl_code,vo.getQuantity(),"%","double"); } + HisDataVo hisDataVo=new HisDataVo(json,vvo.getId(),"电量",vo.getQuantity(),"double",uuid,id,"0",time); + insertHistoryData(hisDataVo); // 纬度 vo.setDataCode(SystemConfig.lat_code); vvo=mapper.getDevDetails(vo); if(ObjectUtils.isEmpty(vvo)){ //经度 - updateDetailData(vo.getId(),vo.getLat()); + updateDetailData(vvo.getId(),vo.getLat()); }else{ - insetDetailData(id,"纬度",SystemConfig.lat_code,vo.getLat(),"","double"); + vvo=insetDetailData(id,"纬度",SystemConfig.lat_code,vo.getLat(),"","double"); } + hisDataVo=new HisDataVo(json,vvo.getId(),"纬度",vo.getLat(),"double",uuid,id,"0",time); + insertHistoryData(hisDataVo); //经度 vo.setDataCode(SystemConfig.lon_code); vvo=mapper.getDevDetails(vo); if(ObjectUtils.isEmpty(vvo)){ //电量 - updateDetailData(vo.getId(),vo.getLon()); + updateDetailData(vvo.getId(),vo.getLon()); }else{ - insetDetailData(id,"经度",SystemConfig.lon_code,vo.getLon(),"","double"); + vvo=insetDetailData(id,"经度",SystemConfig.lon_code,vo.getLon(),"","double"); } + hisDataVo=new HisDataVo(json,vvo.getId(),"经度",vo.getLon(),"double",uuid,id,"0",time); + insertHistoryData(hisDataVo); //心率 vo.setDataCode(SystemConfig.xl_code); vvo=mapper.getDevDetails(vo); if(ObjectUtils.isEmpty(vvo)){ //电量 - updateDetailData(vo.getId(),vo.getHeartRate()); + updateDetailData(vvo.getId(),vo.getHeartRate()); }else{ - insetDetailData(id,"心率",SystemConfig.xl_code,vo.getHeartRate(),"次/分","double"); + vvo=insetDetailData(id,"心率",SystemConfig.xl_code,vo.getHeartRate(),"次/分","double"); } - + hisDataVo=new HisDataVo(json,vvo.getId(),"心率",vo.getHeartRate(),"double",uuid,id,"0",time); + insertHistoryData(hisDataVo); //血压 vo.setDataCode(SystemConfig.xy_code); vvo=mapper.getDevDetails(vo); if(ObjectUtils.isEmpty(vvo)){ //电量 - updateDetailData(vo.getId(),vo.getBloodPressure()); + updateDetailData(vvo.getId(),vo.getBloodPressure()); }else{ - insetDetailData(id,"血压",SystemConfig.xy_code,vo.getBloodPressure(),"mmHg","double"); + vvo= insetDetailData(id,"血压",SystemConfig.xy_code,vo.getBloodPressure(),"mmHg","double"); } + hisDataVo=new HisDataVo(json,vvo.getId(),"血压",vo.getBloodPressure(),"double",uuid,id,"0",time); + insertHistoryData(hisDataVo); //温度 vo.setDataCode(SystemConfig.wd_code); vvo=mapper.getDevDetails(vo); if(ObjectUtils.isEmpty(vvo)){ - updateDetailData(vo.getId(),vo.getTemperature()); + updateDetailData(vvo.getId(),vo.getTemperature()); }else{ - insetDetailData(id,"温度",SystemConfig.wd_code,vo.getTemperature(),"℃","double"); + vvo= insetDetailData(id,"温度",SystemConfig.wd_code,vo.getTemperature(),"℃","double"); } + hisDataVo=new HisDataVo(json,vvo.getId(),"温度",vo.getTemperature(),"double",uuid,id,"0",time); + insertHistoryData(hisDataVo); }catch (Exception e){ log.error(e.toString(),e); } return null; } + + /** * 更新手环 验证状态 * @param devCode @@ -178,6 +199,20 @@ public class BraceletImageServiceImpl implements BraceletImageService { } } + + /** + * 推送数据历史记录插入 + * @param + */ + public void insertHistoryData(HisDataVo vo) { + try{ + mapper.insertHistoryData(vo); + }catch (Exception e){ + log.error(e.toString(),e); + } + } + + @Override public AjaxResult userVerification(BraceletImageVo vo) { try{ @@ -213,9 +248,10 @@ public class BraceletImageServiceImpl implements BraceletImageService { * @param dataUnit * @param dataType */ - private void insetDetailData(String devId, String dataName,String dataCode,String dataValue,String dataUnit, String dataType) { + private DevDetailEntity insetDetailData(String devId, String dataName,String dataCode,String dataValue,String dataUnit, String dataType) { + DevDetailEntity vo=new DevDetailEntity(); try{ - DevDetailEntity vo=new DevDetailEntity(); + vo.setDevId(devId); vo.setDataName(dataName); vo.setDataCode(dataCode); @@ -226,7 +262,7 @@ public class BraceletImageServiceImpl implements BraceletImageService { }catch (Exception e){ log.error(e.toString(),e); } - + return vo; } diff --git a/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/task/service/ScheduleServiceImpl.java b/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/task/service/ScheduleServiceImpl.java index c262aa0..e7bd614 100644 --- a/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/task/service/ScheduleServiceImpl.java +++ b/bonus-modules/bonus-tcp/src/main/java/com/bonus/tcp/task/service/ScheduleServiceImpl.java @@ -60,7 +60,7 @@ public class ScheduleServiceImpl implements ScheduleService { taskVo.setCorn("0/30 * * * * ?"); taskVo.setJobClass("com.bonus.tcp.task.config.ConfigScanJob"); taskVo.setTaskCode("DEFAULT"); - taskVo.setCode("00000"); + taskVo.setCode("0"); AtomicReference code= new AtomicReference<>(0); list.forEach(vo->{ code.getAndSet(code.get() + 1); diff --git a/bonus-modules/bonus-tcp/src/main/resources/mapper/tcp/BraceletImageMapper.xml b/bonus-modules/bonus-tcp/src/main/resources/mapper/tcp/BraceletImageMapper.xml index 51642b7..6d1157f 100644 --- a/bonus-modules/bonus-tcp/src/main/resources/mapper/tcp/BraceletImageMapper.xml +++ b/bonus-modules/bonus-tcp/src/main/resources/mapper/tcp/BraceletImageMapper.xml @@ -11,7 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{proId},#{teamId},#{bidId},#{devType},#{bindDevId}, #{bidTime},1,#{peopleType},#{gtId},#{id}) - + insert into tb_dev_details ( dev_id, data_name, data_val,data_unit, data_code, data_type, data_time, @@ -20,6 +20,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{devId},#{dataName},#{dataVal},#{dataUnit}, #{dataCode},#{dataType},now(),0,0 ) + + + insert into tb_dev_his( + data_data, data_resource, data_name, + data_value,data_type, data_sourcce, + dev_id,dev_type,data_time,create_time )values ( + #{dataData},#{dataResource},#{dataName}, + #{dataVal},#{dataType},#{dataSource}, + #{devId},#{devType},#{dataTime},now() ) + update tb_bracelet @@ -33,7 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update tb_dev_details SET data_val=#{dataVal} ,data_time=#{dataTime} @@ -66,7 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update tb_bracelet set - face_status=#{status} where dev_code=#{devCode} + face_status=#{status} where sh_code=#{devCode}