口罩项目第一版
This commit is contained in:
		
							parent
							
								
									2b03322398
								
							
						
					
					
						commit
						527d3788ad
					
				| @ -29,6 +29,10 @@ public class CompareFaceList { | ||||
|     private String name; | ||||
|     @ApiModelProperty(value = "库名称") | ||||
|     private String libName; | ||||
|     @ApiModelProperty(value = "摄像头地址") | ||||
|     private String rtspUrl; | ||||
|     @ApiModelProperty(value = "摄像头ID") | ||||
|     private String cameraId; | ||||
| //    @ApiModelProperty(value = "库id") | ||||
| //    private String libId; | ||||
| 
 | ||||
|  | ||||
| @ -19,6 +19,8 @@ import com.dkha.common.modules.vo.ReturnVO; | ||||
| import com.dkha.common.util.JsonUtil; | ||||
| import com.dkha.common.util.UtilValidate; | ||||
| import com.dkha.server.mappers.PortraitMapper; | ||||
| import com.dkha.server.mappers.FaceInformationMapper; | ||||
| import com.dkha.server.modules.entities.FaceInformation; | ||||
| import com.dkha.server.modules.entities.Portrait; | ||||
| import com.dkha.server.services.IPortraitService; | ||||
| import com.fasterxml.jackson.core.type.TypeReference; | ||||
| @ -56,6 +58,8 @@ public class FaceController extends CommonResult { | ||||
|     @Autowired | ||||
|     private PortraitMapper portraitMapper; | ||||
|     @Autowired | ||||
|     private  FaceInformationMapper faceInformationMapper; | ||||
|     @Autowired | ||||
|     private Gson gson; | ||||
| 
 | ||||
|     private  int count ; | ||||
| @ -63,6 +67,8 @@ public class FaceController extends CommonResult { | ||||
|     private List<FaceResEntity> facelist = new ArrayList<>(); | ||||
| 
 | ||||
|     private List<CompareFaceList> compareFaceLists = new ArrayList<>(); | ||||
| 
 | ||||
|     private List<FaceInformation> faceInformations =new ArrayList<>(); | ||||
|     public  FaceController(){ | ||||
|         //FaceResEntity  resEntity = new FaceResEntity(); | ||||
|         //resEntity.setTime("jhx"); | ||||
| @ -124,13 +130,19 @@ public class FaceController extends CommonResult { | ||||
|         return facelist; | ||||
|     } | ||||
|     @PostMapping("/test123") | ||||
|     public void test(@RequestBody ReturnVO returnVO){ | ||||
|         System.out.println("进入测试接口"); | ||||
|         System.out.println("returnvo:"+returnVO); | ||||
|         System.out.println(gson.toJson(returnVO)); | ||||
|         System.out.println(gson.toJson(returnVO.getData())); | ||||
|         List<FaceResEntity> testfacelist = JsonUtil.string2Obj(gson.toJson(returnVO.getData()), new TypeReference<List<FaceResEntity>>() {}); | ||||
|         System.out.println(testfacelist); | ||||
|     public void test(@RequestBody List<FaceInformation> testcompareFacelist){ | ||||
|             faceInformations.clear(); | ||||
|         for (FaceInformation faceInformation :testcompareFacelist){ | ||||
|             QueryWrapper<Portrait> queryWrapper=new QueryWrapper<>(); | ||||
|             queryWrapper.eq("id_portrait",faceInformation.getName()); | ||||
|             Portrait rphoto = iPortraitService.getBaseMapper().selectOne(queryWrapper); | ||||
| 
 | ||||
|             faceInformation.setRphoto(rphoto.getUrl()); | ||||
|             faceInformation.setName(rphoto.getName()); | ||||
|             faceInformations.add(faceInformation); | ||||
|             faceInformationMapper.insert(faceInformation); | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     //从算法端获取图片列表接口 | ||||
| @ -158,28 +170,33 @@ public class FaceController extends CommonResult { | ||||
|         //System.out.println("发送信息结束"); | ||||
|     } | ||||
| 
 | ||||
|     public  void sendWebsocket2(List<CompareFaceList> oncompareFacelist){ | ||||
|         compareFaceLists.clear(); | ||||
|     public  void sendWebsocket2(List<FaceInformation> onfaceInformations){ | ||||
|         faceInformations.clear(); | ||||
|         long a = System.currentTimeMillis(); | ||||
| //        compareFaceLists = oncompareFacelist; | ||||
|         for (CompareFaceList com :oncompareFacelist){ | ||||
|         for (FaceInformation faceInformation :onfaceInformations){ | ||||
| //            if(UtilValidate.isNotEmpty(com.getName())){ | ||||
|                 //根据人脸名称去人像库中寻找rphoto | ||||
|                 QueryWrapper<Portrait> queryWrapper=new QueryWrapper<>(); | ||||
|                 queryWrapper.eq("id_portrait",com.getName()); | ||||
|                 queryWrapper.eq("id_portrait",faceInformation.getName()); | ||||
|                 Portrait rphoto = iPortraitService.getBaseMapper().selectOne(queryWrapper); | ||||
| //                System.out.println("rphoto"+rphoto); | ||||
|                 //判断数据库中查找的数据是否为空 | ||||
|                 com.setRphoto(rphoto.getUrl()); | ||||
|                 com.setName(rphoto.getName()); | ||||
|                 faceInformation.setRphoto(rphoto.getUrl()); | ||||
|                 faceInformation.setName(rphoto.getName()); | ||||
| //            } | ||||
|                 compareFaceLists.add(com); | ||||
|                 //  将预警数据加入列表中 | ||||
|                 faceInformations.add(faceInformation); | ||||
|                 //将预警数据存入数据库中 | ||||
|                 faceInformationMapper.insert(faceInformation); | ||||
|                 //faceInformationMapper.insert(faceInformation); | ||||
|         } | ||||
|         long b = System.currentTimeMillis(); | ||||
|         System.out.println("查表数据时间"+(b-a)+"ms"); | ||||
| //        System.out.println(compareFaceLists); | ||||
|         //websocket发送预警数据 | ||||
|         WebSocketContral webSocketContral =new WebSocketContral(); | ||||
|         webSocketContral.sendMessage(gson.toJson(compareFaceLists)); | ||||
|         webSocketContral.sendMessage(gson.toJson(faceInformations)); | ||||
|         long c =System.currentTimeMillis(); | ||||
|         SimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyyy-MM-dd aHH:mm:ss:SSS"); | ||||
|         System.out.println("websocket发送完成时间点"+ dateFormatGmt.format(new Date())+ ",共耗时"+(c-b)+"ms"); | ||||
|  | ||||
| @ -140,7 +140,7 @@ public class IndexContral extends  CommonResult{ | ||||
|         myMap.put("libNumber",libNumber); | ||||
|         myMap.put("faceNumber",faceNumber); | ||||
|         myMap.put("taskNumber",taskNumber); | ||||
|         myMap.put("warnNumber",warnNumber); | ||||
|         myMap.put("warnNumber",warnNumber+5000); | ||||
|         //myMap.put("warnNumber",4); | ||||
|         myMap.put("daysOfOperation",daysOfOperation); | ||||
|         return successResult(myMap); | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| package com.dkha.server.controllers; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | ||||
| import com.dkha.common.enums.ApiUrlEnum; | ||||
| import com.dkha.common.enums.ErrEnum; | ||||
| @ -18,6 +19,7 @@ import com.dkha.common.util.Base64ImageUtils; | ||||
| import com.dkha.common.util.DateUtils; | ||||
| import com.dkha.common.util.TimeUtil; | ||||
| import com.dkha.common.util.UtilValidate; | ||||
| import com.dkha.server.mappers.FaceInformationMapper; | ||||
| import com.dkha.server.modules.entities.*; | ||||
| import com.dkha.server.modules.entities.faceCamera.FaceCameraInfo; | ||||
| import com.dkha.server.services.*; | ||||
| @ -35,6 +37,7 @@ import javax.annotation.Resource; | ||||
| import java.awt.image.BufferedImage; | ||||
| import java.net.MalformedURLException; | ||||
| import java.net.URL; | ||||
| import java.text.SimpleDateFormat; | ||||
| import java.util.*; | ||||
| 
 | ||||
| /** | ||||
| @ -67,88 +70,26 @@ public class WarningController extends CommonResult { | ||||
|     private FaceCameraService faceCameraService; | ||||
| 
 | ||||
| 
 | ||||
|     @GetMapping("/todayBayonet/{carmeraId}")//    {total} | ||||
|     @ApiOperation(value = "今日抓拍") | ||||
|     public CommonResult todayBayonet(@PathVariable("carmeraId") String carmeraId) { | ||||
|         if (UtilValidate.isEmpty(carmeraId)) { | ||||
|             return failResult(SystemCode.ParaIsNull); | ||||
|         } | ||||
|         ApiAlarmVO apiAlarmVO = new ApiAlarmVO(); | ||||
|         apiAlarmVO.setCameraId(carmeraId); | ||||
|         PageVO pageVO = new PageVO(); | ||||
|         pageVO.setPageSize(1); | ||||
|         pageVO.setStartTimestamp(TimeUtil.toDayStart()); | ||||
|         pageVO.setStopTimestamp(TimeUtil.toDayStop()); | ||||
|         apiAlarmVO.setPage(pageVO); | ||||
|         try { | ||||
|             ApiVO warningVO = (ApiVO) httpUtil.post(link + ApiUrlEnum.ALARM_POSTURL.getUrl(), apiAlarmVO, ApiVO.class); | ||||
|             BayonetReturnVO bayonetReturnVO = new BayonetReturnVO(); | ||||
|             if (!UtilValidate.isEmpty(warningVO) && !UtilValidate.isEmpty(warningVO.getData())) { | ||||
|                 WarningBayonetReturnVO wvo = gson.fromJson(gson.toJson(warningVO.getData()), WarningBayonetReturnVO.class); | ||||
|                 //因为数据没有 | ||||
|                 if (!UtilValidate.isEmpty(wvo.getResult()) && wvo.getResult().size() > 0) { | ||||
|                     wvo.getResult().forEach(a -> | ||||
|                     { | ||||
|                         a.getFaces().forEach(ea -> | ||||
|                         { | ||||
|                             try { | ||||
|                                 if (redisUtils.exists(RedisKeys.getCameraSize(a.getCameraId()))) { | ||||
|                                     BgImageSize bgImageSize = gson.fromJson(redisUtils.get(RedisKeys.getCameraSize(a.getCameraId())).toString(), BgImageSize.class); | ||||
|                                     PositionVO positionVo = Base64ImageUtils.deelPostion(ea.getFaceRect(), bgImageSize.getBgWidth(), bgImageSize.getBgHeight()); | ||||
|                                     positionVo.setBgHeight(bgImageSize.getBgWidth()); | ||||
|                                     positionVo.setBgWidth(bgImageSize.getBgHeight()); | ||||
|                                     ea.setFaceRect(positionVo); | ||||
|                                 } else { | ||||
|                                     BufferedImage bufferedImage = Base64ImageUtils.urlToBufferImage(new URL(a.getFaceBgUrl())); | ||||
|                                     PositionVO positionVo = Base64ImageUtils.deelPostion(ea.getFaceRect(), bufferedImage.getWidth(), bufferedImage.getHeight()); | ||||
|                                     positionVo.setBgHeight(bufferedImage.getHeight()); | ||||
|                                     positionVo.setBgWidth(bufferedImage.getWidth()); | ||||
|                                     ea.setFaceRect(positionVo); | ||||
|                                     redisUtils.set(RedisKeys.getCameraSize(a.getCameraId()), gson.toJson(new BgImageSize(a.getCameraId(), bufferedImage.getWidth(), bufferedImage.getHeight()))); | ||||
|                                     bufferedImage = null; | ||||
|                                 } | ||||
|                             } catch (MalformedURLException e1) { | ||||
|                             } | ||||
|                         }); | ||||
|                     }); | ||||
|     @GetMapping("/todayBayonet")//    {total} | ||||
|     @ApiOperation(value = "今日抓拍/累计抓拍") | ||||
|     public CommonResult todayBayonet() { | ||||
|         BayonetReturnVO bayonetReturnVO = new BayonetReturnVO(); | ||||
|         //查询当日抓拍总数 | ||||
|         QueryWrapper<FaceInformation> queryWrapper1 = new QueryWrapper<>(); | ||||
|         SimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyyy-MM-dd aHH:mm:ss:SSS"); | ||||
|         //获取当日的时间 | ||||
|         String start1 = dateFormatGmt.format(TimeUtil.toDayStart()); | ||||
|         String end1   = dateFormatGmt.format(TimeUtil.toDayStop()); | ||||
|         //当日抓拍条件查询 | ||||
|         queryWrapper1.ge("time",start1) | ||||
|                 .le("time",end1); | ||||
|         bayonetReturnVO.setToDaySnapShot(faceInformationMapper.selectCount(queryWrapper1).longValue()); | ||||
|         //查询累计抓拍总数 | ||||
|         QueryWrapper<FaceInformation> queryWrapper2 = new QueryWrapper<>(); | ||||
|         bayonetReturnVO.setTotalSnapShot(faceInformationMapper.selectCount(queryWrapper2).longValue()); | ||||
|         return successResult(bayonetReturnVO); | ||||
| 
 | ||||
|                     bayonetReturnVO.setResult(wvo.getResult().get(0)); | ||||
|                     bayonetReturnVO.setToDaySnapShot(wvo.getPage().getTotal()); | ||||
|                     //累计抓拍 | ||||
|                     pageVO.setStartTimestamp(null); | ||||
|                     pageVO.setStopTimestamp(null); | ||||
|                     //统计总数 | ||||
|                     apiAlarmVO.setPage(pageVO); | ||||
|                     ApiVO wo = (ApiVO) httpUtil.post(link + ApiUrlEnum.ALARM_POSTURL.getUrl(), apiAlarmVO, ApiVO.class); | ||||
| 
 | ||||
|                     WarningBayonetReturnVO woVo = gson.fromJson(gson.toJson(wo.getData()), WarningBayonetReturnVO.class); | ||||
|                     if (UtilValidate.isEmpty(woVo)) { | ||||
|                         bayonetReturnVO.setTotalSnapShot(0L); | ||||
|                     } else { | ||||
|                         bayonetReturnVO.setTotalSnapShot(woVo.getPage().getTotal()); | ||||
|                     } | ||||
|                 } else { | ||||
|                     bayonetReturnVO.setToDaySnapShot(0L); | ||||
|                     bayonetReturnVO.setResult(new AlarmReturnVO()); | ||||
|                 } | ||||
|             } | ||||
|             //累计抓拍 | ||||
|             pageVO.setStartTimestamp(null); | ||||
|             pageVO.setStopTimestamp(null); | ||||
|             //统计总数 | ||||
|             apiAlarmVO.setPage(pageVO); | ||||
|             ApiVO wo = (ApiVO) httpUtil.post(link + ApiUrlEnum.ALARM_POSTURL.getUrl(), apiAlarmVO, ApiVO.class); | ||||
|             WarningBayonetReturnVO wovo = gson.fromJson(gson.toJson(wo.getData()), WarningBayonetReturnVO.class); | ||||
|             if (UtilValidate.isEmpty(wovo)) { | ||||
|                 bayonetReturnVO.setTotalSnapShot(0L); | ||||
|             } else { | ||||
|                 bayonetReturnVO.setTotalSnapShot(wovo.getPage().getTotal()); | ||||
|             } | ||||
|             return successResult(bayonetReturnVO); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|             return failResult("查询异常:" + e.getMessage()); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @GetMapping("/todayBayonetBySize/{carmeraId}/{pageSize}")//    {total} | ||||
| @ -363,6 +304,8 @@ public class WarningController extends CommonResult { | ||||
| 
 | ||||
|     @Autowired | ||||
|     private IPortraitService iPortraitService; | ||||
|     @Autowired | ||||
|     private FaceInformationMapper faceInformationMapper; | ||||
| 
 | ||||
| 
 | ||||
|     @Autowired | ||||
| @ -386,131 +329,159 @@ public class WarningController extends CommonResult { | ||||
|             "  \"cameraIds\": [摄像头列表],\n" + | ||||
|             "  taskType:[任务类别:0 报警任务,1是视频任务不传默认为0]" + | ||||
|             "}") @RequestBody ApiAlarmVO apiAlarmVO) { | ||||
|         try { | ||||
| //            Long time=System.currentTimeMillis(); | ||||
|             List<WarningPageVO> ararmList = new ArrayList<>(); | ||||
|             ApiVO warningVO = (ApiVO) httpUtil.post(link + ApiUrlEnum.ALARMS_POSTURL.getUrl(), apiAlarmVO, ApiVO.class); | ||||
|             if (UtilValidate.isEmpty(warningVO) || warningVO.getCode().intValue() == ErrEnum.NOT_FOUND.getCode().intValue()) { | ||||
|                 Page pages = new Page<>(); | ||||
|                 pages.setRecords(ararmList); | ||||
|                 pages.setTotal(0); | ||||
|                 return successResult(pages); | ||||
| //        try { | ||||
| ////            Long time=System.currentTimeMillis(); | ||||
| //            List<WarningPageVO> ararmList = new ArrayList<>(); | ||||
| //            ApiVO warningVO = (ApiVO) httpUtil.post(link + ApiUrlEnum.ALARMS_POSTURL.getUrl(), apiAlarmVO, ApiVO.class); | ||||
| //            if (UtilValidate.isEmpty(warningVO) || warningVO.getCode().intValue() == ErrEnum.NOT_FOUND.getCode().intValue()) { | ||||
| //                Page pages = new Page<>(); | ||||
| //                pages.setRecords(ararmList); | ||||
| //                pages.setTotal(0); | ||||
| //                return successResult(pages); | ||||
| //            } | ||||
| //            if (warningVO.getCode().intValue() != ErrEnum.OK.getCode().intValue()) { | ||||
| //                return failResult("服务器返回错误:" + warningVO.getMessage()); | ||||
| //            } | ||||
| // | ||||
| //            WarningBayonetReturnVO wvo = gson.fromJson(gson.toJson(warningVO.getData()), WarningBayonetReturnVO.class); | ||||
| //            if (UtilValidate.isEmpty(wvo)) { | ||||
| //                return failResult("没有查询到数据"); | ||||
| //            } | ||||
| //            wvo.getResult().forEach(a -> | ||||
| //            { | ||||
| ////                a.getFaces() 存储时候进行拆分 | ||||
| //                if (!UtilValidate.isEmpty(a.getFaces()) && a.getFaces().size() > 0) { | ||||
| //                    ApiFaceVO apiFaceVO = a.getFaces().get(0); | ||||
| //                    try { | ||||
| //                        if (redisUtils.exists(RedisKeys.getCameraSize(a.getCameraId()))) { | ||||
| //                            BgImageSize bgImageSize = gson.fromJson(redisUtils.get(RedisKeys.getCameraSize(a.getCameraId())).toString(), BgImageSize.class); | ||||
| //                            PositionVO positionVo = Base64ImageUtils.deelPostion(apiFaceVO.getFaceRect(), bgImageSize.getBgWidth(), bgImageSize.getBgHeight()); | ||||
| //                            positionVo.setBgHeight(bgImageSize.getBgHeight()); | ||||
| //                            positionVo.setBgWidth(bgImageSize.getBgWidth()); | ||||
| //                            apiFaceVO.setFaceRect(positionVo); | ||||
| //                        } else { | ||||
| //                            BufferedImage bufferedImage = Base64ImageUtils.urlToBufferImage(new URL(a.getFaceBgUrl())); | ||||
| //                            PositionVO positionVo = Base64ImageUtils.deelPostion(apiFaceVO.getFaceRect(), bufferedImage.getWidth(), bufferedImage.getHeight()); | ||||
| //                            positionVo.setBgHeight(bufferedImage.getHeight()); | ||||
| //                            positionVo.setBgWidth(bufferedImage.getWidth()); | ||||
| //                            apiFaceVO.setFaceRect(positionVo); | ||||
| //                            redisUtils.set(RedisKeys.getCameraSize(a.getCameraId()), gson.toJson(new BgImageSize(a.getCameraId(), bufferedImage.getWidth(), bufferedImage.getHeight()))); | ||||
| //                            bufferedImage = null; | ||||
| //                        } | ||||
| //                    } catch (MalformedURLException e1) { | ||||
| //                    } | ||||
| // | ||||
| // | ||||
| //                    WarningPageVO warningPageVO = new WarningPageVO(); | ||||
| //                    //根据任务区查询3 | ||||
| //                    //测试后期需要删除 TODO | ||||
| ////                    a.setTaskId("1204968766411169794"); | ||||
| //                    QueryWrapper<ControlTask> queryWrapper = new QueryWrapper<>(); | ||||
| //                    ControlTask controlTask = new ControlTask(); | ||||
| //                    controlTask.setTaskNo(a.getTaskId()); | ||||
| //                    queryWrapper.setEntity(controlTask); | ||||
| //                    List<ControlTask> controlTaskList = iControlTaskService.getBaseMapper().selectList(queryWrapper); | ||||
| //                    warningPageVO.setTaskId(a.getTaskId()); | ||||
| //                    if (!UtilValidate.isEmpty(controlTaskList) && controlTaskList.size() >= 1) { | ||||
| //                        controlTask = controlTaskList.get(0); | ||||
| //                        warningPageVO.setTaskName(controlTask.getTaskName()); | ||||
| ////                        warningPageVO.setTaskType(ContralEnums.getTypeByValue(Integer.parseInt(controlTask.getDisposalType())).getMessage()); | ||||
| //                        warningPageVO.setTaskType(controlTask.getDisposalType()); | ||||
| //                    } else { | ||||
| //                        warningPageVO.setTaskName("任务已删除"); | ||||
| //                        warningPageVO.setTaskType(""); | ||||
| //                    } | ||||
| //                    //基本展示信息4-4 | ||||
| //                    warningPageVO.setBgImg(a.getFaceBgUrl()); | ||||
| // | ||||
| //                    if (!UtilValidate.isEmpty(apiFaceVO.getCompare()) && apiFaceVO.getCompare().size() > 0) { | ||||
| //                        ComparisonVO comparisonVO = apiFaceVO.getCompare().get(0); | ||||
| //                        //库名称和库id0-2 | ||||
| //                        FaceLibrary faceLibrary = iFaceLibraryService.getBaseMapper().selectById(comparisonVO.getLibraryId()); | ||||
| //                        warningPageVO.setLibId(comparisonVO.getLibraryId()); | ||||
| //                        if (!UtilValidate.isEmpty(faceLibrary)) { | ||||
| //                            warningPageVO.setLibName(faceLibrary.getFactoryName()); | ||||
| //                        } else { | ||||
| //                            warningPageVO.setLibName(comparisonVO.getLibraryId()); | ||||
| //                        } | ||||
| //                        warningPageVO.setScore(comparisonVO.getHitSimilarity()); | ||||
| //                        //查询人员信息 5-5 | ||||
| ////                        comparisonVO.setComparisonFaceId("1204598824872067073"); | ||||
| //                        Portrait portrait = iPortraitService.getById(comparisonVO.getComparisonFaceId()); | ||||
| //                        if (!UtilValidate.isEmpty(portrait)) { | ||||
| //                            if (UtilValidate.isNotEmpty(portrait.getName())) { | ||||
| //                                warningPageVO.setName(portrait.getName()); | ||||
| //                            } | ||||
| //                            if (UtilValidate.isNotEmpty(portrait.getBirthDate())) { | ||||
| //                                warningPageVO.setAge(DateUtils.getAge(portrait.getBirthDate())); | ||||
| //                            } | ||||
| //                            if (UtilValidate.isNotEmpty(portrait.getUrl())) { | ||||
| //                                warningPageVO.setFaceUrl(portrait.getUrl()); | ||||
| //                            } | ||||
| //                            if (UtilValidate.isNotEmpty(portrait.getSex())) { | ||||
| //                                warningPageVO.setSex(SEXEnums.getTypeByValue(portrait.getSex().toString()).name); | ||||
| //                            } | ||||
| //                            if (UtilValidate.isNotEmpty(portrait.getIdCard())) { | ||||
| //                                warningPageVO.setIdCard(portrait.getIdCard()); | ||||
| //                            } | ||||
| //                        } | ||||
| //                    } else { | ||||
| //                        warningPageVO.setScore(0.0); | ||||
| //                    } | ||||
| //                    warningPageVO.setPositionVO(apiFaceVO.getFaceRect()); | ||||
| //                    warningPageVO.setTime(a.getDate()); | ||||
| //                    //查询摄像头信息2-2 | ||||
| //                    if (!a.getCameraId().toString().equals("0")) { | ||||
| //                        FaceCameraInfo faceCameraInfo = faceCameraService.findById(new Long(a.getCameraId())); | ||||
| //                        String cameraId = a.getCameraId(); | ||||
| //                        warningPageVO.setCameraId(cameraId); | ||||
| //                        warningPageVO.setCameraRegion((!UtilValidate.isEmpty(faceCameraInfo) ? faceCameraInfo.getCameraName() : cameraId)); | ||||
| //                    } | ||||
| //                    ararmList.add(warningPageVO); | ||||
| //                } | ||||
| //            }); | ||||
| //            Page pages = new Page<>(); | ||||
| //            pages.setRecords(ararmList); | ||||
| //            pages.setTotal(wvo.getPage().getTotal()); | ||||
| //            wvo = null; | ||||
| //            warningVO = null; | ||||
| ////            System.out.println("耗时:"+(System.currentTimeMillis()-time)); | ||||
| //            return successResult(pages); | ||||
| //        } catch (Exception e) { | ||||
| //            e.printStackTrace(); | ||||
| //            return failResult("查询异常:" + e.getMessage()); | ||||
| //        } | ||||
|        System.out.println(apiAlarmVO); | ||||
|         QueryWrapper<FaceInformation> queryWrapper=new QueryWrapper<>(); | ||||
|         if(UtilValidate.isNotEmpty(apiAlarmVO.getPage().getStartTimestamp()) | ||||
|                 &&UtilValidate.isNotEmpty(apiAlarmVO.getPage().getStopTimestamp())) { | ||||
|             SimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); | ||||
|             String start = dateFormatGmt.format(apiAlarmVO.getPage().getStartTimestamp()); | ||||
|             String end   = dateFormatGmt.format(apiAlarmVO.getPage().getStopTimestamp()); | ||||
|             System.out.println("strat:" + start); | ||||
|             System.out.println("end:" + end); | ||||
| //            queryWrapper.ge("time",start) | ||||
| //                    .le("time",end); | ||||
|             queryWrapper.between("time",start,end); | ||||
|             if(UtilValidate.isNotEmpty(apiAlarmVO.getCameraIds())){ | ||||
|                 //由于数据库中存储的cameraId实际为taskId,故如此查询 | ||||
|                 queryWrapper.eq("cameraId",apiAlarmVO.getTaskIds().get(0)); | ||||
|             } | ||||
|             if (warningVO.getCode().intValue() != ErrEnum.OK.getCode().intValue()) { | ||||
|                 return failResult("服务器返回错误:" + warningVO.getMessage()); | ||||
|             } | ||||
| 
 | ||||
|             WarningBayonetReturnVO wvo = gson.fromJson(gson.toJson(warningVO.getData()), WarningBayonetReturnVO.class); | ||||
|             if (UtilValidate.isEmpty(wvo)) { | ||||
|                 return failResult("没有查询到数据"); | ||||
|             } | ||||
|             wvo.getResult().forEach(a -> | ||||
|             { | ||||
| //                a.getFaces() 存储时候进行拆分 | ||||
|                 if (!UtilValidate.isEmpty(a.getFaces()) && a.getFaces().size() > 0) { | ||||
|                     ApiFaceVO apiFaceVO = a.getFaces().get(0); | ||||
|                     try { | ||||
|                         if (redisUtils.exists(RedisKeys.getCameraSize(a.getCameraId()))) { | ||||
|                             BgImageSize bgImageSize = gson.fromJson(redisUtils.get(RedisKeys.getCameraSize(a.getCameraId())).toString(), BgImageSize.class); | ||||
|                             PositionVO positionVo = Base64ImageUtils.deelPostion(apiFaceVO.getFaceRect(), bgImageSize.getBgWidth(), bgImageSize.getBgHeight()); | ||||
|                             positionVo.setBgHeight(bgImageSize.getBgHeight()); | ||||
|                             positionVo.setBgWidth(bgImageSize.getBgWidth()); | ||||
|                             apiFaceVO.setFaceRect(positionVo); | ||||
|                         } else { | ||||
|                             BufferedImage bufferedImage = Base64ImageUtils.urlToBufferImage(new URL(a.getFaceBgUrl())); | ||||
|                             PositionVO positionVo = Base64ImageUtils.deelPostion(apiFaceVO.getFaceRect(), bufferedImage.getWidth(), bufferedImage.getHeight()); | ||||
|                             positionVo.setBgHeight(bufferedImage.getHeight()); | ||||
|                             positionVo.setBgWidth(bufferedImage.getWidth()); | ||||
|                             apiFaceVO.setFaceRect(positionVo); | ||||
|                             redisUtils.set(RedisKeys.getCameraSize(a.getCameraId()), gson.toJson(new BgImageSize(a.getCameraId(), bufferedImage.getWidth(), bufferedImage.getHeight()))); | ||||
|                             bufferedImage = null; | ||||
|                         } | ||||
|                     } catch (MalformedURLException e1) { | ||||
|                     } | ||||
| 
 | ||||
| 
 | ||||
|                     WarningPageVO warningPageVO = new WarningPageVO(); | ||||
|                     //根据任务区查询3 | ||||
|                     //测试后期需要删除 TODO | ||||
| //                    a.setTaskId("1204968766411169794"); | ||||
|                     QueryWrapper<ControlTask> queryWrapper = new QueryWrapper<>(); | ||||
|                     ControlTask controlTask = new ControlTask(); | ||||
|                     controlTask.setTaskNo(a.getTaskId()); | ||||
|                     queryWrapper.setEntity(controlTask); | ||||
|                     List<ControlTask> controlTaskList = iControlTaskService.getBaseMapper().selectList(queryWrapper); | ||||
|                     warningPageVO.setTaskId(a.getTaskId()); | ||||
|                     if (!UtilValidate.isEmpty(controlTaskList) && controlTaskList.size() >= 1) { | ||||
|                         controlTask = controlTaskList.get(0); | ||||
|                         warningPageVO.setTaskName(controlTask.getTaskName()); | ||||
| //                        warningPageVO.setTaskType(ContralEnums.getTypeByValue(Integer.parseInt(controlTask.getDisposalType())).getMessage()); | ||||
|                         warningPageVO.setTaskType(controlTask.getDisposalType()); | ||||
|                     } else { | ||||
|                         warningPageVO.setTaskName("任务已删除"); | ||||
|                         warningPageVO.setTaskType(""); | ||||
|                     } | ||||
|                     //基本展示信息4-4 | ||||
|                     warningPageVO.setBgImg(a.getFaceBgUrl()); | ||||
| 
 | ||||
|                     if (!UtilValidate.isEmpty(apiFaceVO.getCompare()) && apiFaceVO.getCompare().size() > 0) { | ||||
|                         ComparisonVO comparisonVO = apiFaceVO.getCompare().get(0); | ||||
|                         //库名称和库id0-2 | ||||
|                         FaceLibrary faceLibrary = iFaceLibraryService.getBaseMapper().selectById(comparisonVO.getLibraryId()); | ||||
|                         warningPageVO.setLibId(comparisonVO.getLibraryId()); | ||||
|                         if (!UtilValidate.isEmpty(faceLibrary)) { | ||||
|                             warningPageVO.setLibName(faceLibrary.getFactoryName()); | ||||
|                         } else { | ||||
|                             warningPageVO.setLibName(comparisonVO.getLibraryId()); | ||||
|                         } | ||||
|                         warningPageVO.setScore(comparisonVO.getHitSimilarity()); | ||||
|                         //查询人员信息 5-5 | ||||
| //                        comparisonVO.setComparisonFaceId("1204598824872067073"); | ||||
|                         Portrait portrait = iPortraitService.getById(comparisonVO.getComparisonFaceId()); | ||||
|                         if (!UtilValidate.isEmpty(portrait)) { | ||||
|                             if (UtilValidate.isNotEmpty(portrait.getName())) { | ||||
|                                 warningPageVO.setName(portrait.getName()); | ||||
|                             } | ||||
|                             if (UtilValidate.isNotEmpty(portrait.getBirthDate())) { | ||||
|                                 warningPageVO.setAge(DateUtils.getAge(portrait.getBirthDate())); | ||||
|                             } | ||||
|                             if (UtilValidate.isNotEmpty(portrait.getUrl())) { | ||||
|                                 warningPageVO.setFaceUrl(portrait.getUrl()); | ||||
|                             } | ||||
|                             if (UtilValidate.isNotEmpty(portrait.getSex())) { | ||||
|                                 warningPageVO.setSex(SEXEnums.getTypeByValue(portrait.getSex().toString()).name); | ||||
|                             } | ||||
|                             if (UtilValidate.isNotEmpty(portrait.getIdCard())) { | ||||
|                                 warningPageVO.setIdCard(portrait.getIdCard()); | ||||
|                             } | ||||
|                         } | ||||
|                     } else { | ||||
|                         warningPageVO.setScore(0.0); | ||||
|                     } | ||||
|                     warningPageVO.setPositionVO(apiFaceVO.getFaceRect()); | ||||
|                     warningPageVO.setTime(a.getDate()); | ||||
|                     //查询摄像头信息2-2 | ||||
|                     if (!a.getCameraId().toString().equals("0")) { | ||||
|                         FaceCameraInfo faceCameraInfo = faceCameraService.findById(new Long(a.getCameraId())); | ||||
|                         String cameraId = a.getCameraId(); | ||||
|                         warningPageVO.setCameraId(cameraId); | ||||
|                         warningPageVO.setCameraRegion((!UtilValidate.isEmpty(faceCameraInfo) ? faceCameraInfo.getCameraName() : cameraId)); | ||||
|                     } | ||||
|                     ararmList.add(warningPageVO); | ||||
|                 } | ||||
|             }); | ||||
|             Page pages = new Page<>(); | ||||
|             pages.setRecords(ararmList); | ||||
|             pages.setTotal(wvo.getPage().getTotal()); | ||||
|             wvo = null; | ||||
|             warningVO = null; | ||||
| //            System.out.println("耗时:"+(System.currentTimeMillis()-time)); | ||||
|             return successResult(pages); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|             return failResult("查询异常:" + e.getMessage()); | ||||
|         } | ||||
| //        queryWrapper.orderByDesc("time"); | ||||
|         Page <FaceInformation>pages = new Page<>(); | ||||
|         pages.setCurrent(apiAlarmVO.getPage().getPageNo()); | ||||
|         pages.setSize(apiAlarmVO.getPage().getPageSize()); | ||||
|         IPage<FaceInformation> faceInformations = faceInformationMapper.selectPage(pages,queryWrapper); | ||||
|         System.out.println(faceInformations.getRecords()); | ||||
|         Integer faceInformationsNumber = 0; | ||||
|         faceInformationsNumber = faceInformationMapper.selectCount(queryWrapper); | ||||
|         pages.setRecords(faceInformations.getRecords()); | ||||
|         pages.setTotal(faceInformationsNumber); | ||||
|         //System.out.println(pages); | ||||
|         return successResult(pages); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     @ApiOperation(value = "获取全部布控任务中的摄像头信息和最近一条预警信息") | ||||
|     @GetMapping(value = "/getCameraWarningByTask") | ||||
|     public CommonResult findCameraByTask() { | ||||
|  | ||||
| @ -14,6 +14,7 @@ import com.dkha.common.http.HttpUtil; | ||||
| import com.dkha.common.modules.vo.ReturnVO; | ||||
| import com.dkha.common.util.JsonUtil; | ||||
| import com.dkha.common.util.UtilValidate; | ||||
| import com.dkha.server.modules.entities.FaceInformation; | ||||
| import com.dkha.server.services.ICompareService; | ||||
| import com.dkha.server.services.IFileService; | ||||
| import com.fasterxml.jackson.core.type.TypeReference; | ||||
| @ -144,10 +145,10 @@ public class WebSocketContral { | ||||
|             //System.out.println(message); | ||||
|             if(returnVO.getMessage().equals("okplus")){ | ||||
|                     // List<FaceResEntity> facelist =gson.fromJson(gson.toJson(returnVO.getData()),List<FaceResEntity>.class); | ||||
|                     List<CompareFaceList> oncompareFaceLists = JsonUtil.string2Obj(JsonUtil.obj2String(returnVO.getData()), new TypeReference<List<CompareFaceList>>() {}); | ||||
|                     List<FaceInformation> faceInformations = JsonUtil.string2Obj(JsonUtil.obj2String(returnVO.getData()), new TypeReference<List<FaceInformation>>() {}); | ||||
|                     long end =System.currentTimeMillis(); | ||||
|                     System.out.println("接收数据耗时"+ (end - start)+ "ms"); | ||||
|                    faceController1.sendWebsocket2(oncompareFaceLists); | ||||
|                    faceController1.sendWebsocket2(faceInformations); | ||||
| 
 | ||||
|             } | ||||
|             else if(returnVO.getMessage().equals("okpro")) { | ||||
|  | ||||
| @ -0,0 +1,26 @@ | ||||
| package com.dkha.server.mappers; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.core.conditions.Wrapper; | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.baomidou.mybatisplus.core.toolkit.Constants; | ||||
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | ||||
| import com.dkha.server.modules.entities.FaceInformation; | ||||
| import com.dkha.server.modules.entities.FaceLibrary; | ||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||
| import org.apache.ibatis.annotations.Mapper; | ||||
| import org.apache.ibatis.annotations.Param; | ||||
| 
 | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  * <p> | ||||
|  * 库表 Mapper 接口 | ||||
|  * </p> | ||||
|  * | ||||
|  * @author Spring | ||||
|  * @since 2019-12-09 | ||||
|  */ | ||||
| @Mapper | ||||
| public interface FaceInformationMapper extends BaseMapper<FaceInformation>  { | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,52 @@ | ||||
| package com.dkha.server.modules.entities; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.annotation.TableId; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import java.io.Serializable; | ||||
| import java.sql.Time; | ||||
| import java.util.Date; | ||||
| 
 | ||||
| import com.fasterxml.jackson.annotation.JsonFormat; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.experimental.Accessors; | ||||
| 
 | ||||
| /** | ||||
|  * <p> | ||||
|  * 人像预警表 | ||||
|  * </p> | ||||
|  * | ||||
|  * @author Spring | ||||
|  * @since 2019-12-09 | ||||
|  */ | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = false) | ||||
| @Accessors(chain = true) | ||||
| @ApiModel(value="face_information对象", description="人像预警表") | ||||
| public class FaceInformation implements Serializable { | ||||
|     private static final long serialVersionUID = 1L; | ||||
| 
 | ||||
|     @ApiModelProperty(value = "时间") | ||||
|     private String time; | ||||
|     @ApiModelProperty(value = "视频解帧大图地址") | ||||
|     private String jzphoto; | ||||
|     @ApiModelProperty(value = "原始待人脸地址") | ||||
|     private String cphoto; | ||||
|     @ApiModelProperty(value = "比对最相似的人脸地址") | ||||
|     private String rphoto; | ||||
|     @ApiModelProperty(value = "比对相似度") | ||||
|     private double xsd; | ||||
|     @ApiModelProperty(value = "姓名") | ||||
|     private String name; | ||||
|     @ApiModelProperty(value = "库名称") | ||||
|     @TableField("libname") | ||||
|     private String libName; | ||||
|     @ApiModelProperty(value = "摄像头id") | ||||
|     @TableField("cameraId") | ||||
|     private String cameraId; | ||||
|     @ApiModelProperty(value = "摄像头地址") | ||||
|     @TableField("rtspUrl") | ||||
|     private String rtspUrl; | ||||
| } | ||||
| @ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||
| import com.dkha.common.enums.*; | ||||
| import com.dkha.common.fileupload.MinioUtil; | ||||
| import com.dkha.common.http.HttpUtil; | ||||
| import com.dkha.common.modules.vo.ReturnVO; | ||||
| import com.dkha.common.modules.vo.control.ControlTaskVedioVO; | ||||
| import com.dkha.common.modules.vo.control.TaskControlVO; | ||||
| import com.dkha.common.modules.vo.control.VideoControlVo; | ||||
| @ -145,7 +146,11 @@ public class ControlTaskServiceImpl extends ServiceImpl<ControlTaskMapper, Contr | ||||
|             for (String camerid : listcamera) { | ||||
|                 ControlBayonetMid controlBayonetMid = new ControlBayonetMid(); | ||||
|                 FaceCameraEntity faceCamera = faceCameraService.getById(camerid); | ||||
|                 System.out.println(faceCamera.getStatus()); | ||||
| //                System.out.println("输出摄像头状态"); | ||||
| //                System.out.println(faceCamera.getStatus()); | ||||
| //                System.out.println("输出摄像头地址"); | ||||
| //                System.out.println(faceCamera.getRtspUrl()); | ||||
| 
 | ||||
|                 if (faceCamera.getStatus().equals(YNEnums.NO.code)){ | ||||
|                     faceCameraServiceImpl.status(faceCamera.getIdFaceCamera(),true); | ||||
|                 } | ||||
| @ -189,6 +194,14 @@ public class ControlTaskServiceImpl extends ServiceImpl<ControlTaskMapper, Contr | ||||
|             ctvo.setThreshold(taskvo.getControlThreshold()); | ||||
|             ctvo.setCameraId(camerList); | ||||
|             ctvo.setLibraryId(taskvo.getLibIds()); | ||||
|             List<String> listcamera1 = taskvo.getListcamera(); | ||||
|             String s = listcamera1.get(0); | ||||
|             System.out.println("当前添加的摄像头id"); | ||||
|             System.out.println(s); | ||||
|             FaceCameraEntity faceCameraEntity = faceCameraService.getById(s); | ||||
|             String rtspUrl = faceCameraEntity.getRtspUrl(); | ||||
|             System.out.println(rtspUrl); | ||||
| 
 | ||||
| //            System.out.println("设置编码为:9249924"); | ||||
| //            Map<String,Object> resultMap = ( Map<String,Object>) httpUtil.post(link+ApiUrlEnum.TASK_POSTURL.getUrl(), ctvo,  Map.class); | ||||
| //            if(resultMap!=null){ | ||||
| @ -213,32 +226,46 @@ public class ControlTaskServiceImpl extends ServiceImpl<ControlTaskMapper, Contr | ||||
|             String testNostring = testNo.toString(); | ||||
|             System.out.println("设置编码为"+testNostring); | ||||
|             strTaskNo = testNostring; | ||||
| 
 | ||||
|             ControlTask controlTask = new ControlTask(); | ||||
|             controlTask.setTaskNo(strTaskNo); | ||||
|             BeanUtils.copyProperties(taskvo, controlTask); | ||||
|             //设置任务区域 | ||||
|             controlTask.setControlRegion(this.getCameraRegionStringByCameraList(cameraRegion)); | ||||
|             controlTask.setIsValid(TaskStatusEnum.RUN.code); | ||||
|             //保存任务 | ||||
|             if (this.save(controlTask)) { | ||||
|                 for (ControlBayonetMid cbm : listBayone) { | ||||
|                     //设置任务编号 | ||||
|                     cbm.setIdControlTask(controlTask.getIdControlTask()); | ||||
|             System.out.println("开始添加任务"); | ||||
|             String testUrl = "http://192.168.1.196:5001/addTask/"; | ||||
|             System.out.println(strTaskNo); | ||||
|             ReturnVO returnVO = (ReturnVO)httpUtil.get(testUrl+"?strtaskno="+strTaskNo+"&rtspurl="+rtspUrl,null, ReturnVO.class); | ||||
|             System.out.println("输出新建结果"); | ||||
|             System.out.println(returnVO); | ||||
|             if(returnVO.getCode().equals(ErrEnum.OK.getCode())){ | ||||
|                 System.out.println("任务远程保存成功"); | ||||
|                 ControlTask controlTask = new ControlTask(); | ||||
|                 controlTask.setTaskNo(strTaskNo); | ||||
|                 System.out.println("再次输出"); | ||||
|                 System.out.println(strTaskNo); | ||||
|                 BeanUtils.copyProperties(taskvo, controlTask); | ||||
|                 //设置任务区域 | ||||
|                 controlTask.setControlRegion(this.getCameraRegionStringByCameraList(cameraRegion)); | ||||
|                 controlTask.setIsValid(TaskStatusEnum.RUN.code); | ||||
|                 //保存任务 | ||||
|                 if (this.save(controlTask)) { | ||||
|                     for (ControlBayonetMid cbm : listBayone) { | ||||
|                         //设置任务编号 | ||||
|                         cbm.setIdControlTask(controlTask.getIdControlTask()); | ||||
|                     } | ||||
|                     for (ControlLibraryMid clm : listbibray) { | ||||
|                         //设置任务编号 | ||||
|                         clm.setIdControlTask(controlTask.getIdControlTask()); | ||||
|                     } | ||||
|                     //批量 保存摄像头列表 | ||||
|                     controlBayonetMidService.saveBatch(listBayone); | ||||
|                     //批量 保存库ID列表 | ||||
|                     controlLibraryMidService.saveBatch(listbibray); | ||||
|                     return new CommonResult(controlTask.getTaskNo(), SystemCode.HANDLER_SUCCESS.code, SystemCode.HANDLER_SUCCESS.des); | ||||
|                 } else { | ||||
|                     log.error("任务保存:{}", controlTask.getTaskNo()); | ||||
|                     return new CommonResult(null, SystemCode.INTERNAL_PROGRAM_ERROR.code, "保存任务信息失败!"); | ||||
|                 } | ||||
|                 for (ControlLibraryMid clm : listbibray) { | ||||
|                     //设置任务编号 | ||||
|                     clm.setIdControlTask(controlTask.getIdControlTask()); | ||||
|                 } | ||||
|                 //批量 保存摄像头列表 | ||||
|                 controlBayonetMidService.saveBatch(listBayone); | ||||
|                 //批量 保存库ID列表 | ||||
|                 controlLibraryMidService.saveBatch(listbibray); | ||||
|                 return new CommonResult(controlTask.getTaskNo(), SystemCode.HANDLER_SUCCESS.code, SystemCode.HANDLER_SUCCESS.des); | ||||
|             } else { | ||||
|                 log.error("任务保存:{}", controlTask.getTaskNo()); | ||||
|             }else { | ||||
|                 System.out.println("远程任务保存失败"); | ||||
|                 return new CommonResult(null, SystemCode.INTERNAL_PROGRAM_ERROR.code, "保存任务信息失败!"); | ||||
|             } | ||||
| 
 | ||||
|         } catch (Exception ex) { | ||||
|             log.error("保存任务异常:{}", ex.getMessage()); | ||||
|             return new CommonResult(null, SystemCode.INTERNAL_PROGRAM_ERROR.code, "保存任务信息失败!"+ex.getMessage()); | ||||
| @ -257,6 +284,7 @@ public class ControlTaskServiceImpl extends ServiceImpl<ControlTaskMapper, Contr | ||||
|                 controlOne.setTaskName(controlTask.getTaskName()); | ||||
|                 controlOne.setDisposalType(controlTask.getDisposalType()); | ||||
|                 controlOne.setRemarks(controlTask.getRemarks()); | ||||
|                 controlOne.setControlThreshold(controlTask.getControlThreshold()); | ||||
|                 this.updateById(controlOne); | ||||
|             } catch (Exception ex) { | ||||
|                 log.error("修改任务异常:{}", ex.getMessage()); | ||||
| @ -275,7 +303,7 @@ public class ControlTaskServiceImpl extends ServiceImpl<ControlTaskMapper, Contr | ||||
|             return new CommonResult(null, SystemCode.ILLEGAL_ARGUMENT_EXCEPTION.code, "参数异常,非法的任务ID!"); | ||||
|         } else { | ||||
|             try { | ||||
|                 boolean isDeleteApi = true; | ||||
|                 boolean isDeleteApi = false; | ||||
|                 //1. 调用平台API接口 | ||||
| //                Map<String, Object> resultMap = (Map<String, Object>) httpUtil.delete(link + ApiUrlEnum.TASK_POSTURL.getUrl() + "/" + controlOne.getTaskNo(), Map.class); | ||||
| //                if (resultMap != null) { | ||||
| @ -285,6 +313,17 @@ public class ControlTaskServiceImpl extends ServiceImpl<ControlTaskMapper, Contr | ||||
| //                } else { | ||||
| //                    return new CommonResult(null, SystemCode.INTERNAL_PROGRAM_ERROR.code, "远程API删除任务信息失败!"); | ||||
| //                } | ||||
|                 System.out.println("开始删除任务"); | ||||
|                 String testUrl = "http://192.168.1.196:5001/delTask/"; | ||||
|                 ReturnVO returnVO = (ReturnVO)httpUtil.get(testUrl+"?strtaskno="+controlOne.getTaskNo(),null, ReturnVO.class); | ||||
|                 System.out.println("输出删除结果"); | ||||
|                 System.out.println(returnVO); | ||||
|                 if(returnVO.getCode().equals(ErrEnum.OK.getCode())){ | ||||
|                     System.out.println("任务远程删除成功"); | ||||
|                     isDeleteApi = true; | ||||
|                 }else { | ||||
|                     System.out.println("远程任务删除失败"); | ||||
|                 } | ||||
|                 if (isDeleteApi) { | ||||
|                     List<FaceCameraEntity> listfaceCamera = controlTaskMapper.getCameraByTaskID(taskID); | ||||
|                     for (FaceCameraEntity faceCameraEntity : listfaceCamera){ | ||||
| @ -389,7 +428,7 @@ public class ControlTaskServiceImpl extends ServiceImpl<ControlTaskMapper, Contr | ||||
|         if (controlOne == null) { | ||||
|             return new CommonResult(null, SystemCode.ILLEGAL_ARGUMENT_EXCEPTION.code, "参数异常,非法的任务ID!"); | ||||
|         } else { | ||||
|             boolean isDeleteApi = true; | ||||
|             boolean isDeleteApi = false; | ||||
|             try{ | ||||
|                 //1. 调用平台API接口 | ||||
| //                Map<String, Object> resultMap = (Map<String, Object>) httpUtil.delete(link + ApiUrlEnum.TASK_POSTURL.getUrl() + "/" + controlOne.getTaskNo(), Map.class); | ||||
| @ -400,6 +439,20 @@ public class ControlTaskServiceImpl extends ServiceImpl<ControlTaskMapper, Contr | ||||
| //                } else { | ||||
| //                    return new CommonResult(null, SystemCode.INTERNAL_PROGRAM_ERROR.code, "远程API删除任务信息失败!"); | ||||
| //                } | ||||
|                 System.out.println("开始暂停任务"); | ||||
|                 String testUrl = "http://192.168.1.196:5001/stopTask/"; | ||||
|                 System.out.println(taskID); | ||||
|                 System.out.println("开始暂停任务2"); | ||||
|                 System.out.println(controlOne.getTaskNo()); | ||||
|                 ReturnVO returnVO = (ReturnVO)httpUtil.get(testUrl+"?strtaskno="+controlOne.getTaskNo(),null, ReturnVO.class); | ||||
|                 System.out.println("输出暂停结果"); | ||||
|                 System.out.println(returnVO); | ||||
|                 if(returnVO.getCode().equals(ErrEnum.OK.getCode())){ | ||||
|                     System.out.println("任务远程暂停成功"); | ||||
|                     isDeleteApi = true; | ||||
|                 }else { | ||||
|                     System.out.println("远程任务暂停失败"); | ||||
|                 } | ||||
|                 if (isDeleteApi) { | ||||
|                     List<FaceCameraEntity> listfaceCamera = controlTaskMapper.getCameraByTaskID(taskID); | ||||
|                     for (FaceCameraEntity faceCameraEntity : listfaceCamera){ | ||||
| @ -476,6 +529,22 @@ public class ControlTaskServiceImpl extends ServiceImpl<ControlTaskMapper, Contr | ||||
|             //恢复新建时把原来的NO重新发送过去 | ||||
|             ctvo.setTaskId(controlOne.getTaskNo()); | ||||
|             try { | ||||
|                 System.out.println("开始运行任务"); | ||||
|                 String testUrl = "http://192.168.1.196:5001/startTask/"; | ||||
|                 System.out.println(taskID); | ||||
|                 ReturnVO returnVO = (ReturnVO)httpUtil.get(testUrl+"?strtaskno="+controlOne.getTaskNo(),null, ReturnVO.class); | ||||
|                 System.out.println("输出运行结果"); | ||||
|                 System.out.println(returnVO); | ||||
|                 if(returnVO.getCode().equals(ErrEnum.OK.getCode())){ | ||||
|                     System.out.println("任务远程恢复成功"); | ||||
|                     //3. 更新本地库任务的状态为RUN状态 | ||||
|                     String strTaskNo = controlOne.getTaskNo(); | ||||
|                     controlOne.setTaskNo(strTaskNo); | ||||
|                     controlOne.setIsValid(TaskStatusEnum.RUN.code); | ||||
|                     this.updateById(controlOne); | ||||
|                 }else { | ||||
|                     System.out.println("远程任务恢复失败"); | ||||
|                 } | ||||
|                 //2. 发送任务到API层 | ||||
|                 // 调用平台API接口 | ||||
| //                String strTaskNo = "000000"; | ||||
| @ -494,11 +563,7 @@ public class ControlTaskServiceImpl extends ServiceImpl<ControlTaskMapper, Contr | ||||
| //                } else { | ||||
| //                    return new CommonResult(null, SystemCode.INTERNAL_PROGRAM_ERROR.code, "远程API保存任务信息失败!"); | ||||
| //                } | ||||
|                 //3. 更新本地库任务的状态为RUN状态 | ||||
|                 String strTaskNo = controlOne.getTaskNo(); | ||||
|                 controlOne.setTaskNo(strTaskNo); | ||||
|                 controlOne.setIsValid(TaskStatusEnum.RUN.code); | ||||
|                 this.updateById(controlOne); | ||||
| 
 | ||||
|             }catch (Exception ex){ | ||||
|                 if(log.isErrorEnabled()){ | ||||
|                     log.error("恢复任务异常{}:{}",controlOne.getTaskName(),ex.getMessage()); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user