Selaa lähdekoodia

修改了定时任务频率,修改了更新报销的逻辑

verguenza 5 vuotta sitten
vanhempi
commit
f1f6340013

+ 1 - 1
src/main/java/com/galaxis/manatee/task/ChuanyunBasicDataScheduledTask.java

@@ -47,7 +47,7 @@ public class ChuanyunBasicDataScheduledTask {
     /**
      * 定时将氚云中的数据保存到manatee
      */
-    @Scheduled(fixedDelay = 43200000L)
+    @Scheduled(fixedDelay = 360000L)
     private void getDataFromChuanyun() {
         //获取报销科目
         getReimbursementSubject();

+ 8 - 2
src/main/java/com/galaxis/manatee/task/ChuanyunFinancialScheduledTask.java

@@ -14,6 +14,7 @@ import org.springframework.util.StringUtils;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.NoSuchElementException;
 
 /**
  * @author zcj
@@ -50,7 +51,7 @@ public class ChuanyunFinancialScheduledTask {
     /**
      * 将报销信息从氚云中同步
      */
-    @Scheduled(fixedDelay = 27600000L,initialDelay = 10000L)
+    @Scheduled(fixedDelay = 360000L,initialDelay = 10000L)
     private void reimbursementInformationSync(){
         getReimbursementFromChuanyun();
     }
@@ -84,8 +85,13 @@ public class ChuanyunFinancialScheduledTask {
                 //获取项目总数
                 totalCount=chuanyunFindAllResponse.getReturnData().getTotalCount();
                 //保存
-                result.removeIf(chuanyunReimbursementDO->chuanyunReimbursementDao.findById(chuanyunReimbursementDO.getObjectId()).isPresent());
                 result.forEach(chuanyunReimbursementDO -> {
+                    try{
+                        //找到以前的数据的话就删除
+                        chuanyunReimbursementDao.delete(chuanyunReimbursementDao.findById(chuanyunReimbursementDO.getObjectId()).orElseThrow());
+                    }catch (NoSuchElementException e){
+                        //没有之前的数据不做处理
+                    }
                     //将报销单中关联信息的id转化为具体的数据
                     try{
                         ChuanyunCompanyDO chuanyunCompanyDO=chuanyunCompanyDao.findById(chuanyunReimbursementDO.getBeneficiaryId()).orElseThrow();