|
@@ -41,6 +41,8 @@ public class WarningService {
|
|
@Resource
|
|
@Resource
|
|
private IdenWarningPersonService idenWarningPersonService;
|
|
private IdenWarningPersonService idenWarningPersonService;
|
|
@Resource
|
|
@Resource
|
|
|
|
+ private IdenWarningPersonHisService idenWarningPersonHisService;
|
|
|
|
+ @Resource
|
|
private IdenWarningPersonTraceService idenWarningPersonTraceService;
|
|
private IdenWarningPersonTraceService idenWarningPersonTraceService;
|
|
@Resource
|
|
@Resource
|
|
private IdenWarningStaService idenWarningStaService;
|
|
private IdenWarningStaService idenWarningStaService;
|
|
@@ -126,16 +128,6 @@ public class WarningService {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- //查询是不是已经有预警人员数据了
|
|
|
|
- QueryWrapper<IdenWarningPerson> queryWrapper0 = new QueryWrapper<>();
|
|
|
|
- queryWrapper0.lambda().eq(IdenWarningPerson::getDataDate,idenFaceImage.getDataDate())
|
|
|
|
- .eq(IdenWarningPerson::getUid,idenFaceImage.getUid())
|
|
|
|
- .eq(IdenWarningPerson::getType,WarningTypeEnum.STRANGER.getValue());
|
|
|
|
- int cnt = this.idenWarningPersonService.count(queryWrapper0);
|
|
|
|
- if (cnt > 0) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
//查询此人1月内在该小区出现天次
|
|
//查询此人1月内在该小区出现天次
|
|
QueryWrapper<IdenFaceImage> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<IdenFaceImage> queryWrapper = new QueryWrapper<>();
|
|
queryWrapper.select("select distinct data_date dataDate ") ;
|
|
queryWrapper.select("select distinct data_date dataDate ") ;
|
|
@@ -149,72 +141,97 @@ public class WarningService {
|
|
|
|
|
|
QueryWrapper<IdenWarningRuleStranger> queryWrapper3 = new QueryWrapper<>();
|
|
QueryWrapper<IdenWarningRuleStranger> queryWrapper3 = new QueryWrapper<>();
|
|
IdenWarningRuleStranger idenWarningRuleStranger = idenWarningRuleStrangerService.getOne(queryWrapper3);
|
|
IdenWarningRuleStranger idenWarningRuleStranger = idenWarningRuleStrangerService.getOne(queryWrapper3);
|
|
- int strangerFrequency = 15;
|
|
|
|
|
|
+ int strangerFrequencyRule = 15;
|
|
int strangerDays = 7;
|
|
int strangerDays = 7;
|
|
if (idenWarningRuleStranger != null){
|
|
if (idenWarningRuleStranger != null){
|
|
- strangerFrequency = idenWarningRuleStranger.getStrangerFrequency();
|
|
|
|
|
|
+ strangerFrequencyRule = idenWarningRuleStranger.getStrangerFrequency();
|
|
strangerDays = idenWarningRuleStranger.getStrangerDays();
|
|
strangerDays = idenWarningRuleStranger.getStrangerDays();
|
|
}
|
|
}
|
|
String isContinue = getIsContinue(listDataDate,strangerDays);
|
|
String isContinue = getIsContinue(listDataDate,strangerDays);
|
|
|
|
|
|
- IdenWarningPerson idenWarningPerson = new IdenWarningPerson();
|
|
|
|
|
|
+ boolean isWarning = false;
|
|
|
|
+ String strangerType = null;
|
|
|
|
|
|
//此人1月出现频次少于15次及7内天每天未连续出现,视为陌生人
|
|
//此人1月出现频次少于15次及7内天每天未连续出现,视为陌生人
|
|
- if(strangerDayFrequency < strangerFrequency && IsContinueEnum.NO.getValue().equals(isContinue)) {
|
|
|
|
- idenWarningPerson.setStrangerType(StrangerTypeEnum.STRANGER.getValue());
|
|
|
|
|
|
+ if(strangerDayFrequency < strangerFrequencyRule && IsContinueEnum.NO.getValue().equals(isContinue)) {
|
|
|
|
+ isWarning = true;
|
|
|
|
+ strangerType = StrangerTypeEnum.STRANGER.getValue();
|
|
//此人出现频次1月内大于15天次或连续7天每天都出现,标注为疑似未登记住户
|
|
//此人出现频次1月内大于15天次或连续7天每天都出现,标注为疑似未登记住户
|
|
- } else if(strangerDayFrequency >= strangerFrequency || IsContinueEnum.YES.getValue().equals(isContinue)) {
|
|
|
|
- idenWarningPerson.setStrangerType(StrangerTypeEnum.NO_REGISTER.getValue());
|
|
|
|
- } else {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- idenWarningPerson.setUid(idenFaceImage.getUid());
|
|
|
|
- idenWarningPerson.setDataDate(idenFaceImage.getDataDate());
|
|
|
|
- idenWarningPerson.setImage(idenFaceImage.getImage());
|
|
|
|
-
|
|
|
|
- Long cameraId = idenFaceImage.getCameraId();
|
|
|
|
- if(cameraId != null) {
|
|
|
|
- IdenCamera idenCamera = this.idenCameraService.getById(cameraId);
|
|
|
|
- idenWarningPerson.setDistrict(idenCamera.getDistrict());
|
|
|
|
- idenWarningPerson.setSubdistrict(idenCamera.getSubdistrict());
|
|
|
|
|
|
+ } else if(strangerDayFrequency >= strangerFrequencyRule || IsContinueEnum.YES.getValue().equals(isContinue)) {
|
|
|
|
+ isWarning = true;
|
|
|
|
+ strangerType = StrangerTypeEnum.NO_REGISTER.getValue();
|
|
}
|
|
}
|
|
|
|
+ if(isWarning) {
|
|
|
|
+ //查询是不是已经有预警人员数据了
|
|
|
|
+ QueryWrapper<IdenWarningPerson> queryWrapper0 = new QueryWrapper<>();
|
|
|
|
+ queryWrapper0.lambda()
|
|
|
|
+ .eq(IdenWarningPerson::getCommunityId,communityId)
|
|
|
|
+ .eq(IdenWarningPerson::getUid,idenFaceImage.getUid())
|
|
|
|
+ .eq(IdenWarningPerson::getType,WarningTypeEnum.STRANGER.getValue());
|
|
|
|
+ IdenWarningPerson idenWarningPerson = this.idenWarningPersonService.getOne(queryWrapper0);
|
|
|
|
+
|
|
|
|
+ if (idenWarningPerson != null) {
|
|
|
|
+ idenWarningPerson.setAppearFrequency(strangerDayFrequency);
|
|
|
|
+ idenWarningPerson.setStrangerType(strangerType);
|
|
|
|
+ idenWarningPerson.setModifyTime(new Date());
|
|
|
|
+ this.idenWarningPersonService.updateById(idenWarningPerson);
|
|
|
|
+ } else {
|
|
|
|
+ idenWarningPerson = new IdenWarningPerson();
|
|
|
|
+ idenWarningPerson.setStrangerType(strangerType);
|
|
|
|
+ idenWarningPerson.setUid(idenFaceImage.getUid());
|
|
|
|
+ idenWarningPerson.setDataDate(idenFaceImage.getDataDate());
|
|
|
|
+ idenWarningPerson.setImage(idenFaceImage.getImage());
|
|
|
|
+ idenWarningPerson.setFeatPtr(idenFaceImage.getFeatPtr());
|
|
|
|
+
|
|
|
|
+ Long cameraId = idenFaceImage.getCameraId();
|
|
|
|
+ if(cameraId != null) {
|
|
|
|
+ IdenCamera idenCamera = this.idenCameraService.getById(cameraId);
|
|
|
|
+ idenWarningPerson.setDistrict(idenCamera.getDistrict());
|
|
|
|
+ idenWarningPerson.setSubdistrict(idenCamera.getSubdistrict());
|
|
|
|
+ }
|
|
|
|
|
|
- IdenCommunity idenCommunity = this.idenCommunityService.getById(communityId);
|
|
|
|
- if (idenCommunity != null) {
|
|
|
|
- idenWarningPerson.setCommunityId(communityId);
|
|
|
|
- idenWarningPerson.setCommunityCode(idenCommunity.getCode());
|
|
|
|
- idenWarningPerson.setCommunityName(idenCommunity.getName());
|
|
|
|
- }
|
|
|
|
- idenWarningPerson.setAppearFrequency(strangerDayFrequency);
|
|
|
|
- idenWarningPerson.setIsContinue(isContinue);
|
|
|
|
-
|
|
|
|
- //查询此人在该小区最早出现时间
|
|
|
|
- QueryWrapper<IdenFaceImage> queryWrapper1 = new QueryWrapper<>();
|
|
|
|
- queryWrapper1.lambda().eq(IdenFaceImage::getCommunityId,communityId)
|
|
|
|
- .orderByAsc(IdenFaceImage::getPhotographTime);
|
|
|
|
- queryWrapper1.last("limit 1");
|
|
|
|
- IdenFaceImage idenFaceImage1 = this.idenFaceImageService.getOne(queryWrapper1);
|
|
|
|
- if(idenFaceImage1 != null){
|
|
|
|
- idenWarningPerson.setEarliestAppearTime(idenFaceImage1.getPhotographTime());
|
|
|
|
- }
|
|
|
|
|
|
+ IdenCommunity idenCommunity = this.idenCommunityService.getById(communityId);
|
|
|
|
+ if (idenCommunity != null) {
|
|
|
|
+ idenWarningPerson.setCommunityId(communityId);
|
|
|
|
+ idenWarningPerson.setCommunityCode(idenCommunity.getCode());
|
|
|
|
+ idenWarningPerson.setCommunityName(idenCommunity.getName());
|
|
|
|
+ }
|
|
|
|
+ idenWarningPerson.setAppearFrequency(strangerDayFrequency);
|
|
|
|
+ idenWarningPerson.setIsContinue(isContinue);
|
|
|
|
+
|
|
|
|
+ //查询此人在该小区最早出现时间
|
|
|
|
+ QueryWrapper<IdenFaceImage> queryWrapper1 = new QueryWrapper<>();
|
|
|
|
+ queryWrapper1.lambda().eq(IdenFaceImage::getCommunityId,communityId)
|
|
|
|
+ .orderByAsc(IdenFaceImage::getPhotographTime);
|
|
|
|
+ queryWrapper1.last("limit 1");
|
|
|
|
+ IdenFaceImage idenFaceImage1 = this.idenFaceImageService.getOne(queryWrapper1);
|
|
|
|
+ if(idenFaceImage1 != null){
|
|
|
|
+ idenWarningPerson.setEarliestAppearTime(idenFaceImage1.getPhotographTime());
|
|
|
|
+ }
|
|
|
|
|
|
- idenWarningPerson.setType(WarningTypeEnum.STRANGER.getValue());
|
|
|
|
- idenWarningPerson.setCreateTime(idenFaceImage.getCreateTime());
|
|
|
|
- this.idenWarningPersonService.save(idenWarningPerson);
|
|
|
|
|
|
+ idenWarningPerson.setType(WarningTypeEnum.STRANGER.getValue());
|
|
|
|
+ idenWarningPerson.setCreateTime(idenFaceImage.getCreateTime());
|
|
|
|
+ this.idenWarningPersonService.save(idenWarningPerson);
|
|
|
|
|
|
- IdenWarningEvent idenWarningEvent = new IdenWarningEvent();
|
|
|
|
- idenWarningEvent.setWarningPersonId(idenWarningPerson.getId());
|
|
|
|
- idenWarningEvent.setDataTime(idenFaceImage.getPhotographTime());
|
|
|
|
- idenWarningEvent.setImage(idenFaceImage.getImage());
|
|
|
|
- idenWarningEvent.setCommunityId(idenWarningPerson.getCommunityId());
|
|
|
|
- idenWarningEvent.setCommunityCode(idenWarningPerson.getCommunityCode());
|
|
|
|
- idenWarningEvent.setCommunityName(idenWarningPerson.getCommunityName());
|
|
|
|
- idenWarningEvent.setDistrict(idenWarningPerson.getDistrict());
|
|
|
|
- idenWarningEvent.setSubdistrict(idenWarningPerson.getSubdistrict());
|
|
|
|
- idenWarningEvent.setAppearTime(idenFaceImage.getPhotographTime());
|
|
|
|
- idenWarningEvent.setType(WarningTypeEnum.STRANGER.getValue());
|
|
|
|
- idenWarningEvent.setCreateTime(idenFaceImage.getCreateTime());
|
|
|
|
- this.idenWarningEventService.save(idenWarningEvent);
|
|
|
|
|
|
+ IdenWarningPersonHis idenWarningPersonHis = new IdenWarningPersonHis();
|
|
|
|
+ BeanUtil.copyProperties(idenWarningPerson,idenWarningPersonHis,"id");
|
|
|
|
+ idenWarningPersonHisService.save(idenWarningPersonHis);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ IdenWarningEvent idenWarningEvent = new IdenWarningEvent();
|
|
|
|
+ idenWarningEvent.setWarningPersonId(idenWarningPerson.getId());
|
|
|
|
+ idenWarningEvent.setDataTime(idenFaceImage.getPhotographTime());
|
|
|
|
+ idenWarningEvent.setImage(idenFaceImage.getImage());
|
|
|
|
+ idenWarningEvent.setCommunityId(idenWarningPerson.getCommunityId());
|
|
|
|
+ idenWarningEvent.setCommunityCode(idenWarningPerson.getCommunityCode());
|
|
|
|
+ idenWarningEvent.setCommunityName(idenWarningPerson.getCommunityName());
|
|
|
|
+ idenWarningEvent.setDistrict(idenWarningPerson.getDistrict());
|
|
|
|
+ idenWarningEvent.setSubdistrict(idenWarningPerson.getSubdistrict());
|
|
|
|
+ idenWarningEvent.setAppearTime(idenFaceImage.getPhotographTime());
|
|
|
|
+ idenWarningEvent.setType(WarningTypeEnum.STRANGER.getValue());
|
|
|
|
+ idenWarningEvent.setCreateTime(idenFaceImage.getCreateTime());
|
|
|
|
+ this.idenWarningEventService.save(idenWarningEvent);
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -224,19 +241,22 @@ public class WarningService {
|
|
if(communityId == null) {
|
|
if(communityId == null) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- //查询该天是不是已经有预警人员数据了
|
|
|
|
|
|
+ //查询是不是已经有预警人员数据了
|
|
QueryWrapper<IdenWarningPerson> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<IdenWarningPerson> queryWrapper = new QueryWrapper<>();
|
|
- queryWrapper.lambda().eq(IdenWarningPerson::getDataDate,idenFaceImage.getDataDate())
|
|
|
|
|
|
+ queryWrapper.lambda()
|
|
.eq(IdenWarningPerson::getCommunityId,communityId)
|
|
.eq(IdenWarningPerson::getCommunityId,communityId)
|
|
.eq(IdenWarningPerson::getPersonId,idenFaceImage.getPersonId())
|
|
.eq(IdenWarningPerson::getPersonId,idenFaceImage.getPersonId())
|
|
.eq(IdenWarningPerson::getType,WarningTypeEnum.KEYNOTE.getValue());
|
|
.eq(IdenWarningPerson::getType,WarningTypeEnum.KEYNOTE.getValue());
|
|
IdenWarningPerson idenWarningPerson = this.idenWarningPersonService.getOne(queryWrapper);
|
|
IdenWarningPerson idenWarningPerson = this.idenWarningPersonService.getOne(queryWrapper);
|
|
if (idenWarningPerson != null) {
|
|
if (idenWarningPerson != null) {
|
|
idenWarningPerson.setAppearFrequency(idenWarningPerson.getAppearFrequency() + 1);
|
|
idenWarningPerson.setAppearFrequency(idenWarningPerson.getAppearFrequency() + 1);
|
|
|
|
+ idenWarningPerson.setModifyTime(new Date());
|
|
|
|
+ this.idenWarningPersonService.updateById(idenWarningPerson);
|
|
} else {
|
|
} else {
|
|
idenWarningPerson = new IdenWarningPerson();
|
|
idenWarningPerson = new IdenWarningPerson();
|
|
idenWarningPerson.setUid(idenFaceImage.getUid());
|
|
idenWarningPerson.setUid(idenFaceImage.getUid());
|
|
idenWarningPerson.setImage(idenFaceImage.getImage());
|
|
idenWarningPerson.setImage(idenFaceImage.getImage());
|
|
|
|
+ idenWarningPerson.setFeatPtr(idenFaceImage.getFeatPtr());
|
|
idenWarningPerson.setDataDate(idenFaceImage.getDataDate());
|
|
idenWarningPerson.setDataDate(idenFaceImage.getDataDate());
|
|
Long cameraId = idenFaceImage.getCameraId();
|
|
Long cameraId = idenFaceImage.getCameraId();
|
|
if(cameraId != null) {
|
|
if(cameraId != null) {
|
|
@@ -267,6 +287,10 @@ public class WarningService {
|
|
idenWarningPerson.setPersonId(idenFaceImage.getPersonId());
|
|
idenWarningPerson.setPersonId(idenFaceImage.getPersonId());
|
|
idenWarningPerson.setCreateTime(idenFaceImage.getCreateTime());
|
|
idenWarningPerson.setCreateTime(idenFaceImage.getCreateTime());
|
|
this.idenWarningPersonService.save(idenWarningPerson);
|
|
this.idenWarningPersonService.save(idenWarningPerson);
|
|
|
|
+
|
|
|
|
+ IdenWarningPersonHis idenWarningPersonHis = new IdenWarningPersonHis();
|
|
|
|
+ BeanUtil.copyProperties(idenWarningPerson,idenWarningPersonHis,"id");
|
|
|
|
+ idenWarningPersonHisService.save(idenWarningPersonHis);
|
|
}
|
|
}
|
|
|
|
|
|
IdenWarningEvent idenWarningEvent = new IdenWarningEvent();
|
|
IdenWarningEvent idenWarningEvent = new IdenWarningEvent();
|
|
@@ -311,47 +335,54 @@ public class WarningService {
|
|
continueDisappearDaysRule = idenWarningRuleResident.getContinueDisappearDays();
|
|
continueDisappearDaysRule = idenWarningRuleResident.getContinueDisappearDays();
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
if (idenFaceImage == null){
|
|
if (idenFaceImage == null){
|
|
idenFaceImage = new IdenFaceImage();
|
|
idenFaceImage = new IdenFaceImage();
|
|
idenFaceImage.setPhotographTime(DateUtils.getBeforeDates(100)); //设定一个假时间
|
|
idenFaceImage.setPhotographTime(DateUtils.getBeforeDates(100)); //设定一个假时间
|
|
}
|
|
}
|
|
int continueDisappearDays = DateUtils.getDaysGap(idenFaceImage.getPhotographTime(), new Date()) - 1;
|
|
int continueDisappearDays = DateUtils.getDaysGap(idenFaceImage.getPhotographTime(), new Date()) - 1;
|
|
- //超过7天没出现
|
|
|
|
|
|
+ //超过7天没出现, 满足预警
|
|
if ( continueDisappearDays > continueDisappearDaysRule ) {
|
|
if ( continueDisappearDays > continueDisappearDaysRule ) {
|
|
//查询是不是已经有预警人员数据了
|
|
//查询是不是已经有预警人员数据了
|
|
QueryWrapper<IdenWarningPerson> queryWrapper0 = new QueryWrapper<>();
|
|
QueryWrapper<IdenWarningPerson> queryWrapper0 = new QueryWrapper<>();
|
|
- queryWrapper0.lambda().eq(IdenWarningPerson::getDataDate,DateUtils.getYestodayYyyyMMddDate())
|
|
|
|
|
|
+ queryWrapper0.lambda()
|
|
.eq(IdenWarningPerson::getCommunityId,idenPerson.getCommunityId())
|
|
.eq(IdenWarningPerson::getCommunityId,idenPerson.getCommunityId())
|
|
.eq(IdenWarningPerson::getPersonId,idenPerson.getId())
|
|
.eq(IdenWarningPerson::getPersonId,idenPerson.getId())
|
|
.eq(IdenWarningPerson::getType,WarningTypeEnum.RESIDENT.getValue());
|
|
.eq(IdenWarningPerson::getType,WarningTypeEnum.RESIDENT.getValue());
|
|
- int cnt = this.idenWarningPersonService.count(queryWrapper0);
|
|
|
|
- if (cnt > 0) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- //生成预警数据
|
|
|
|
- IdenWarningPerson idenWarningPerson = new IdenWarningPerson();
|
|
|
|
- idenWarningPerson.setUid(idenPerson.getUid());
|
|
|
|
- idenWarningPerson.setImage(idenPerson.getImage());
|
|
|
|
- idenWarningPerson.setDataDate(DateUtils.getYestodayYyyyMMddDate());
|
|
|
|
- Long communityId = idenPerson.getCommunityId();
|
|
|
|
- IdenCommunity idenCommunity = this.idenCommunityService.getById(communityId);
|
|
|
|
- if (idenCommunity != null) {
|
|
|
|
- idenWarningPerson.setCommunityId(communityId);
|
|
|
|
- idenWarningPerson.setCommunityCode(idenCommunity.getCode());
|
|
|
|
- idenWarningPerson.setCommunityName(idenCommunity.getName());
|
|
|
|
- idenWarningPerson.setSubdistrict(idenCommunity.getSubdistrict());
|
|
|
|
- idenWarningPerson.setDistrict(idenCommunity.getDistrict());
|
|
|
|
|
|
+ IdenWarningPerson idenWarningPerson = this.idenWarningPersonService.getOne(queryWrapper0);
|
|
|
|
+ if (idenWarningPerson != null) {
|
|
|
|
+ idenWarningPerson.setContinueDisappearDays(continueDisappearDays);
|
|
|
|
+ idenWarningPerson.setModifyTime(new Date());
|
|
|
|
+ this.idenWarningPersonService.updateById(idenWarningPerson);
|
|
|
|
+ } else {
|
|
|
|
+ //生成预警数据
|
|
|
|
+ idenWarningPerson = new IdenWarningPerson();
|
|
|
|
+ idenWarningPerson.setUid(idenPerson.getUid());
|
|
|
|
+ idenWarningPerson.setImage(idenPerson.getImage());
|
|
|
|
+ idenWarningPerson.setFeatPtr(idenFaceImage.getFeatPtr());
|
|
|
|
+ idenWarningPerson.setDataDate(DateUtils.getYestodayYyyyMMddDate());
|
|
|
|
+ Long communityId = idenPerson.getCommunityId();
|
|
|
|
+ IdenCommunity idenCommunity = this.idenCommunityService.getById(communityId);
|
|
|
|
+ if (idenCommunity != null) {
|
|
|
|
+ idenWarningPerson.setCommunityId(communityId);
|
|
|
|
+ idenWarningPerson.setCommunityCode(idenCommunity.getCode());
|
|
|
|
+ idenWarningPerson.setCommunityName(idenCommunity.getName());
|
|
|
|
+ idenWarningPerson.setSubdistrict(idenCommunity.getSubdistrict());
|
|
|
|
+ idenWarningPerson.setDistrict(idenCommunity.getDistrict());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ idenWarningPerson.setContinueDisappearDays(continueDisappearDays);
|
|
|
|
+ //此人在该小区最晚出现时间
|
|
|
|
+ idenWarningPerson.setLatestAppearTime(idenFaceImage.getPhotographTime());
|
|
|
|
+
|
|
|
|
+ idenWarningPerson.setType(WarningTypeEnum.RESIDENT.getValue());
|
|
|
|
+ idenWarningPerson.setCreateTime(DateUtils.strToDate(DateUtils.getYestodayYyyyMMddDate(),"yyyyMMdd"));
|
|
|
|
+ this.idenWarningPersonService.save(idenWarningPerson);
|
|
|
|
+
|
|
|
|
+ IdenWarningPersonHis idenWarningPersonHis = new IdenWarningPersonHis();
|
|
|
|
+ BeanUtil.copyProperties(idenWarningPerson,idenWarningPersonHis,"id");
|
|
|
|
+ idenWarningPersonHisService.save(idenWarningPersonHis);
|
|
}
|
|
}
|
|
|
|
|
|
- idenWarningPerson.setContinueDisappearDays(continueDisappearDays);
|
|
|
|
- //此人在该小区最晚出现时间
|
|
|
|
- idenWarningPerson.setLatestAppearTime(idenFaceImage.getPhotographTime());
|
|
|
|
-
|
|
|
|
- idenWarningPerson.setType(WarningTypeEnum.RESIDENT.getValue());
|
|
|
|
- idenWarningPerson.setCreateTime(DateUtils.strToDate(DateUtils.getYestodayYyyyMMddDate(),"yyyyMMdd"));
|
|
|
|
- this.idenWarningPersonService.save(idenWarningPerson);
|
|
|
|
-
|
|
|
|
IdenWarningEvent idenWarningEvent = new IdenWarningEvent();
|
|
IdenWarningEvent idenWarningEvent = new IdenWarningEvent();
|
|
idenWarningEvent.setWarningPersonId(idenWarningPerson.getId());
|
|
idenWarningEvent.setWarningPersonId(idenWarningPerson.getId());
|
|
idenWarningEvent.setDataTime(idenWarningPerson.getLatestAppearTime());
|
|
idenWarningEvent.setDataTime(idenWarningPerson.getLatestAppearTime());
|
|
@@ -377,18 +408,6 @@ public class WarningService {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- //查询是不是已经有预警人员数据了
|
|
|
|
- QueryWrapper<IdenWarningPerson> queryWrapper0 = new QueryWrapper<>();
|
|
|
|
- queryWrapper0.lambda().eq(IdenWarningPerson::getDataDate,idenFaceImage.getDataDate())
|
|
|
|
- .eq(IdenWarningPerson::getUid,idenFaceImage.getUid())
|
|
|
|
- .eq(IdenWarningPerson::getType,WarningTypeEnum.EVENT_COMMING.getValue());
|
|
|
|
- int cnt = this.idenWarningPersonService.count(queryWrapper0);
|
|
|
|
- if (cnt > 0) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //查询配置
|
|
|
|
-
|
|
|
|
//设置默认
|
|
//设置默认
|
|
List<IdenWarningRuleEventComming> idenWarningRuleEventCommings = new ArrayList<>();
|
|
List<IdenWarningRuleEventComming> idenWarningRuleEventCommings = new ArrayList<>();
|
|
IdenWarningRuleEventComming idenWarningRuleEventComming = new IdenWarningRuleEventComming();
|
|
IdenWarningRuleEventComming idenWarningRuleEventComming = new IdenWarningRuleEventComming();
|
|
@@ -436,42 +455,56 @@ public class WarningService {
|
|
}
|
|
}
|
|
|
|
|
|
int count = this.idenFaceImageService.count(queryWrapper);
|
|
int count = this.idenFaceImageService.count(queryWrapper);
|
|
- if (count >= continueDays) { //连续超过7天
|
|
|
|
- IdenWarningPerson idenWarningPerson = new IdenWarningPerson();
|
|
|
|
|
|
+ if (count >= continueDays) { //连续超过7天,满足预警
|
|
|
|
+
|
|
|
|
+ //查询是不是已经有预警人员数据了
|
|
|
|
+ QueryWrapper<IdenWarningPerson> queryWrapper0 = new QueryWrapper<>();
|
|
|
|
+ queryWrapper0.lambda()
|
|
|
|
+ .eq(IdenWarningPerson::getCommunityId,communityId)
|
|
|
|
+ .eq(IdenWarningPerson::getUid,idenFaceImage.getUid())
|
|
|
|
+ .eq(IdenWarningPerson::getType,WarningTypeEnum.EVENT_COMMING.getValue());
|
|
|
|
+ IdenWarningPerson idenWarningPerson = this.idenWarningPersonService.getOne(queryWrapper0);
|
|
|
|
+ if (idenWarningPerson != null) {
|
|
|
|
+ idenWarningPerson.setAppearFrequency(count);
|
|
|
|
+ idenWarningPerson.setModifyTime(new Date());
|
|
|
|
+ this.idenWarningPersonService.updateById(idenWarningPerson);
|
|
|
|
|
|
- idenWarningPerson.setUid(idenFaceImage.getUid());
|
|
|
|
- idenWarningPerson.setDataDate(idenFaceImage.getDataDate());
|
|
|
|
- idenWarningPerson.setImage(idenFaceImage.getImage());
|
|
|
|
|
|
+ } else {
|
|
|
|
+ idenWarningPerson = new IdenWarningPerson();
|
|
|
|
+ idenWarningPerson.setUid(idenFaceImage.getUid());
|
|
|
|
+ idenWarningPerson.setDataDate(idenFaceImage.getDataDate());
|
|
|
|
+ idenWarningPerson.setImage(idenFaceImage.getImage());
|
|
|
|
+ idenWarningPerson.setFeatPtr(idenFaceImage.getFeatPtr());
|
|
|
|
+ Long cameraId = idenFaceImage.getCameraId();
|
|
|
|
+ if(cameraId != null) {
|
|
|
|
+ IdenCamera idenCamera = this.idenCameraService.getById(cameraId);
|
|
|
|
+ idenWarningPerson.setDistrict(idenCamera.getDistrict());
|
|
|
|
+ idenWarningPerson.setSubdistrict(idenCamera.getSubdistrict());
|
|
|
|
+ }
|
|
|
|
|
|
- Long cameraId = idenFaceImage.getCameraId();
|
|
|
|
- if(cameraId != null) {
|
|
|
|
- IdenCamera idenCamera = this.idenCameraService.getById(cameraId);
|
|
|
|
- idenWarningPerson.setDistrict(idenCamera.getDistrict());
|
|
|
|
- idenWarningPerson.setSubdistrict(idenCamera.getSubdistrict());
|
|
|
|
- }
|
|
|
|
|
|
+ IdenCommunity idenCommunity = this.idenCommunityService.getById(communityId);
|
|
|
|
+ if (idenCommunity != null) {
|
|
|
|
+ idenWarningPerson.setCommunityId(communityId);
|
|
|
|
+ idenWarningPerson.setCommunityCode(idenCommunity.getCode());
|
|
|
|
+ idenWarningPerson.setCommunityName(idenCommunity.getName());
|
|
|
|
+ }
|
|
|
|
+ idenWarningPerson.setAppearFrequency(count);
|
|
|
|
+
|
|
|
|
+ //查询此人在该小区最早出现时间
|
|
|
|
+ QueryWrapper<IdenFaceImage> queryWrapper1 = new QueryWrapper<>();
|
|
|
|
+ queryWrapper1.lambda().eq(IdenFaceImage::getCommunityId,communityId)
|
|
|
|
+ .orderByAsc(IdenFaceImage::getPhotographTime);
|
|
|
|
+ queryWrapper1.last("limit 1");
|
|
|
|
+ IdenFaceImage idenFaceImage1 = this.idenFaceImageService.getOne(queryWrapper1);
|
|
|
|
+ if(idenFaceImage1 != null){
|
|
|
|
+ idenWarningPerson.setEarliestAppearTime(idenFaceImage1.getPhotographTime());
|
|
|
|
+ }
|
|
|
|
|
|
- IdenCommunity idenCommunity = this.idenCommunityService.getById(communityId);
|
|
|
|
- if (idenCommunity != null) {
|
|
|
|
- idenWarningPerson.setCommunityId(communityId);
|
|
|
|
- idenWarningPerson.setCommunityCode(idenCommunity.getCode());
|
|
|
|
- idenWarningPerson.setCommunityName(idenCommunity.getName());
|
|
|
|
- }
|
|
|
|
- idenWarningPerson.setAppearFrequency(count);
|
|
|
|
|
|
+ idenWarningPerson.setType(WarningTypeEnum.EVENT_COMMING.getValue());
|
|
|
|
+ idenWarningPerson.setCreateTime(idenFaceImage.getCreateTime());
|
|
|
|
+ this.idenWarningPersonService.save(idenWarningPerson);
|
|
|
|
|
|
- //查询此人在该小区最早出现时间
|
|
|
|
- QueryWrapper<IdenFaceImage> queryWrapper1 = new QueryWrapper<>();
|
|
|
|
- queryWrapper1.lambda().eq(IdenFaceImage::getCommunityId,communityId)
|
|
|
|
- .orderByAsc(IdenFaceImage::getPhotographTime);
|
|
|
|
- queryWrapper1.last("limit 1");
|
|
|
|
- IdenFaceImage idenFaceImage1 = this.idenFaceImageService.getOne(queryWrapper1);
|
|
|
|
- if(idenFaceImage1 != null){
|
|
|
|
- idenWarningPerson.setEarliestAppearTime(idenFaceImage1.getPhotographTime());
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
- idenWarningPerson.setType(WarningTypeEnum.EVENT_COMMING.getValue());
|
|
|
|
- idenWarningPerson.setCreateTime(idenFaceImage.getCreateTime());
|
|
|
|
- this.idenWarningPersonService.save(idenWarningPerson);
|
|
|
|
-
|
|
|
|
IdenWarningEvent idenWarningEvent = new IdenWarningEvent();
|
|
IdenWarningEvent idenWarningEvent = new IdenWarningEvent();
|
|
idenWarningEvent.setWarningPersonId(idenWarningPerson.getId());
|
|
idenWarningEvent.setWarningPersonId(idenWarningPerson.getId());
|
|
idenWarningEvent.setDataTime(idenFaceImage.getPhotographTime());
|
|
idenWarningEvent.setDataTime(idenFaceImage.getPhotographTime());
|
|
@@ -486,6 +519,7 @@ public class WarningService {
|
|
idenWarningEvent.setCreateTime(idenFaceImage.getCreateTime());
|
|
idenWarningEvent.setCreateTime(idenFaceImage.getCreateTime());
|
|
this.idenWarningEventService.save(idenWarningEvent);
|
|
this.idenWarningEventService.save(idenWarningEvent);
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
//按小区统计
|
|
//按小区统计
|