添加定时任务

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("校验失败"); return AjaxResult.error("校验失败");
} }
/** /**
* 手环绑定人员识别 * 数据推送
* @param vo * @param vo
* @return * @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.bracelet.vo.BraceletVo;
import com.bonus.common.entity.tcp.BraceletImageVo; import com.bonus.common.entity.tcp.BraceletImageVo;
import com.bonus.common.entity.tcp.DeviceUseVo; import com.bonus.common.entity.tcp.DeviceUseVo;
import com.bonus.common.entity.tcp.HisDataVo;
import lombok.Data; import lombok.Data;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@ -78,4 +79,10 @@ public interface BraceletImageMapper {
* @return * @return
*/ */
String getDevBindUser(BraceletImageVo vo); String getDevBindUser(BraceletImageVo vo);
/**
* 历史数据插入
* @param vo
*/
void insertHistoryData(HisDataVo vo);
} }

View File

@ -1,5 +1,6 @@
package com.bonus.tcp.smartIdentify.service.impl; package com.bonus.tcp.smartIdentify.service.impl;
import com.alibaba.nacos.common.utils.UuidUtils;
import com.bonus.app.entity.DevDetailEntity; import com.bonus.app.entity.DevDetailEntity;
import com.bonus.common.core.utils.DateTimeHelper; import com.bonus.common.core.utils.DateTimeHelper;
import com.bonus.common.core.utils.FaceCodeUtil; 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.bracelet.vo.BraceletVo;
import com.bonus.common.entity.tcp.BraceletImageVo; import com.bonus.common.entity.tcp.BraceletImageVo;
import com.bonus.common.entity.tcp.DeviceUseVo; 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.mapper.BraceletImageMapper;
import com.bonus.tcp.smartIdentify.service.BraceletImageService; import com.bonus.tcp.smartIdentify.service.BraceletImageService;
import com.bonus.tcp.smartIdentify.service.FaceInterUtilService2; import com.bonus.tcp.smartIdentify.service.FaceInterUtilService2;
import com.bonus.tcp.util.SystemConfig; import com.bonus.tcp.util.SystemConfig;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -56,6 +59,7 @@ public class BraceletImageServiceImpl implements BraceletImageService {
return AjaxResult.error("该手环已绑定"); return AjaxResult.error("该手环已绑定");
} }
// AjaxResult ajax2=faceInterUtilService2.addFace(vo.getImage(), FaceCodeUtil.ADD,"ls-123456789000"); // AjaxResult ajax2=faceInterUtilService2.addFace(vo.getImage(), FaceCodeUtil.ADD,"ls-123456789000");
//验证人脸
Map<String,Object> ajaxResult=faceInterUtilService2.verifyFace(vo.getImage()); Map<String,Object> ajaxResult=faceInterUtilService2.verifyFace(vo.getImage());
Integer code= (Integer) ajaxResult.get("code"); Integer code= (Integer) ajaxResult.get("code");
if(code==200){ if(code==200){
@ -104,67 +108,84 @@ public class BraceletImageServiceImpl implements BraceletImageService {
@Override @Override
public AjaxResult setMessage(BraceletImageVo vo) { public AjaxResult setMessage(BraceletImageVo vo) {
try{ 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); vo.setDataCode(SystemConfig.dl_code);
String id=mapper.getDevId(vo); String id=mapper.getDevId(vo);
DevDetailEntity vvo=mapper.getDevDetails(vo); DevDetailEntity vvo=mapper.getDevDetails(vo);
if(ObjectUtils.isEmpty(vvo)){ if(ObjectUtils.isEmpty(vvo)){
//电量 //电量
updateDetailData(vo.getId(),vo.getQuantity()); updateDetailData(vvo.getId(),vo.getQuantity());
}else{ }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); vo.setDataCode(SystemConfig.lat_code);
vvo=mapper.getDevDetails(vo); vvo=mapper.getDevDetails(vo);
if(ObjectUtils.isEmpty(vvo)){ if(ObjectUtils.isEmpty(vvo)){
//经度 //经度
updateDetailData(vo.getId(),vo.getLat()); updateDetailData(vvo.getId(),vo.getLat());
}else{ }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); vo.setDataCode(SystemConfig.lon_code);
vvo=mapper.getDevDetails(vo); vvo=mapper.getDevDetails(vo);
if(ObjectUtils.isEmpty(vvo)){ if(ObjectUtils.isEmpty(vvo)){
//电量 //电量
updateDetailData(vo.getId(),vo.getLon()); updateDetailData(vvo.getId(),vo.getLon());
}else{ }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); vo.setDataCode(SystemConfig.xl_code);
vvo=mapper.getDevDetails(vo); vvo=mapper.getDevDetails(vo);
if(ObjectUtils.isEmpty(vvo)){ if(ObjectUtils.isEmpty(vvo)){
//电量 //电量
updateDetailData(vo.getId(),vo.getHeartRate()); updateDetailData(vvo.getId(),vo.getHeartRate());
}else{ }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); vo.setDataCode(SystemConfig.xy_code);
vvo=mapper.getDevDetails(vo); vvo=mapper.getDevDetails(vo);
if(ObjectUtils.isEmpty(vvo)){ if(ObjectUtils.isEmpty(vvo)){
//电量 //电量
updateDetailData(vo.getId(),vo.getBloodPressure()); updateDetailData(vvo.getId(),vo.getBloodPressure());
}else{ }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); vo.setDataCode(SystemConfig.wd_code);
vvo=mapper.getDevDetails(vo); vvo=mapper.getDevDetails(vo);
if(ObjectUtils.isEmpty(vvo)){ if(ObjectUtils.isEmpty(vvo)){
updateDetailData(vo.getId(),vo.getTemperature()); updateDetailData(vvo.getId(),vo.getTemperature());
}else{ }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){ }catch (Exception e){
log.error(e.toString(),e); log.error(e.toString(),e);
} }
return null; return null;
} }
/** /**
* 更新手环 验证状态 * 更新手环 验证状态
* @param devCode * @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 @Override
public AjaxResult userVerification(BraceletImageVo vo) { public AjaxResult userVerification(BraceletImageVo vo) {
try{ try{
@ -213,9 +248,10 @@ public class BraceletImageServiceImpl implements BraceletImageService {
* @param dataUnit * @param dataUnit
* @param dataType * @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) {
try{
DevDetailEntity vo=new DevDetailEntity(); DevDetailEntity vo=new DevDetailEntity();
try{
vo.setDevId(devId); vo.setDevId(devId);
vo.setDataName(dataName); vo.setDataName(dataName);
vo.setDataCode(dataCode); vo.setDataCode(dataCode);
@ -226,7 +262,7 @@ public class BraceletImageServiceImpl implements BraceletImageService {
}catch (Exception e){ }catch (Exception e){
log.error(e.toString(),e); log.error(e.toString(),e);
} }
return vo;
} }

View File

@ -60,7 +60,7 @@ public class ScheduleServiceImpl implements ScheduleService {
taskVo.setCorn("0/30 * * * * ?"); taskVo.setCorn("0/30 * * * * ?");
taskVo.setJobClass("com.bonus.tcp.task.config.ConfigScanJob"); taskVo.setJobClass("com.bonus.tcp.task.config.ConfigScanJob");
taskVo.setTaskCode("DEFAULT"); taskVo.setTaskCode("DEFAULT");
taskVo.setCode("00000"); taskVo.setCode("0");
AtomicReference<Integer> code= new AtomicReference<>(0); AtomicReference<Integer> code= new AtomicReference<>(0);
list.forEach(vo->{ list.forEach(vo->{
code.getAndSet(code.get() + 1); code.getAndSet(code.get() + 1);

View File

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