Kaynağa Gözat

【第一版开发】
1.修改大乐透/双色球定时任务的执行时间或执行逻辑

ChenYL 8 ay önce
ebeveyn
işleme
971447ef35

+ 6 - 0
data-easy/src/main/java/com/dataeasy/server/atomic/service/IDataDaLeTouService.java

@@ -28,4 +28,10 @@ public interface IDataDaLeTouService {
      * @param qihao 开奖日期
      */
     void deleteByQihao(String qihao);
+
+    /**
+     * 更新
+     * @param daLeTou
+     */
+    void update(DataDaLeTou daLeTou);
 }

+ 6 - 0
data-easy/src/main/java/com/dataeasy/server/atomic/service/IDataShuangSeQiuService.java

@@ -28,4 +28,10 @@ public interface IDataShuangSeQiuService {
      * @param qihao 开奖日期
      */
     void deleteByQihao(String qihao);
+
+    /**
+     * 更新
+     * @param shuangSeQiu
+     */
+    void update(DataShuangSeQiu shuangSeQiu);
 }

+ 6 - 0
data-easy/src/main/java/com/dataeasy/server/atomic/service/impl/DataDaLeTouServiceImpl.java

@@ -49,4 +49,10 @@ public class DataDaLeTouServiceImpl implements IDataDaLeTouService {
         criteria.andEqualTo(DataDaLeTou::getQihao, qihao);
         daLeTouMapper.deleteByExample(weekend);
     }
+
+    @Override
+    public void update(DataDaLeTou daLeTou) {
+        Assert.isNull(daLeTou);
+        daLeTouMapper.updateByPrimaryKeySelective(daLeTou);
+    }
 }

+ 6 - 0
data-easy/src/main/java/com/dataeasy/server/atomic/service/impl/DataShuangSeQiuServiceImpl.java

@@ -49,4 +49,10 @@ public class DataShuangSeQiuServiceImpl implements IDataShuangSeQiuService {
         criteria.andEqualTo(DataShuangSeQiu::getQihao, qihao);
         shuangSeQiuMapper.deleteByExample(weekend);
     }
+
+    @Override
+    public void update(DataShuangSeQiu shuangSeQiu) {
+        Assert.isNull(shuangSeQiu);
+        shuangSeQiuMapper.updateByPrimaryKeySelective(shuangSeQiu);
+    }
 }

+ 9 - 3
data-easy/src/main/java/com/dataeasy/server/task/DaLeTouTask.java

@@ -51,6 +51,7 @@ public class DaLeTouTask extends AbstractHzApiTask {
     private IDataDaLeTouService daLeTouService;
 
     @Scheduled(cron = "0 55 21 * * 1,3,6")
+    @Scheduled(cron = "0 0 0,6,12 * * 2,4,7")
     public void execute() {
         super.execute();
     }
@@ -69,13 +70,18 @@ public class DaLeTouTask extends AbstractHzApiTask {
             return false;
         }
 
-        // 删除历史数据数据,以防重复执行导致数据重复引发系统异常
-        daLeTouService.deleteByQihao(daLeTouResponse.getQihao());
+        // 获取历史数据
+        DataDaLeTou oldDataDaLeTou = daLeTouService.getByDrawDate(daLeTouResponse.getQihao());
 
         // 数据入库
         DataDaLeTou addDaLeTou = new DataDaLeTou();
         BeanUtils.copyProperties(daLeTouResponse, addDaLeTou);
-        daLeTouService.insert(addDaLeTou);
+        if (Objects.isNull(oldDataDaLeTou)) {
+            daLeTouService.insert(addDaLeTou);
+        } else {
+            addDaLeTou.setId(oldDataDaLeTou.getId());
+            daLeTouService.update(addDaLeTou);
+        }
 
         // 清除缓存,以防缓存中数据过时
         cacheManager.getCache(CacheNameConstant.DATA_DA_LE_TOU_LIST).evict(addDaLeTou.getQihao());

+ 8 - 3
data-easy/src/main/java/com/dataeasy/server/task/ShuangSeQiuTask.java

@@ -51,6 +51,7 @@ public class ShuangSeQiuTask extends AbstractHzApiTask {
     private IDataShuangSeQiuService shuangSeQiuService;
 
     @Scheduled(cron = "0 35 21 * * 2,4,7")
+    @Scheduled(cron = "0 0 0,6,12 * * 3,5,1")
     public void execute() {
         super.execute();
     }
@@ -69,13 +70,17 @@ public class ShuangSeQiuTask extends AbstractHzApiTask {
             return false;
         }
 
-        // 删除历史数据数据,以防重复执行导致数据重复引发系统异常
-        shuangSeQiuService.deleteByQihao(shuangSeQiuResponse.getQihao());
+        DataShuangSeQiu oldDataShuangSeQiu = shuangSeQiuService.getByDrawDate(shuangSeQiuResponse.getQihao());
 
         // 数据入库
         DataShuangSeQiu addShuangSeQiu = new DataShuangSeQiu();
         BeanUtils.copyProperties(shuangSeQiuResponse, addShuangSeQiu);
-        shuangSeQiuService.insert(addShuangSeQiu);
+        if (Objects.isNull(oldDataShuangSeQiu)) {
+            shuangSeQiuService.insert(addShuangSeQiu);
+        } else {
+            addShuangSeQiu.setId(oldDataShuangSeQiu.getId());
+            shuangSeQiuService.update(addShuangSeQiu);
+        }
 
         // 清除缓存,以防缓存中数据过时
         cacheManager.getCache(CacheNameConstant.DATA_SHUANG_SE_QIU_LIST).evict(addShuangSeQiu.getQihao());