From ded8ee64d7786d8ea191dba359b57f6441f1680e Mon Sep 17 00:00:00 2001 From: lishiwei <3230787218@qq.com> Date: Thu, 14 May 2026 17:22:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AF=8F=E6=97=A500:25=E4=BA=8C=E7=BA=A7?= =?UTF-8?q?=E9=97=A8=E7=A6=81=E8=BD=A6=E8=BE=86=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../primeport/plan/TwoLevelCarXxlJob.java | 31 +++++++++++++++++ .../primeport/plan/mjDevice/TwoCarUtil.java | 34 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/plan/TwoLevelCarXxlJob.java diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/TwoLevelCarXxlJob.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/TwoLevelCarXxlJob.java new file mode 100644 index 0000000..c7f82bc --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/TwoLevelCarXxlJob.java @@ -0,0 +1,31 @@ +package com.zcloud.primeport.plan; + +import com.jjb.saas.framework.job.Job; +import com.jjb.saas.framework.job.annotation.JobRegister; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.annotation.XxlJob; +import com.zcloud.primeport.plan.mjDevice.TwoCarUtil; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component +public class TwoLevelCarXxlJob implements Job { + + @Resource + private TwoCarUtil twoCarUtil; + + @Override + @JobRegister(cron = "0 25 0 * * ?", jobDesc = "闭区定时任务,每日00:25进行当日二级门禁可进门车辆推送", triggerStatus = 1) + @XxlJob("com.zcloud.plan.TwoLevelCarDockXxlJob") + public ReturnT execute(String param) { + try { + // 二级门禁车辆定时对接(含同步一级门禁) + twoCarUtil.scheduledCarCompany(); + } catch (Exception e) { + e.printStackTrace(); + return ReturnT.FAIL; + } + return ReturnT.SUCCESS; + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoCarUtil.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoCarUtil.java index 7566537..84dd309 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoCarUtil.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoCarUtil.java @@ -48,6 +48,40 @@ public class TwoCarUtil { private static Integer dockFlag = 0; private static String prefix; + /* + * 定时任务对接二级口门车辆 + * 单个异常跳过不影响其他车辆同步 + * */ + public void scheduledCarCompany() { + if (!dockFlag.equals(1)) return; + // 所有今日有效的分公司/相关方二级口门车(car_belong_type IN 1,2,3,5) + List fgsCarList = closedAreaCarApplyRepository.getFgsCarToDay(null); + for (TwoLevelCar twoLevelCar : fgsCarList) { + try { + HKDeviceUtil.saveOrUpdCar(twoLevelCar.getLicenceNo(), 0); + HKDeviceUtil.vehicleTopUp(twoLevelCar.getLicenceNo(), 0, + twoLevelCar.getHkIndexCode(), twoLevelCar.getKhParkSysCode(), + DateUtil.date2Str(new Date(), "yyyy-MM-dd"), + DateUtil.date2Str(new Date(), "yyyy-MM-dd")); + } catch (Exception e) { + System.err.println("二级门禁分公司车辆同步失败, licenceNo=" + twoLevelCar.getLicenceNo() + ", 原因: " + e.getMessage()); + } + } + // 所有今日有效的临时二级口门车(car_belong_type = 4) + List tmpCarList = closedAreaCarApplyRepository.dockTmpCarLevelTwo(null); + for (TwoLevelCar twoLevelCar : tmpCarList) { + try { + HKDeviceUtil.saveOrUpdCar(twoLevelCar.getLicenceNo(), 0); + HKDeviceUtil.vehicleTopUp(twoLevelCar.getLicenceNo(), 0, + twoLevelCar.getHkIndexCode(), twoLevelCar.getKhParkSysCode(), + DateUtil.date2Str(new Date(), "yyyy-MM-dd"), + DateUtil.date2Str(new Date(), "yyyy-MM-dd")); + } catch (Exception e) { + System.err.println("二级门禁临时车辆同步失败, licenceNo=" + twoLevelCar.getLicenceNo() + ", 原因: " + e.getMessage()); + } + } + } + public static void main(String[] args) throws Exception { }