sourceList();
-}
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobBean.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobBean.java
deleted file mode 100644
index f34c6f8b..00000000
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobBean.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Copyright (c) 2022 aoshiguchen
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package fun.asgc.neutrino.proxy.server.base.quartz;
-
-import lombok.extern.slf4j.Slf4j;
-import org.noear.solon.Solon;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-
-/**
- *
- * @author: aoshiguchen
- * @date: 2022/9/4
- */
-@Slf4j
-public class JobBean implements Job {
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
- JobExecutor jobExecutor = Solon.context().getBean(JobExecutor.class);
- if (null != jobExecutor) {
- jobExecutor.execute(jobExecutionContext);
- }
- }
-
-}
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobConfig.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobConfig.java
deleted file mode 100644
index 544e568c..00000000
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobConfig.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright (c) 2022 aoshiguchen
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package fun.asgc.neutrino.proxy.server.base.quartz;
-
-import fun.asgc.neutrino.proxy.server.service.JobInfoService;
-import fun.asgc.neutrino.proxy.server.service.JobLogService;
-import org.noear.solon.annotation.Bean;
-import org.noear.solon.annotation.Configuration;
-import org.noear.solon.annotation.Inject;
-import org.noear.solon.core.event.AppLoadEndEvent;
-import org.noear.solon.core.event.EventBus;
-
-/**
- * 定时任务配置
- * @author: aoshiguchen
- * @date: 2022/9/4
- */
-@Configuration
-public class JobConfig {
-
- @Bean
- public JobExecutor jobExecutor(@Inject JobLogService jobLogService, @Inject JobInfoService jobInfoService) {
- JobExecutor executor = new JobExecutor();
- executor.setJobSource(jobInfoService);
- executor.setJobCallback(jobLogService);
- EventBus.subscribe(AppLoadEndEvent.class, executor);
- return executor;
- }
-}
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobException.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobException.java
deleted file mode 100644
index 33ba2bba..00000000
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobException.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Copyright (C) 2018-2022 Zeyi information technology (Shanghai) Co., Ltd.
- *
- * All right reserved.
- *
- * This software is the confidential and proprietary
- * information of Zeyi Company of China.
- * ("Confidential Information"). You shall not disclose
- * such Confidential Information and shall use it only
- * in accordance with the terms of the contract agreement
- * you entered into with Zeyi inc.
- */
-package fun.asgc.neutrino.proxy.server.base.quartz;
-
-import fun.asgc.neutrino.core.exception.InternalException;
-
-/**
- *
- * @author: wen.y
- * @date: 2022/9/4
- */
-public class JobException extends InternalException {
-
- public JobException(String message) {
- super(message);
- }
-
- public JobException(String message, Throwable cause) {
- super(message, cause);
- }
-}
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobHandler.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobHandler.java
deleted file mode 100644
index 91625347..00000000
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobHandler.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Copyright (c) 2022 aoshiguchen
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package fun.asgc.neutrino.proxy.server.base.quartz;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- *
- * @author: aoshiguchen
- * @date: 2022/9/4
- */
-@Target({ElementType.TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface JobHandler {
- String name();
- String desc() default "";
- String cron();
- String param() default "";
-}
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobInfo.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobInfo.java
deleted file mode 100644
index a06b34f0..00000000
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/quartz/JobInfo.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Copyright (c) 2022 aoshiguchen
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package fun.asgc.neutrino.proxy.server.base.quartz;
-
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-import java.util.Map;
-
-/**
- *
- * @author: aoshiguchen
- * @date: 2022/9/4
- */
-@Accessors(chain = true)
-@Data
-public class JobInfo {
- private String id;
- private String name;
- private String desc;
- private String cron;
- private String param;
- private boolean enable;
- private Map extension;
-}
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/DataCleanJob.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/DataCleanJob.java
index 6c9c936f..5d2a4cba 100644
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/DataCleanJob.java
+++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/DataCleanJob.java
@@ -24,9 +24,9 @@ package fun.asgc.neutrino.proxy.server.job;
import com.alibaba.fastjson.JSONObject;
import fun.asgc.neutrino.core.annotation.Autowired;
import fun.asgc.neutrino.core.util.DateUtil;
-import fun.asgc.neutrino.proxy.server.base.quartz.IJobHandler;
-import fun.asgc.neutrino.proxy.server.base.quartz.JobHandler;
import fun.asgc.neutrino.proxy.server.dal.*;
+import fun.asgc.solon.extend.job.IJobHandler;
+import fun.asgc.solon.extend.job.annotation.JobHandler;
import lombok.Data;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/DemoJob.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/DemoJob.java
index ed9b8257..3a7533ff 100644
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/DemoJob.java
+++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/DemoJob.java
@@ -21,8 +21,8 @@
*/
package fun.asgc.neutrino.proxy.server.job;
-import fun.asgc.neutrino.proxy.server.base.quartz.IJobHandler;
-import fun.asgc.neutrino.proxy.server.base.quartz.JobHandler;
+import fun.asgc.solon.extend.job.IJobHandler;
+import fun.asgc.solon.extend.job.annotation.JobHandler;
import lombok.extern.slf4j.Slf4j;
import org.noear.solon.annotation.Component;
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForDayJob.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForDayJob.java
index fdf0b440..8e0537f7 100644
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForDayJob.java
+++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForDayJob.java
@@ -23,8 +23,6 @@ package fun.asgc.neutrino.proxy.server.job;
import fun.asgc.neutrino.core.util.CollectionUtil;
import fun.asgc.neutrino.core.util.DateUtil;
-import fun.asgc.neutrino.proxy.server.base.quartz.IJobHandler;
-import fun.asgc.neutrino.proxy.server.base.quartz.JobHandler;
import fun.asgc.neutrino.proxy.server.dal.FlowReportDayMapper;
import fun.asgc.neutrino.proxy.server.dal.FlowReportHourMapper;
import fun.asgc.neutrino.proxy.server.dal.FlowReportMinuteMapper;
@@ -32,6 +30,8 @@ import fun.asgc.neutrino.proxy.server.dal.LicenseMapper;
import fun.asgc.neutrino.proxy.server.dal.entity.FlowReportDayDO;
import fun.asgc.neutrino.proxy.server.dal.entity.FlowReportHourDO;
import fun.asgc.neutrino.proxy.server.service.FlowReportService;
+import fun.asgc.solon.extend.job.IJobHandler;
+import fun.asgc.solon.extend.job.annotation.JobHandler;
import lombok.extern.slf4j.Slf4j;
import org.noear.solon.annotation.Component;
import org.noear.solon.annotation.Inject;
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForHourJob.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForHourJob.java
index f2c6471e..aa263ba6 100644
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForHourJob.java
+++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForHourJob.java
@@ -23,14 +23,14 @@ package fun.asgc.neutrino.proxy.server.job;
import fun.asgc.neutrino.core.util.CollectionUtil;
import fun.asgc.neutrino.core.util.DateUtil;
-import fun.asgc.neutrino.proxy.server.base.quartz.IJobHandler;
-import fun.asgc.neutrino.proxy.server.base.quartz.JobHandler;
import fun.asgc.neutrino.proxy.server.dal.FlowReportHourMapper;
import fun.asgc.neutrino.proxy.server.dal.FlowReportMinuteMapper;
import fun.asgc.neutrino.proxy.server.dal.LicenseMapper;
import fun.asgc.neutrino.proxy.server.dal.entity.FlowReportHourDO;
import fun.asgc.neutrino.proxy.server.dal.entity.FlowReportMinuteDO;
import fun.asgc.neutrino.proxy.server.service.FlowReportService;
+import fun.asgc.solon.extend.job.IJobHandler;
+import fun.asgc.solon.extend.job.annotation.JobHandler;
import lombok.extern.slf4j.Slf4j;
import org.noear.solon.annotation.Component;
import org.noear.solon.annotation.Inject;
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMinuteJob.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMinuteJob.java
index 776aa885..ead9ede7 100644
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMinuteJob.java
+++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMinuteJob.java
@@ -23,13 +23,13 @@ package fun.asgc.neutrino.proxy.server.job;
import fun.asgc.neutrino.core.util.CollectionUtil;
import fun.asgc.neutrino.core.util.DateUtil;
-import fun.asgc.neutrino.proxy.server.base.quartz.IJobHandler;
-import fun.asgc.neutrino.proxy.server.base.quartz.JobHandler;
import fun.asgc.neutrino.proxy.server.dal.FlowReportMinuteMapper;
import fun.asgc.neutrino.proxy.server.dal.LicenseMapper;
import fun.asgc.neutrino.proxy.server.dal.entity.FlowReportMinuteDO;
import fun.asgc.neutrino.proxy.server.dal.entity.LicenseDO;
import fun.asgc.neutrino.proxy.server.service.FlowReportService;
+import fun.asgc.solon.extend.job.IJobHandler;
+import fun.asgc.solon.extend.job.annotation.JobHandler;
import lombok.extern.slf4j.Slf4j;
import org.noear.solon.annotation.Component;
import org.noear.solon.annotation.Inject;
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMonthJob.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMonthJob.java
index ee7aed77..28ec30b0 100644
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMonthJob.java
+++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMonthJob.java
@@ -23,12 +23,12 @@ package fun.asgc.neutrino.proxy.server.job;
import fun.asgc.neutrino.core.util.CollectionUtil;
import fun.asgc.neutrino.core.util.DateUtil;
-import fun.asgc.neutrino.proxy.server.base.quartz.IJobHandler;
-import fun.asgc.neutrino.proxy.server.base.quartz.JobHandler;
import fun.asgc.neutrino.proxy.server.dal.*;
import fun.asgc.neutrino.proxy.server.dal.entity.FlowReportDayDO;
import fun.asgc.neutrino.proxy.server.dal.entity.FlowReportMonthDO;
import fun.asgc.neutrino.proxy.server.service.FlowReportService;
+import fun.asgc.solon.extend.job.IJobHandler;
+import fun.asgc.solon.extend.job.annotation.JobHandler;
import lombok.extern.slf4j.Slf4j;
import org.noear.solon.annotation.Component;
import org.noear.solon.annotation.Inject;
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/JobInfoService.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/JobInfoService.java
index d456458b..5b596152 100644
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/JobInfoService.java
+++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/JobInfoService.java
@@ -28,9 +28,6 @@ import com.google.common.collect.Lists;
import fun.asgc.neutrino.core.util.CollectionUtil;
import fun.asgc.neutrino.proxy.server.base.page.PageInfo;
import fun.asgc.neutrino.proxy.server.base.page.PageQuery;
-import fun.asgc.neutrino.proxy.server.base.quartz.IJobSource;
-import fun.asgc.neutrino.proxy.server.base.quartz.JobExecutor;
-import fun.asgc.neutrino.proxy.server.base.quartz.JobInfo;
import fun.asgc.neutrino.proxy.server.constant.EnableStatusEnum;
import fun.asgc.neutrino.proxy.server.constant.ExceptionConstant;
import fun.asgc.neutrino.proxy.server.controller.req.JobInfoExecuteReq;
@@ -44,6 +41,9 @@ import fun.asgc.neutrino.proxy.server.controller.res.JobInfoUpdateRes;
import fun.asgc.neutrino.proxy.server.dal.JobInfoMapper;
import fun.asgc.neutrino.proxy.server.dal.entity.JobInfoDO;
import fun.asgc.neutrino.proxy.server.util.ParamCheckUtil;
+import fun.asgc.solon.extend.job.IJobSource;
+import fun.asgc.solon.extend.job.JobInfo;
+import fun.asgc.solon.extend.job.impl.JobExecutor;
import lombok.extern.slf4j.Slf4j;
import ma.glasnost.orika.MapperFactory;
import org.apache.ibatis.solon.annotation.Db;
diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/JobLogService.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/JobLogService.java
index 59237157..794a49aa 100644
--- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/JobLogService.java
+++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/JobLogService.java
@@ -26,12 +26,12 @@ import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import fun.asgc.neutrino.proxy.server.base.page.PageInfo;
import fun.asgc.neutrino.proxy.server.base.page.PageQuery;
-import fun.asgc.neutrino.proxy.server.base.quartz.IJobCallback;
-import fun.asgc.neutrino.proxy.server.base.quartz.JobInfo;
import fun.asgc.neutrino.proxy.server.controller.req.JobLogListReq;
import fun.asgc.neutrino.proxy.server.controller.res.JobLogListRes;
import fun.asgc.neutrino.proxy.server.dal.JobLogMapper;
import fun.asgc.neutrino.proxy.server.dal.entity.JobLogDO;
+import fun.asgc.solon.extend.job.IJobCallback;
+import fun.asgc.solon.extend.job.JobInfo;
import lombok.extern.slf4j.Slf4j;
import ma.glasnost.orika.MapperFactory;
import org.apache.commons.lang3.exception.ExceptionUtils;
diff --git a/neutrino-proxy-server/src/main/resources/META-INF/solon/solon.extend.mapper.properties b/neutrino-proxy-server/src/main/resources/META-INF/solon/solon.extend.mapper.properties
deleted file mode 100644
index d072f15e..00000000
--- a/neutrino-proxy-server/src/main/resources/META-INF/solon/solon.extend.mapper.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-solon.plugin=fun.asgc.neutrino.proxy.server.base.db.MapperPlugin
-solon.plugin.priority=3
\ No newline at end of file