diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 8b59b1238..c01ffd208 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -761,85 +761,6 @@ public class HikvisionCall { } } - /** - * 测试查询组织 - * - * @return - */ - @GetMapping("/getOrg") - public Result getOrg() throws Exception { - Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947")); - getOrg(project); - return null; - } - - /** - * 测试查询停车场 - * - * @return - */ - @GetMapping("/getPark") - public Result getParkList() throws Exception { - Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947")); - JSONArray parkList = getParkList(project); - return null; - } - - /** - * 查询车辆列表v2 - * - * @return - */ - @GetMapping("/getCarList") - public Result getCarList() throws Exception { - Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947")); - getCarList(project); - return null; - } - - /** - * 测试获取图片 - * - * @return - */ - @GetMapping("/getPic") - public Result getPic() throws Exception { - Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947")); - String svrIndex = null; - String platePicUrl = null; - getHikvisionEventsPicture(new HikvisionEventsPictureRq(svrIndex, platePicUrl), project.getArtemisConfigHost(), project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); - return null; - } - - /** - * 测试获取人员详情 - * - * @return - */ - @GetMapping("/getWorkInfo") - public Result getWorkInfo() throws Exception { - Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947")); - String svrIndex = null; - String platePicUrl = null; - WorkerInfo workerInfo = workerInfoMapper.selectById(1765673550491725825L); - getWorkerInfoByPersonId(workerInfo, project); - return null; - } - - /** - * 查询车辆分类 - * - * @return - */ - @GetMapping("/categorySearch") - public Result categorySearch() throws Exception { - Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947")); - String svrIndex = null; - String platePicUrl = null; - categorySearch(project); - return null; - } - /** * 获取车辆颜色 * @@ -1700,9 +1621,9 @@ public class HikvisionCall { private JSONObject searchCarInfoByCarNumberFromHttp(String carNumber, Project project) throws Exception { long total = 0; JSONObject o1 = null; - int pageNo = 1; + int pageNo = 0; do { - JSONObject jo = getCarInfoListFromHttp(carNumber, project, pageNo++); + JSONObject jo = getCarInfoListFromHttp(carNumber, project, ++pageNo); if (HikvisionUtil.isSuccess(jo)) { JSONObject dataJo = HikvisionUtil.getJSONObjectData(jo); total = dataJo.getInteger("total"); @@ -1717,7 +1638,7 @@ public class HikvisionCall { } else { return null; } - } while (o1 == null && total != 0L); + } while (o1 == null && total > pageNo * 1000L); return o1; } @@ -1782,14 +1703,11 @@ public class HikvisionCall { } private HikvisionReservationCarInfo getHikvisionReservationCarInfoObj(CarInfo carInfo, Project project) throws Exception { - JSONArray parkList = getParkList(project); + String projectParkCode = getProjectParkCode(project); HikvisionReservationCarInfo hikvisionReservationCarInfo = new HikvisionReservationCarInfo(); - if (parkList != null && parkList.size() > 0) { - JSONObject jo = parkList.getJSONObject(0); - String parkIndexCode = jo.getString("parkIndexCode"); - hikvisionReservationCarInfo.setParkSyscode(parkIndexCode); - hikvisionReservationCarInfo.setPlateNo(carInfo.getCarNumber()); - } + String parkIndexCode = projectParkCode; + hikvisionReservationCarInfo.setParkSyscode(parkIndexCode); + hikvisionReservationCarInfo.setPlateNo(carInfo.getCarNumber()); //hikvisionReservationCarInfo.setResvState(); //hikvisionReservationCarInfo.setResvWay(); //hikvisionReservationCarInfo.setAllowTimes(); diff --git a/src/main/java/com/zhgd/xmgl/modules/car/entity/CarInfo.java b/src/main/java/com/zhgd/xmgl/modules/car/entity/CarInfo.java index 01f2b88f7..b6eb97662 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/entity/CarInfo.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/entity/CarInfo.java @@ -32,7 +32,7 @@ public class CarInfo implements Serializable { * 项目车辆信息表 */ - @TableId(type = IdType.AUTO) + @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "项目车辆信息表") private java.lang.Long id; /** diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java index 8c3d1bb1c..f4ee56322 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java @@ -93,7 +93,7 @@ public class CarInfoServiceImpl extends ServiceImpl impl if (Objects.equals(carInfo.getCarModuleType(), 1)) { throw new OpenAlertException("该车辆已添加,请勿重复添加!"); } - addCarInfoForApprovalFlow(c); + addCarInfoForApprovalFlowIf(c); Date now = new Date(); if (DateUtil.compare(carInfo.getReserveStartTime(), now) < 0 && DateUtil.compare(carInfo.getReserveEndTime(), now) > 0) { log.info("车辆在有效期内,不需要更新,车牌号:{}", c.getCarNumber()); @@ -106,13 +106,14 @@ public class CarInfoServiceImpl extends ServiceImpl impl deleteOrUpdateCar(project, carInfo); } else { carInfoMapper.insert(c); + addCarInfoForApprovalFlowIf(c); //同步海康 asyncHikvision.addCarInfoForHikvision(c); } } private void checkTime(CarInfo c) { - if (!Objects.equals(c.getCarModuleType(), 1) && DateUtil.compare(c.getReserveEndTime(), new Date()) < 0) { + if (isReservationType(c) && DateUtil.compare(c.getReserveEndTime(), new Date()) < 0) { throw new OpenAlertException("预约时间已过期"); } } @@ -122,10 +123,12 @@ public class CarInfoServiceImpl extends ServiceImpl impl * * @param c */ - private void addCarInfoForApprovalFlow(CarInfo c) { - CarInfoApprovalFlow flow = new CarInfoApprovalFlow(); - BeanUtil.copyProperties(c, flow); - carInfoApprovalFlowMapper.insert(flow); + private void addCarInfoForApprovalFlowIf(CarInfo c) { + if (isReservationType(c)) { + CarInfoApprovalFlow flow = new CarInfoApprovalFlow(); + BeanUtil.copyProperties(c, flow); + carInfoApprovalFlowMapper.insert(flow); + } } /** @@ -177,10 +180,23 @@ public class CarInfoServiceImpl extends ServiceImpl impl .set(CarInfo::getSendSuccessStatus, null) .eq(CarInfo::getId, carInfo.getId())); + if (isReservationType(old)) { + boolean notEqTime = DateUtil.compare(carInfo.getReserveStartTime(), old.getReserveStartTime()) != 0 || DateUtil.compare(carInfo.getReserveEndTime(), old.getReserveEndTime()) != 0; + if (notEqTime) { + CarInfoApprovalFlow flow = new CarInfoApprovalFlow(); + BeanUtil.copyProperties(carInfo, flow); + carInfoApprovalFlowMapper.updateById(flow); + } + } + //同步海康 asyncHikvision.editCarInfoForHikvision(carInfo, old); } + private boolean isReservationType(CarInfo old) { + return !Objects.equals(old.getCarModuleType(), 1); + } + @Override public void deleteProjectCarData(String projectSn) { //删除车辆黑白名单 @@ -249,7 +265,6 @@ public class CarInfoServiceImpl extends ServiceImpl impl if (Objects.equals(carInfo.getCarModuleType(), 1)) { deleteCar(carInfo); } else { - carInfoMapper.deleteById(carInfo.getId()); deleteFromApprovalFlowIf(carInfo); Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getSyncHikvision, 1)); deleteOrUpdateCar(project, carInfo); @@ -263,7 +278,7 @@ public class CarInfoServiceImpl extends ServiceImpl impl } private void deleteFromApprovalFlowIf(CarInfo carInfo) { - if (!Objects.equals(carInfo.getCarModuleType(), 1)) { + if (isReservationType(carInfo)) { carInfoApprovalFlowMapper.delete(new LambdaQueryWrapper() .eq(CarInfoApprovalFlow::getReserveStartTime, carInfo.getReserveStartTime()) .eq(CarInfoApprovalFlow::getReserveEndTime, carInfo.getReserveEndTime()) diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/UfaceRecognitionController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/UfaceRecognitionController.java index 129c0a844..117f25951 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/UfaceRecognitionController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/UfaceRecognitionController.java @@ -124,8 +124,8 @@ public class UfaceRecognitionController { //base64可能卡 //param.put("facePicBinaryData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(basePath + "/" + fileUrl))); param.put("facePicUrl", PathUtil.reviseSlash(imageUrlPrefix + "/" + fileUrl)); - //boolean b = hikvisionCall.faceScore(project, param); - boolean b = true; + boolean b = hikvisionCall.faceScore(project, param); + //boolean b = true; if (b) { data.put("checkType", "1"); data.put("message", "成功"); diff --git a/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java b/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java index 595c71dd6..4cd059891 100644 --- a/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java +++ b/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zhgd.xmgl.modules.car.entity.CarInfo; +import com.zhgd.xmgl.modules.car.entity.CarInfoApprovalFlow; import com.zhgd.xmgl.modules.car.mapper.CarInfoApprovalFlowMapper; import com.zhgd.xmgl.modules.car.mapper.CarInfoMapper; import com.zhgd.xmgl.modules.car.service.impl.CarInfoServiceImpl; @@ -38,6 +39,9 @@ public class CarInfoTask { */ @Scheduled(cron = "*/30 * * * * ?") public void deleteOrUpdateExpiredCar() { + //删除过期 + carInfoApprovalFlowMapper.delete(new LambdaQueryWrapper() + .lt(CarInfoApprovalFlow::getReserveEndTime, DateUtil.now())); List projects = projectMapper.selectList(new LambdaQueryWrapper().eq(Project::getSyncHikvision, 1)); for (Project project : projects) { //过期或者未来车