Browse Source

fix: 邮件解析分页问题修复

chenjianhua 7 months ago
parent
commit
d307013b72

+ 9 - 13
service-base/src/main/java/com/simuwang/base/common/util/QuartzUtils.java

@@ -110,9 +110,8 @@ public class QuartzUtils {
      * @param jobKeyName 定时任务名称
      * @throws SchedulerException
      */
-    public static void pauseScheduleJob(Scheduler scheduler, String jobKeyName) {
-        String[] jobNameGroupArr = jobKeyName.split("\\.");
-        JobKey jobKey = JobKey.jobKey(jobNameGroupArr[1], jobNameGroupArr[0]);
+    public static void pauseScheduleJob(Scheduler scheduler, String jobKeyName,String groupName) {
+        JobKey jobKey = JobKey.jobKey(jobKeyName, groupName);
         try {
             scheduler.pauseJob(jobKey);
         } catch (SchedulerException e) {
@@ -127,9 +126,8 @@ public class QuartzUtils {
      * @param jobKeyName 定时任务名称
      * @throws SchedulerException
      */
-    public static void resumeScheduleJob(Scheduler scheduler, String jobKeyName) {
-        String[] jobNameGroupArr = jobKeyName.split("\\.");
-        JobKey jobKey = JobKey.jobKey(jobNameGroupArr[1], jobNameGroupArr[0]);
+    public static void resumeScheduleJob(Scheduler scheduler, String jobKeyName,String groupName) {
+        JobKey jobKey = JobKey.jobKey(jobKeyName, groupName);
         try {
             scheduler.resumeJob(jobKey);
         } catch (SchedulerException e) {
@@ -144,9 +142,8 @@ public class QuartzUtils {
      * @param jobKeyName 定时任务名称
      * @throws SchedulerException
      */
-    public static void runOnce(Scheduler scheduler, String jobKeyName) {
-        String[] jobNameGroupArr = jobKeyName.split("\\.");
-        JobKey jobKey = JobKey.jobKey(jobNameGroupArr[1], jobNameGroupArr[0]);
+    public static void runOnce(Scheduler scheduler, String jobKeyName,String groupName) {
+        JobKey jobKey = JobKey.jobKey(jobKeyName, groupName);
         try {
             scheduler.triggerJob(jobKey);
         } catch (SchedulerException e) {
@@ -162,7 +159,7 @@ public class QuartzUtils {
      * @throws SchedulerException
      */
     public static void updateScheduleJob(Scheduler scheduler, QuartzBean quartzBean) {
-        deleteScheduleJob(scheduler, quartzBean.getGroupName() + "." + quartzBean.getJobName());
+        deleteScheduleJob(scheduler, quartzBean.getJobName(),quartzBean.getGroupName());
         createScheduleJob(scheduler, quartzBean);
     }
 
@@ -173,9 +170,8 @@ public class QuartzUtils {
      * @param jobKeyName 定时任务名称
      * @throws SchedulerException
      */
-    public static void deleteScheduleJob(Scheduler scheduler, String jobKeyName) {
-        String[] jobNameGroupArr = jobKeyName.split("\\.");
-        JobKey jobKey = JobKey.jobKey(jobNameGroupArr[1], jobNameGroupArr[0]);
+    public static void deleteScheduleJob(Scheduler scheduler, String jobKeyName,String groupName) {
+        JobKey jobKey = JobKey.jobKey(jobKeyName, groupName);
         try {
             if (ObjectUtils.isEmpty(jobKey)) {
                 return;

+ 3 - 0
service-deploy/src/main/resources/application.yml

@@ -44,6 +44,8 @@ spring:
         connection-timeout: 300000
         # keepalive time
         keepalive-time: 60000
+  task:
+    groupName: PPW_EMAIL
 
 email-rule:
   nav: "净值,业绩报酬,规模"
@@ -54,6 +56,7 @@ email:
   file:
     path: /data/file/nav
 
+
 # 配置
 simuwang:
   # 操作日志功能是否启用,启用了才会记录操作日志

+ 3 - 3
service-manage/src/main/java/com/simuwang/manage/init/QuartzConfig.java

@@ -35,7 +35,7 @@ public class QuartzConfig implements ApplicationRunner {
     @Autowired
     private EmailConfigService emailConfigService;
 
-    @Value("${spring.application.name}")
+    @Value("${spring.task.groupName}")
     private String groupName;
     private String JOB_CLASS="com.simuwang.manage.task.ParseSchedulerTask";
     @Override
@@ -59,9 +59,9 @@ public class QuartzConfig implements ApplicationRunner {
                 quartzBean.setJobParam(JSON.toJSONString(paramDTO));
                 QuartzUtils.createScheduleJob(scheduler,quartzBean);
                 if(mailboxInfoDO.getOpenStatus().equals(OpenStatusType.YES.getCode())){
-                    QuartzUtils.resumeScheduleJob(scheduler,quartzBean.getJobName());
+                    QuartzUtils.resumeScheduleJob(scheduler,quartzBean.getJobName(),quartzBean.getGroupName());
                 }else{
-                    QuartzUtils.pauseScheduleJob(scheduler,quartzBean.getJobName());
+                    QuartzUtils.pauseScheduleJob(scheduler,quartzBean.getJobName(),quartzBean.getGroupName());
                 }
             }catch (Exception e) {
                 logger.error(e.getMessage(),e);

+ 6 - 6
service-manage/src/main/java/com/simuwang/manage/service/impl/EmailConfigServiceImpl.java

@@ -47,7 +47,7 @@ public class EmailConfigServiceImpl implements EmailConfigService {
     @Autowired
     private Scheduler scheduler;
 
-    @Value("${spring.application.name}")
+    @Value("${spring.task.groupName}")
     private String groupName;
 
     @Autowired
@@ -79,7 +79,7 @@ public class EmailConfigServiceImpl implements EmailConfigService {
     }
     private void addJob(MailboxInfoVO mailboxInfoVO) {
         try{
-            QuartzUtils.deleteScheduleJob(scheduler,mailboxInfoVO.getEmail());
+            QuartzUtils.deleteScheduleJob(scheduler,mailboxInfoVO.getEmail(),groupName);
             MailboxInfoDO infoDO = emailConfigMapper.selectEmailConfigByEmail(mailboxInfoVO.getEmail());
             QuartzBean quartzBean = new QuartzBean();
             quartzBean.setCronExpression(infoDO.getCron());
@@ -130,7 +130,7 @@ public class EmailConfigServiceImpl implements EmailConfigService {
         //删除定时任务
         for(Integer id : idList){
             MailboxInfoDO mailboxInfoDO = emailConfigMapper.searchEmailConfigById(id);
-            QuartzUtils.deleteScheduleJob(scheduler,mailboxInfoDO.getEmail());
+            QuartzUtils.deleteScheduleJob(scheduler,mailboxInfoDO.getEmail(),groupName);
         }
         emailConfigMapper.deleteEmailConfigByIds(idList);
     }
@@ -157,9 +157,9 @@ public class EmailConfigServiceImpl implements EmailConfigService {
         emailConfigMapper.updateById(mailboxInfoDO);
         //设置定时任务
         if(openStatusVO.getOpenStatus().equals(OpenStatusType.YES.getCode())){
-            QuartzUtils.resumeScheduleJob(scheduler,mailboxInfoDO.getEmail());
+            QuartzUtils.resumeScheduleJob(scheduler,mailboxInfoDO.getEmail(),groupName);
         }else{
-            QuartzUtils.pauseScheduleJob(scheduler,mailboxInfoDO.getEmail());
+            QuartzUtils.pauseScheduleJob(scheduler,mailboxInfoDO.getEmail(),groupName);
         }
 
     }
@@ -176,7 +176,7 @@ public class EmailConfigServiceImpl implements EmailConfigService {
     @Override
     public void runOnce(Integer id) {
         MailboxInfoDO mailboxInfoDO = emailConfigMapper.searchEmailConfigById(id);
-        QuartzUtils.runOnce(scheduler,mailboxInfoDO.getEmail());
+        QuartzUtils.runOnce(scheduler,mailboxInfoDO.getEmail(),groupName);
     }
 
     @Override

+ 1 - 1
service-manage/src/main/java/com/simuwang/manage/service/impl/ParseEmailServiceImpl.java

@@ -76,7 +76,7 @@ public class ParseEmailServiceImpl implements ParseEmailService {
     @Override
     public MybatisPage<EmailParseInfoVO> searchEmailList(EmailParseQuery emailParseQuery){
         if(!emailParseQuery.getTimeRange().equals(TimeRange.Custom)){
-            emailParseQuery.setEndDate(DateUtils.dateTimeNow());
+            emailParseQuery.setEndDate(DateUtils.getAroundToday(1));
             emailParseQuery.setStartDate( DateUtil.RangeTime(emailParseQuery.getTimeRange().getFloatDateSymbel(),DateUtil.getTodayDate()));
         }else{
             //自定义时间,把结束时间延后一天,确保时间判断能查到结束日期当天的数据