Browse Source

feat: 定时任务调整

zhangying 1 week ago
parent
commit
4aa4d38ae2

+ 4 - 1
h5app/src/views/pages/jobUserInfo/index.vue

@@ -93,6 +93,9 @@ export default defineComponent({
     const getQrcodeVerify = () => {
       qrcodeVerify(qrCodeId.value, openId.value).then(res => {
         qrcodeVerifyResult.value = res;
+        if (!res) {
+          presentAlert("二维码无效或已超出扫码次数,请重新打印二维码!");
+        }
       });
     };
 
@@ -146,7 +149,7 @@ export default defineComponent({
       return;
     }
     if (!qrCodeId.value) {
-      presentAlert("二维码无效或已超出扫码次数");
+      presentAlert("二维码无效或已超出扫码次数,请重新打印二维码!");
       return;
     }
 

+ 90 - 90
src/main/java/com/hz/employmentsite/config/QuartzConfig.java

@@ -1,90 +1,90 @@
-package com.hz.employmentsite.config;
-
-import com.hz.employmentsite.util.CronUtil;
-import org.quartz.*;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class QuartzConfig {
-    private static final String CREDIT_RECORD_TASK_IDENTITY = "Credit_Record_Quartz"; // 刷新企业信用记录任务
-    private static final String COMPANY_SYNC_TASK_IDENTITY = "Company_Sync_Quartz"; // oracle企业信息同步任务
-    private static final String POST_SYNC_TASK_IDENTITY = "Post_Sync_Quartz"; // oracle岗位信息同步任务
-    private static final String JOBUSER_SYNC_TASK_IDENTITY = "JobUser_Sync_Quartz"; // oracle求职人员信息同步任务
-    private static final String JOBHUNT_SYNC_TASK_IDENTITY = "JobHun_Sync_Quartz"; // oracle求职意向
-
-    @Bean
-    public JobDetail CreditRecordQuartzDetail() {
-        return JobBuilder.newJob(CronUtil.class).withIdentity(CREDIT_RECORD_TASK_IDENTITY).storeDurably().build();
-    }
-
-    @Bean
-    public Trigger CreditRecordQuartzTrigger() {
-        // 刷新企业信用记录任务
-        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(0, 5); // 每天0点5分执行
-        return TriggerBuilder.newTrigger().forJob(CreditRecordQuartzDetail())
-                .withIdentity(CREDIT_RECORD_TASK_IDENTITY)
-                .withSchedule(scheduleBuilder)
-                .build();
-    }
-
-    @Bean
-    public JobDetail CompanySyncQuartzDetail() {
-        return JobBuilder.newJob(CronUtil.class).withIdentity(COMPANY_SYNC_TASK_IDENTITY).storeDurably().build();
-    }
-
-    @Bean
-    public Trigger CompanySyncQuartzTrigger() {
-        // oracle企业信息同步任务
-        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(1, 0); // 每天1点执行
-        return TriggerBuilder.newTrigger().forJob(CompanySyncQuartzDetail())
-                .withIdentity(COMPANY_SYNC_TASK_IDENTITY)
-                .withSchedule(scheduleBuilder)
-                .build();
-    }
-
-    @Bean
-    public JobDetail PostSyncQuartzDetail() {
-        return JobBuilder.newJob(CronUtil.class).withIdentity(POST_SYNC_TASK_IDENTITY).storeDurably().build();
-    }
-
-    @Bean
-    public Trigger PostSyncQuartzTrigger() {
-        // oracle岗位信息同步任务
-        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(2, 0); // 每天1点执行
-        return TriggerBuilder.newTrigger().forJob(PostSyncQuartzDetail())
-                .withIdentity(POST_SYNC_TASK_IDENTITY)
-                .withSchedule(scheduleBuilder)
-                .build();
-    }
-
-    @Bean
-    public JobDetail JobUserSyncQuartzDetail() {
-        return JobBuilder.newJob(CronUtil.class).withIdentity(JOBUSER_SYNC_TASK_IDENTITY).storeDurably().build();
-    }
-
-    @Bean
-    public Trigger JobUserSyncQuartzTrigger() {
-        // oracle求职人员信息同步任务
-        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(3, 0); // 每天1点执行
-        return TriggerBuilder.newTrigger().forJob(JobUserSyncQuartzDetail())
-                .withIdentity(JOBUSER_SYNC_TASK_IDENTITY)
-                .withSchedule(scheduleBuilder)
-                .build();
-    }
-
-    @Bean
-    public JobDetail JobHuntSyncQuartzDetail() {
-        return JobBuilder.newJob(CronUtil.class).withIdentity(JOBHUNT_SYNC_TASK_IDENTITY).storeDurably().build();
-    }
-
-    @Bean
-    public Trigger JobHuntSyncQuartzTrigger() {
-        // oracle求职意向信息同步任务
-        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(4, 0); // 每天1点执行
-        return TriggerBuilder.newTrigger().forJob(JobUserSyncQuartzDetail())
-                .withIdentity(JOBHUNT_SYNC_TASK_IDENTITY)
-                .withSchedule(scheduleBuilder)
-                .build();
-    }
-}
+//package com.hz.employmentsite.config;
+//
+//import com.hz.employmentsite.util.CronUtil;
+//import org.quartz.*;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//
+//@Configuration
+//public class QuartzConfig {
+//    private static final String CREDIT_RECORD_TASK_IDENTITY = "Credit_Record_Quartz"; // 刷新企业信用记录任务
+//    private static final String COMPANY_SYNC_TASK_IDENTITY = "Company_Sync_Quartz"; // oracle企业信息同步任务
+//    private static final String POST_SYNC_TASK_IDENTITY = "Post_Sync_Quartz"; // oracle岗位信息同步任务
+//    private static final String JOBUSER_SYNC_TASK_IDENTITY = "JobUser_Sync_Quartz"; // oracle求职人员信息同步任务
+//    private static final String JOBHUNT_SYNC_TASK_IDENTITY = "JobHun_Sync_Quartz"; // oracle求职意向
+//
+//    @Bean
+//    public JobDetail CreditRecordQuartzDetail() {
+//        return JobBuilder.newJob(CronUtil.class).withIdentity(CREDIT_RECORD_TASK_IDENTITY).storeDurably().build();
+//    }
+//
+//    @Bean
+//    public Trigger CreditRecordQuartzTrigger() {
+//        // 刷新企业信用记录任务
+//        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(0, 5); // 每天0点5分执行
+//        return TriggerBuilder.newTrigger().forJob(CreditRecordQuartzDetail())
+//                .withIdentity(CREDIT_RECORD_TASK_IDENTITY)
+//                .withSchedule(scheduleBuilder)
+//                .build();
+//    }
+//
+//    @Bean
+//    public JobDetail CompanySyncQuartzDetail() {
+//        return JobBuilder.newJob(CronUtil.class).withIdentity(COMPANY_SYNC_TASK_IDENTITY).storeDurably().build();
+//    }
+//
+//    @Bean
+//    public Trigger CompanySyncQuartzTrigger() {
+//        // oracle企业信息同步任务
+//        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(1, 0); // 每天1点执行
+//        return TriggerBuilder.newTrigger().forJob(CompanySyncQuartzDetail())
+//                .withIdentity(COMPANY_SYNC_TASK_IDENTITY)
+//                .withSchedule(scheduleBuilder)
+//                .build();
+//    }
+//
+//    @Bean
+//    public JobDetail PostSyncQuartzDetail() {
+//        return JobBuilder.newJob(CronUtil.class).withIdentity(POST_SYNC_TASK_IDENTITY).storeDurably().build();
+//    }
+//
+//    @Bean
+//    public Trigger PostSyncQuartzTrigger() {
+//        // oracle岗位信息同步任务
+//        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(2, 0); // 每天1点执行
+//        return TriggerBuilder.newTrigger().forJob(PostSyncQuartzDetail())
+//                .withIdentity(POST_SYNC_TASK_IDENTITY)
+//                .withSchedule(scheduleBuilder)
+//                .build();
+//    }
+//
+//    @Bean
+//    public JobDetail JobUserSyncQuartzDetail() {
+//        return JobBuilder.newJob(CronUtil.class).withIdentity(JOBUSER_SYNC_TASK_IDENTITY).storeDurably().build();
+//    }
+//
+//    @Bean
+//    public Trigger JobUserSyncQuartzTrigger() {
+//        // oracle求职人员信息同步任务
+//        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(3, 0); // 每天1点执行
+//        return TriggerBuilder.newTrigger().forJob(JobUserSyncQuartzDetail())
+//                .withIdentity(JOBUSER_SYNC_TASK_IDENTITY)
+//                .withSchedule(scheduleBuilder)
+//                .build();
+//    }
+//
+//    @Bean
+//    public JobDetail JobHuntSyncQuartzDetail() {
+//        return JobBuilder.newJob(CronUtil.class).withIdentity(JOBHUNT_SYNC_TASK_IDENTITY).storeDurably().build();
+//    }
+//
+//    @Bean
+//    public Trigger JobHuntSyncQuartzTrigger() {
+//        // oracle求职意向信息同步任务
+//        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(4, 0); // 每天1点执行
+//        return TriggerBuilder.newTrigger().forJob(JobUserSyncQuartzDetail())
+//                .withIdentity(JOBHUNT_SYNC_TASK_IDENTITY)
+//                .withSchedule(scheduleBuilder)
+//                .build();
+//    }
+//}

+ 79 - 0
src/main/java/com/hz/employmentsite/config/ScheduledTasksConfig.java

@@ -0,0 +1,79 @@
+package com.hz.employmentsite.config;
+
+import com.hz.employmentsite.services.service.common.OracleDataSyncService;
+import com.hz.employmentsite.services.service.companyService.CreditRecordService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.util.Date;
+
+@Slf4j
+@Component
+public class ScheduledTasksConfig {
+    @Autowired
+    private CreditRecordService creditRecordService;
+
+    @Autowired
+    private OracleDataSyncService oracleDataSyncService;
+
+    // 每天 0 点执行
+    @Scheduled(cron = "0 0 0 * * ?")
+    public void updateEffective() {
+        // 修改已到期的企业信用记录
+        log.info("开始刷新企业信用记录");
+        creditRecordService.updateEffective();
+        log.info("刷新企业信用记录结束");
+    }
+
+    // 每天0点30分执行
+    @Scheduled(cron = "0 30 0 * * ?")
+    public void companySync() {
+        // 获取前一天日期
+        LocalDate yesterdayLocalDate = LocalDate.now().minusDays(1);
+        Date startDate = Date.from(yesterdayLocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
+        // 同步oracle企业数据
+        log.info("开始同步oracle企业数据");
+        oracleDataSyncService.companySync(startDate, null);
+        log.info("同步oracle企业数据结束");
+    }
+
+    // 每天1点30分执行
+    @Scheduled(cron = "0 30 1 * * ?")
+    public void postSync() {
+        // 获取前一天日期
+        LocalDate yesterdayLocalDate = LocalDate.now().minusDays(1);
+        Date startDate = Date.from(yesterdayLocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
+        // 同步oracle岗位数据
+        log.info("开始同步oracle岗位数据");
+        oracleDataSyncService.postSync(startDate, null);
+        log.info("同步oracle岗位数据结束");
+    }
+
+    // 每天2点30分执行
+    @Scheduled(cron = "0 30 2 * * ?")
+    public void jobUserSync() {
+        // 获取前一天日期
+        LocalDate yesterdayLocalDate = LocalDate.now().minusDays(1);
+        Date startDate = Date.from(yesterdayLocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
+        // 同步oracle求职人员数据
+        log.info("开始同步oracle求职人员数据");
+        oracleDataSyncService.jobUserSync(startDate, null);
+        log.info("同步oracle求职人员数据结束");
+    }
+
+    // 每天3点30分执行
+    @Scheduled(cron = "0 30 3 * * ?")
+    public void jobHuntSync() {
+        // 获取前一天日期
+        LocalDate yesterdayLocalDate = LocalDate.now().minusDays(1);
+        Date startDate = Date.from(yesterdayLocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
+        // 同步oracle求职意向数据
+        log.info("开始同步oracle求职意向数据");
+        oracleDataSyncService.jobHuntSync(startDate, null);
+        log.info("同步oracle求职意向数据结束");
+    }
+}

+ 2 - 1
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java

@@ -140,7 +140,7 @@ public class JobHuntController {
                 jobHuntTypeID, jobUserTypeID, minSalary, maxSalary,
                 isAccomplish, null, siteID, regionCode, startDate, endDate, isAllJobHunt, createUserName, dataSource);
         ExcelHelper.ExcelData data = excelHelper.new ExcelData();
-        data.setTitles(Arrays.asList(new String[]{"序号", "姓名", "希望工作地区", "可到职日期", "工作年限", "求职类型", "求职岗位", "人才类型", "月薪要求"}));
+        data.setTitles(Arrays.asList(new String[]{"序号", "姓名", "希望工作地区", "可到职日期", "工作年限", "求职类型", "求职岗位", "人才类型", "月薪要求", "推荐日期"}));
         int i = 0;
         List<List<Object>> rowDatas = new ArrayList();
         for (JobHuntVo item : result.getList()) {
@@ -155,6 +155,7 @@ public class JobHuntController {
             row.add(item.professionName);
             row.add(item.jobUserTypeStr);
             row.add(item.minSalary+"-"+item.maxSalary);
+            row.add(item.mgtTime);
             rowDatas.add(row);
         }
         data.setRows(rowDatas);