修改了scheduler lock 机制
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/core/DayendSettleTask.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/core/DayendSettleTask.java
index de2afe3..14663ec 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/core/DayendSettleTask.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/core/DayendSettleTask.java
@@ -1,10 +1,9 @@
 package com.supwisdom.dlpay.framework.core;
 
 import com.supwisdom.dlpay.framework.domain.TSettleLog;
-import com.supwisdom.dlpay.framework.domain.TTaskLock;
 import com.supwisdom.dlpay.framework.service.DayendSettleService;
-import com.supwisdom.dlpay.framework.service.SystemUtilService;
 import com.supwisdom.dlpay.framework.util.StringUtil;
+import net.javacrumbs.shedlock.core.SchedulerLock;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,32 +13,18 @@
 @Component
 public class DayendSettleTask {
   @Autowired
-  private SystemUtilService systemUtilService;
-  @Autowired
   private DayendSettleService dayendSettleService;
 
   private TSettleLog settleLog;
 
   private static final Logger logger = LoggerFactory.getLogger(DayendSettleTask.class);
 
-  @Scheduled(cron="${dayend.settletask.cron}")
+  @Scheduled(cron = "${dayend.settletask.cron}")
+  @SchedulerLock(name = "DayendSettleTask")
   public void doSettleTask() {
     if (logger.isDebugEnabled()) logger.debug("进入日结算任务!");
-
-    TTaskLock lock = null;
+    settleLog = dayendSettleService.doCreateSettleLog(); //记录日志
     try {
-      try {
-        lock = systemUtilService.doLockTask("DAYENDSETTLETASK", 30, "日终结算");
-        if (lock == null) {
-          if (logger.isDebugEnabled()) logger.debug("日终结算正在其他服务器上执行");
-          return;
-        }
-      } catch (Exception e) {
-        return;
-      }
-
-      settleLog = dayendSettleService.doCreateSettleLog(); //记录日志
-
       //step1: 账户校验(fixme: 清算任务?)
       long t1 = System.currentTimeMillis();
       if (!checkAccounts()) {
@@ -71,12 +56,6 @@
     } catch (Exception e) {
       logger.error("日终结算报错:" + (!StringUtil.isEmpty(e.getMessage()) ? e.getMessage() : e.getClass().getName()));
       e.printStackTrace();
-    } finally {
-      if (null != lock) {
-        lock.setTaskstatus(0);
-        lock.setTasktime(systemUtilService.getSysdatetime().getHostdatetime());
-        systemUtilService.updateTaskLock(lock);
-      }
     }
   }
 
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java
index e1343d4..2c76329 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java
@@ -14,10 +14,6 @@
 @Repository
 public interface TaskLockDao extends JpaRepository<TTaskLock, String> {
 
-  @Lock(LockModeType.PESSIMISTIC_WRITE)
-  @Query("select a from TTaskLock a where a.taskcode=:taskcode")
-  TTaskLock getTaskLockWithLock(@Param("taskcode") String taskcode);
-
   //================= database=Oracle =================//
   @Query(value = "select  to_char(sysdate,'yyyymmdd') as hostdate,to_char(sysdate,'hh24miss') as hosttime,to_char(sysdate,'yyyymmddhh24miss') as hostdatetime, sysdate from dual", nativeQuery = true)
   SystemDateTime getOracleDatetime();
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/service/SystemUtilService.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/SystemUtilService.java
index e575265..ca18764 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/service/SystemUtilService.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/SystemUtilService.java
@@ -16,18 +16,6 @@
   SystemDateTime getSysdatetime();
 
   /**
-   * 更新任务表
-   */
-  @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
-  TTaskLock updateTaskLock(TTaskLock lock);
-
-  /**
-   * 取任务表
-   */
-  @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
-  TTaskLock doLockTask(String taskcode, Integer minRecover, String remark);
-
-  /**
    * 获取记账日期
    */
   String getAccdate();
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java
index 51b2b0b..baf8449 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java
@@ -57,37 +57,6 @@
   }
 
   @Override
-  public TTaskLock updateTaskLock(TTaskLock lock) {
-    return taskLockDao.save(lock);
-  }
-
-  @Override
-  public TTaskLock doLockTask(String taskcode, Integer minRecover, String remark) {
-    if (null == minRecover) minRecover = 10; //默认10分钟
-    String hostdatetime = getSysdatetime().getHostdatetime(); //yyyyMMddHHmmss
-    TTaskLock lock = taskLockDao.getTaskLockWithLock(taskcode);
-    if (lock != null) {
-      if (lock.getTaskstatus() == 1 && DateUtil.compareDatetime(DateUtil.getNewTime(hostdatetime, -60 * minRecover), lock.getTasktime()) < 0) {
-        // 被锁,正在执行操作
-        return null;
-      } else {
-        lock.setTaskstatus(1);
-        lock.setTasktime(hostdatetime);
-        taskLockDao.save(lock);
-        return lock;
-      }
-    } else {
-      lock = new TTaskLock();
-      lock.setTaskcode(taskcode);
-      lock.setTaskstatus(1);
-      lock.setTasktime(hostdatetime);
-      lock.setRemark(remark);
-      taskLockDao.save(lock);
-    }
-    return lock;
-  }
-
-  @Override
   public String getAccdate() {
     String hostdate = getSysdatetime().getHostdate();
     TSettlectl settlectl = settleCtlDao.getOne(1);
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt
index 7d93474..7f7ea81 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt
@@ -8,7 +8,6 @@
 import com.supwisdom.dlpay.api.service.ConsumePayService
 import com.supwisdom.dlpay.api.service.DtlQueryResultService
 import com.supwisdom.dlpay.api.service.TransactionServiceProxy
-import com.supwisdom.dlpay.framework.domain.TTaskLock
 import com.supwisdom.dlpay.framework.service.SystemUtilService
 import com.supwisdom.dlpay.framework.util.ApplicationUtil
 import com.supwisdom.dlpay.framework.util.TradeDict