添加定时任务

This commit is contained in:
haozq 2024-09-29 09:33:26 +08:00
parent 0d8aeda578
commit 1fd63a2a9c
6 changed files with 120 additions and 24 deletions

View File

@ -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;
}
}

View File

@ -62,7 +62,7 @@ public class BraceletImageController {
return AjaxResult.error("校验失败");
}
/**
* 手环绑定人员识别
* 数据推送
* @param vo
* @return
*/

View File

@ -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);
}

View File

@ -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<String,Object> 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;
}

View File

@ -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<Integer> code= new AtomicReference<>(0);
list.forEach(vo->{
code.getAndSet(code.get() + 1);

View File

@ -11,7 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{proId},#{teamId},#{bidId},#{devType},#{bindDevId},
#{bidTime},1,#{peopleType},#{gtId},#{id})
</insert>
<insert id="insetDetailData">
<insert id="insetDetailData" useGeneratedKeys="true" keyProperty="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>
<insert id="insertHistoryData">
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() )
</insert>
<update id="updateBraceletData">
update tb_bracelet
@ -33,7 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getBraceletVo" resultType="com.bonus.common.entity.bracelet.vo.BraceletVo">
select id shId,sh_code shCode,box_id shboxId,bid_id bidId
from tb_bracelet
where dev_code=#{devCode} AND del_flag=0
where sh_code=#{devCode} AND del_flag=0
</select>
<!--查询手环箱 领用记录-->
<select id="getDevLyInfo" resultType="com.bonus.common.entity.tcp.DeviceUseVo">
@ -48,17 +58,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select tbt.dev_code,tdd.data_name dataName,tdd.data_code datCode,tdd.id
from tb_bracelet tbt
left join tb_dev_details tdd on tbt.id=tdd.dev_id and tdd.dev_type=0
where tbt.dev_code=#{devCode} and tdd.data_code=#{dataCode} and tdd.del_flag=0 and tbt.del_flag=0
where tbt.sh_code=#{devCode} and tdd.data_code=#{dataCode} and tdd.del_flag=0 and tbt.del_flag=0
</select>
<select id="getDevId" resultType="java.lang.String">
select tbt.id
from tb_bracelet tbt
where tbt.dev_code=#{devCode} and tbt.del_flag=0
where tbt.sh_code=#{devCode} and tbt.del_flag=0
</select>
<select id="getDevBindUser" resultType="java.lang.String">
select bid_id
from tb_bracelet
where dev_code=#{devCode} and del_flag=0
where sh_code=#{devCode} and del_flag=0
</select>
<update id="updateDetails">
update tb_dev_details SET data_val=#{dataVal} ,data_time=#{dataTime}
@ -66,7 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<update id="updateVerdateStatus">
update tb_bracelet set
face_status=#{status} where dev_code=#{devCode}
face_status=#{status} where sh_code=#{devCode}
</update>
<update id="updateVerdateStatusAll">