From 8ca14e05a114392be6d54a289e94de4b832be608 Mon Sep 17 00:00:00 2001
From: wangw <1594593906@qq.com>
Date: Mon, 30 Dec 2024 15:32:56 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E5=A4=84?=
=?UTF-8?q?=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 38 ++---
.../java/com/sqx/common/utils/IPUtils.java | 2 +-
.../java/com/sqx/config/ShardingConfig.java | 9 +-
.../modules/job/config/ScheduleConfig.java | 57 -------
.../job/controller/ScheduleJobController.java | 58 +++----
.../job/service/ScheduleJobService.java | 28 ++--
.../service/impl/ScheduleJobServiceImpl.java | 89 ++++-------
.../com/sqx/modules/job/task/CashOutTask.java | 5 +-
.../sqx/modules/job/task/CashOutTask2.java | 6 +-
.../java/com/sqx/modules/job/task/ITask.java | 15 --
.../sqx/modules/job/task/SpinningTask3.java | 16 +-
.../job/task/SupplyAgainSignRewardTask.java | 5 +-
.../sqx/modules/job/task/TempCashOutTask.java | 5 +-
.../sqx/modules/job/task/TempOrdersTask.java | 5 +-
.../com/sqx/modules/job/task/TestTask.java | 25 ---
.../sqx/modules/job/utils/ScheduleJob.java | 72 ---------
.../sqx/modules/job/utils/ScheduleUtils.java | 147 ------------------
.../com/sqx/modules/pay/wuyou/Encrypt.java | 4 +-
...ataSourcePoolMetricsAutoConfiguration.java | 2 +-
src/main/resources/application-local.yml | 2 +-
src/main/resources/application.properties | 2 +-
21 files changed, 127 insertions(+), 465 deletions(-)
delete mode 100644 src/main/java/com/sqx/modules/job/config/ScheduleConfig.java
delete mode 100644 src/main/java/com/sqx/modules/job/task/ITask.java
delete mode 100644 src/main/java/com/sqx/modules/job/task/TestTask.java
delete mode 100644 src/main/java/com/sqx/modules/job/utils/ScheduleJob.java
delete mode 100644 src/main/java/com/sqx/modules/job/utils/ScheduleUtils.java
rename src/main/java/com/sqx/{config => sharding}/ShardingDataSourcePoolMetricsAutoConfiguration.java (99%)
diff --git a/pom.xml b/pom.xml
index 31ec0b85..5de3422f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -137,11 +137,11 @@
5.5.0
-
- com.alibaba
- druid
- 1.1.10
-
+
+
+
+
+
com.auth0
@@ -262,11 +262,11 @@
-
- com.baomidou
- dynamic-datasource-spring-boot-starter
- 4.1.3
-
+
+
+
+
+
mysql
@@ -274,11 +274,11 @@
${mysql.version}
-
- com.oracle
- ojdbc6
- ${oracle.version}
-
+
+
+
+
+
org.apache.shardingsphere
@@ -303,10 +303,10 @@
${mssql.version}
-
- org.postgresql
- postgresql
-
+
+
+
+
com.alibaba
druid-spring-boot-starter
diff --git a/src/main/java/com/sqx/common/utils/IPUtils.java b/src/main/java/com/sqx/common/utils/IPUtils.java
index 0fbd6c9f..24248d3f 100644
--- a/src/main/java/com/sqx/common/utils/IPUtils.java
+++ b/src/main/java/com/sqx/common/utils/IPUtils.java
@@ -1,6 +1,6 @@
package com.sqx.common.utils;
-import com.alibaba.druid.util.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/com/sqx/config/ShardingConfig.java b/src/main/java/com/sqx/config/ShardingConfig.java
index 12e0e2ed..f8efb899 100644
--- a/src/main/java/com/sqx/config/ShardingConfig.java
+++ b/src/main/java/com/sqx/config/ShardingConfig.java
@@ -81,13 +81,12 @@ public class ShardingConfig {
shardingRuleConfig.setTableRuleConfigs(addTableRuleConfigs());
// 配置是否显示sql
-// Properties props = new Properties();
-// props.put("sql.show", true);
+ Properties props = new Properties();
+ props.put("sql.show", showSql);
// 配置数据源
Map dataSourceMap = getShardingDataBase();
- return ShardingDataSourceFactory.createDataSource(dataSourceMap, shardingRuleConfig, null);
-// return ShardingDataSourceFactory.createDataSource(dataSourceMap, shardingRuleConfig, props);
+ return ShardingDataSourceFactory.createDataSource(dataSourceMap, shardingRuleConfig, props);
}
/**
@@ -144,8 +143,6 @@ public class ShardingConfig {
masterSlaveRules.forEach((databaseName, masterSlaveRules) -> {
MasterSlaveRuleConfiguration masterSlaveRuleConfig = new MasterSlaveRuleConfiguration(databaseName,
masterSlaveRules.getMasterDataSourceName(), masterSlaveRules.getSlaveDataSourceNames());
- System.out.println("写入"+masterSlaveRules.getMasterDataSourceName());
- System.out.println("读出"+masterSlaveRules.getSlaveDataSourceNames());
sets.add(masterSlaveRuleConfig);
});
return sets;
diff --git a/src/main/java/com/sqx/modules/job/config/ScheduleConfig.java b/src/main/java/com/sqx/modules/job/config/ScheduleConfig.java
deleted file mode 100644
index 8b7653b7..00000000
--- a/src/main/java/com/sqx/modules/job/config/ScheduleConfig.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.sqx.modules.job.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.quartz.SchedulerFactoryBean;
-
-import javax.sql.DataSource;
-import java.util.Properties;
-
-/**
- * 定时任务配置
- *
- */
-@Configuration
-public class ScheduleConfig {
-
- @Bean
- public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) {
- SchedulerFactoryBean factory = new SchedulerFactoryBean();
- factory.setDataSource(dataSource);
-
- //quartz参数
- Properties prop = new Properties();
- prop.put("org.quartz.scheduler.instanceName", "sqxScheduler");
- prop.put("org.quartz.scheduler.instanceId", "AUTO");
- //线程池配置
- prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
- prop.put("org.quartz.threadPool.threadCount", "20");
- prop.put("org.quartz.threadPool.threadPriority", "5");
- //JobStore配置
- prop.put("org.quartz.jobStore.class", "org.springframework.scheduling.quartz.LocalDataSourceJobStore");
- //集群配置
- prop.put("org.quartz.jobStore.isClustered", "true");
- prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000");
- prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1");
-
- prop.put("org.quartz.jobStore.misfireThreshold", "12000");
- prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_");
- prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?");
-
- //PostgreSQL数据库,需要打开此注释
- //prop.put("org.quartz.jobStore.driverDelegateClass", "org.quartz.impl.jdbcjobstore.PostgreSQLDelegate");
-
- factory.setQuartzProperties(prop);
-
- factory.setSchedulerName("sqxScheduler");
- //延时启动
- factory.setStartupDelay(30);
- factory.setApplicationContextSchedulerContextKey("applicationContextKey");
- //可选,QuartzScheduler 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
- factory.setOverwriteExistingJobs(true);
- //设置自动启动,默认为true
- factory.setAutoStartup(true);
-
- return factory;
- }
-}
diff --git a/src/main/java/com/sqx/modules/job/controller/ScheduleJobController.java b/src/main/java/com/sqx/modules/job/controller/ScheduleJobController.java
index 3ab91d53..3acdc51e 100644
--- a/src/main/java/com/sqx/modules/job/controller/ScheduleJobController.java
+++ b/src/main/java/com/sqx/modules/job/controller/ScheduleJobController.java
@@ -81,34 +81,34 @@ public class ScheduleJobController {
/**
* 立即执行任务
*/
- @SysLog("立即执行任务")
- @RequestMapping("/run")
- public Result run(@RequestBody Long[] jobIds){
- scheduleJobService.run(jobIds);
-
- return Result.success();
- }
-
- /**
- * 暂停定时任务
- */
- @SysLog("暂停定时任务")
- @RequestMapping("/pause")
- public Result pause(@RequestBody Long[] jobIds){
- scheduleJobService.pause(jobIds);
-
- return Result.success();
- }
-
- /**
- * 恢复定时任务
- */
- @SysLog("恢复定时任务")
- @RequestMapping("/resume")
- public Result resume(@RequestBody Long[] jobIds){
- scheduleJobService.resume(jobIds);
-
- return Result.success();
- }
+// @SysLog("立即执行任务")
+// @RequestMapping("/run")
+// public Result run(@RequestBody Long[] jobIds){
+// scheduleJobService.run(jobIds);
+//
+// return Result.success();
+// }
+//
+// /**
+// * 暂停定时任务
+// */
+// @SysLog("暂停定时任务")
+// @RequestMapping("/pause")
+// public Result pause(@RequestBody Long[] jobIds){
+// scheduleJobService.pause(jobIds);
+//
+// return Result.success();
+// }
+//
+// /**
+// * 恢复定时任务
+// */
+// @SysLog("恢复定时任务")
+// @RequestMapping("/resume")
+// public Result resume(@RequestBody Long[] jobIds){
+// scheduleJobService.resume(jobIds);
+//
+// return Result.success();
+// }
}
diff --git a/src/main/java/com/sqx/modules/job/service/ScheduleJobService.java b/src/main/java/com/sqx/modules/job/service/ScheduleJobService.java
index 407a197d..515663c4 100644
--- a/src/main/java/com/sqx/modules/job/service/ScheduleJobService.java
+++ b/src/main/java/com/sqx/modules/job/service/ScheduleJobService.java
@@ -34,18 +34,18 @@ public interface ScheduleJobService extends IService {
*/
int updateBatch(Long[] jobIds, int status);
- /**
- * 立即执行
- */
- void run(Long[] jobIds);
-
- /**
- * 暂停运行
- */
- void pause(Long[] jobIds);
-
- /**
- * 恢复运行
- */
- void resume(Long[] jobIds);
+// /**
+// * 立即执行
+// */
+// void run(Long[] jobIds);
+//
+// /**
+// * 暂停运行
+// */
+// void pause(Long[] jobIds);
+//
+// /**
+// * 恢复运行
+// */
+// void resume(Long[] jobIds);
}
diff --git a/src/main/java/com/sqx/modules/job/service/impl/ScheduleJobServiceImpl.java b/src/main/java/com/sqx/modules/job/service/impl/ScheduleJobServiceImpl.java
index 33db3560..84f29fa4 100644
--- a/src/main/java/com/sqx/modules/job/service/impl/ScheduleJobServiceImpl.java
+++ b/src/main/java/com/sqx/modules/job/service/impl/ScheduleJobServiceImpl.java
@@ -9,38 +9,22 @@ import com.sqx.common.utils.Query;
import com.sqx.modules.job.dao.ScheduleJobDao;
import com.sqx.modules.job.entity.ScheduleJobEntity;
import com.sqx.modules.job.service.ScheduleJobService;
-import com.sqx.modules.job.utils.ScheduleUtils;
import org.apache.commons.lang.StringUtils;
-import org.quartz.CronTrigger;
-import org.quartz.Scheduler;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.PostConstruct;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
@Service("scheduleJobService")
public class ScheduleJobServiceImpl extends ServiceImpl implements ScheduleJobService {
- @Autowired
- private Scheduler scheduler;
/**
* 项目启动时,初始化定时器
*/
- @PostConstruct
- public void init(){
- List scheduleJobList = this.list();
- for(ScheduleJobEntity scheduleJob : scheduleJobList){
- CronTrigger cronTrigger = ScheduleUtils.getCronTrigger(scheduler, scheduleJob.getJobId());
- //如果不存在,则创建
- if(cronTrigger == null) {
- ScheduleUtils.createScheduleJob(scheduler, scheduleJob);
- }else {
- ScheduleUtils.updateScheduleJob(scheduler, scheduleJob);
- }
- }
- }
+
@Override
public PageUtils queryPage(Map params) {
@@ -61,25 +45,18 @@ public class ScheduleJobServiceImpl extends ServiceImpl cashOuts = cashOutDao.selectYesterday();
diff --git a/src/main/java/com/sqx/modules/job/task/CashOutTask2.java b/src/main/java/com/sqx/modules/job/task/CashOutTask2.java
index 8cc74dae..365e2135 100644
--- a/src/main/java/com/sqx/modules/job/task/CashOutTask2.java
+++ b/src/main/java/com/sqx/modules/job/task/CashOutTask2.java
@@ -15,6 +15,7 @@ import com.sqx.modules.utils.AliPayOrderUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -23,8 +24,8 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
-@Component("CashOutTask2")
-public class CashOutTask2 implements ITask {
+@Component
+public class CashOutTask2{
@Resource
private CashOutDao cashOutDao;
@@ -35,7 +36,6 @@ public class CashOutTask2 implements ITask {
private Logger logger = LoggerFactory.getLogger(getClass());
- @Override
public void run(String params) {
logger.info("提现开始");
if (StringUtils.isBlank(params) || isValidDate(params)) {
diff --git a/src/main/java/com/sqx/modules/job/task/ITask.java b/src/main/java/com/sqx/modules/job/task/ITask.java
deleted file mode 100644
index 2e98de28..00000000
--- a/src/main/java/com/sqx/modules/job/task/ITask.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.sqx.modules.job.task;
-
-/**
- * 定时任务接口,所有定时任务都要实现该接口
- *
- */
-public interface ITask {
-
- /**
- * 执行定时任务接口
- *
- * @param params 参数,多参数使用JSON数据
- */
- void run(String params);
-}
\ No newline at end of file
diff --git a/src/main/java/com/sqx/modules/job/task/SpinningTask3.java b/src/main/java/com/sqx/modules/job/task/SpinningTask3.java
index 2f083680..fc3d89c8 100644
--- a/src/main/java/com/sqx/modules/job/task/SpinningTask3.java
+++ b/src/main/java/com/sqx/modules/job/task/SpinningTask3.java
@@ -9,14 +9,17 @@ import com.sqx.modules.discSpinning.service.DiscSpinningService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
-@Component("SpinningTask3")
-public class SpinningTask3 implements ITask {
+@Component
+@EnableScheduling
+public class SpinningTask3 {
@Resource
private DiscSpinningService spinningController;
@@ -25,8 +28,12 @@ public class SpinningTask3 implements ITask {
private Logger logger = LoggerFactory.getLogger(getClass());
- @Override
- public void run(String params) {
+ @Scheduled(cron = "0 0/2 * * * ? ")
+ public void record() {
+ record("1");
+ }
+
+ public void record(String params) {
logger.info("大转盘到账补偿机制");
// 获取当前时间
Date now = DateUtil.date();
@@ -48,6 +55,7 @@ public class SpinningTask3 implements ITask {
recordQueryWrapper.lt("create_time", fiveMinutesAgoStr);
//小于
recordQueryWrapper.gt("create_time", tenMinutesAgoStr);
+ logger.info("大转盘到账补偿时间范围:{}-----{}", tenMinutesAgoStr, fiveMinutesAgoStr);
List list = recordService.list(recordQueryWrapper);
ThreadUtil.execAsync(() -> {
for (DiscSpinningRecord record : list) {
diff --git a/src/main/java/com/sqx/modules/job/task/SupplyAgainSignRewardTask.java b/src/main/java/com/sqx/modules/job/task/SupplyAgainSignRewardTask.java
index 57527923..6c5dd15e 100644
--- a/src/main/java/com/sqx/modules/job/task/SupplyAgainSignRewardTask.java
+++ b/src/main/java/com/sqx/modules/job/task/SupplyAgainSignRewardTask.java
@@ -21,8 +21,8 @@ import java.util.List;
* @author GYJoker
*/
@Slf4j
-@Component("SupplyAgainSignRewardTask")
-public class SupplyAgainSignRewardTask implements ITask {
+@Component
+public class SupplyAgainSignRewardTask{
@Autowired
private UserService userService;
@@ -35,7 +35,6 @@ public class SupplyAgainSignRewardTask implements ITask {
@Autowired
private UserMoneyService userMoneyService;
- @Override
public void run(String params) {
if (StringUtils.isBlank(params)) {
log.error("参数为空");
diff --git a/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java b/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java
index a7a9adc2..8b2ab3ea 100644
--- a/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java
+++ b/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java
@@ -15,8 +15,8 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
-@Component("TempCashOutTask")
-public class TempCashOutTask implements ITask {
+@Component
+public class TempCashOutTask{
@Resource
private CashOutDao cashOutDao;
@@ -27,7 +27,6 @@ public class TempCashOutTask implements ITask {
private Logger logger = LoggerFactory.getLogger(getClass());
- @Override
public void run(String params) {
logger.info("提现开始");
List cashOuts = cashOutDao.selectTemp();
diff --git a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java
index f9d5d4d1..74cb5a16 100644
--- a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java
+++ b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java
@@ -40,8 +40,8 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
-@Component("TempOrdersTask")
-public class TempOrdersTask implements ITask {
+@Component
+public class TempOrdersTask {
@Resource
private OrdersDao ordersDao;
@@ -69,7 +69,6 @@ public class TempOrdersTask implements ITask {
private Logger logger = LoggerFactory.getLogger(getClass());
- @Override
public void run(String params) {
logger.info("订单表数据处理开始");
List orders = ordersDao.selectList(Wrappers.lambdaQuery()
diff --git a/src/main/java/com/sqx/modules/job/task/TestTask.java b/src/main/java/com/sqx/modules/job/task/TestTask.java
deleted file mode 100644
index 8f566e10..00000000
--- a/src/main/java/com/sqx/modules/job/task/TestTask.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.sqx.modules.job.task;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-/**
- * 测试定时任务(演示Demo,可删除)
- *
- * testTask为spring bean的名称
- *
- */
-@Component("testTask")
-public class TestTask implements ITask {
- private Logger logger = LoggerFactory.getLogger(getClass());
-
- @Override
- public void run(String params){
-
- logger.debug("TestTask定时任务正在执行,参数为:{}", params);
- }
-
-
-
-}
diff --git a/src/main/java/com/sqx/modules/job/utils/ScheduleJob.java b/src/main/java/com/sqx/modules/job/utils/ScheduleJob.java
deleted file mode 100644
index deb910fb..00000000
--- a/src/main/java/com/sqx/modules/job/utils/ScheduleJob.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.sqx.modules.job.utils;
-
-import com.sqx.common.utils.SpringContextUtils;
-import com.sqx.modules.job.entity.ScheduleJobEntity;
-import com.sqx.modules.job.entity.ScheduleJobLogEntity;
-import com.sqx.modules.job.service.ScheduleJobLogService;
-import org.apache.commons.lang.StringUtils;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.scheduling.quartz.QuartzJobBean;
-
-import java.lang.reflect.Method;
-import java.util.Date;
-
-
-/**
- * 定时任务
- *
- */
-public class ScheduleJob extends QuartzJobBean {
- private Logger logger = LoggerFactory.getLogger(getClass());
-
- @Override
- protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
- ScheduleJobEntity scheduleJob = (ScheduleJobEntity) context.getMergedJobDataMap()
- .get(ScheduleJobEntity.JOB_PARAM_KEY);
-
- //获取spring bean
- ScheduleJobLogService scheduleJobLogService = (ScheduleJobLogService) SpringContextUtils.getBean("scheduleJobLogService");
-
- //数据库保存执行记录
- ScheduleJobLogEntity log = new ScheduleJobLogEntity();
- log.setJobId(scheduleJob.getJobId());
- log.setBeanName(scheduleJob.getBeanName());
- log.setParams(scheduleJob.getParams());
- log.setCreateTime(new Date());
-
- //任务开始时间
- long startTime = System.currentTimeMillis();
-
- try {
- //执行任务
- logger.debug("任务准备执行,任务ID:" + scheduleJob.getJobId());
-
- Object target = SpringContextUtils.getBean(scheduleJob.getBeanName());
- Method method = target.getClass().getDeclaredMethod("run", String.class);
- method.invoke(target, scheduleJob.getParams());
-
- //任务执行总时长
- long times = System.currentTimeMillis() - startTime;
- log.setTimes((int)times);
- //任务状态 0:成功 1:失败
- log.setStatus(0);
-
- logger.debug("任务执行完毕,任务ID:" + scheduleJob.getJobId() + " 总共耗时:" + times + "毫秒");
- } catch (Exception e) {
- logger.error("任务执行失败,任务ID:" + scheduleJob.getJobId(), e);
-
- //任务执行总时长
- long times = System.currentTimeMillis() - startTime;
- log.setTimes((int)times);
-
- //任务状态 0:成功 1:失败
- log.setStatus(1);
- log.setError(StringUtils.substring(e.toString(), 0, 2000));
- }finally {
- scheduleJobLogService.save(log);
- }
- }
-}
diff --git a/src/main/java/com/sqx/modules/job/utils/ScheduleUtils.java b/src/main/java/com/sqx/modules/job/utils/ScheduleUtils.java
deleted file mode 100644
index f2895570..00000000
--- a/src/main/java/com/sqx/modules/job/utils/ScheduleUtils.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package com.sqx.modules.job.utils;
-
-import com.sqx.common.exception.SqxException;
-import com.sqx.common.utils.Constant;
-import com.sqx.modules.job.entity.ScheduleJobEntity;
-import org.quartz.*;
-
-/**
- * 定时任务工具类
- *
- */
-public class ScheduleUtils {
- private final static String JOB_NAME = "TASK_";
-
- /**
- * 获取触发器key
- */
- public static TriggerKey getTriggerKey(Long jobId) {
- return TriggerKey.triggerKey(JOB_NAME + jobId);
- }
-
- /**
- * 获取jobKey
- */
- public static JobKey getJobKey(Long jobId) {
- return JobKey.jobKey(JOB_NAME + jobId);
- }
-
- /**
- * 获取表达式触发器
- */
- public static CronTrigger getCronTrigger(Scheduler scheduler, Long jobId) {
- try {
- return (CronTrigger) scheduler.getTrigger(getTriggerKey(jobId));
- } catch (SchedulerException e) {
- throw new SqxException("获取定时任务CronTrigger出现异常", e);
- }
- }
-
- /**
- * 创建定时任务
- */
- public static void createScheduleJob(Scheduler scheduler, ScheduleJobEntity scheduleJob) {
- try {
- //构建job信息
- JobDetail jobDetail = JobBuilder.newJob(ScheduleJob.class).withIdentity(getJobKey(scheduleJob.getJobId())).build();
-
- //表达式调度构建器
- CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(scheduleJob.getCronExpression())
- .withMisfireHandlingInstructionDoNothing();
-
- //按新的cronExpression表达式构建一个新的trigger
- CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(scheduleJob.getJobId())).withSchedule(scheduleBuilder).build();
-
- //放入参数,运行时的方法可以获取
- jobDetail.getJobDataMap().put(ScheduleJobEntity.JOB_PARAM_KEY, scheduleJob);
-
- scheduler.scheduleJob(jobDetail, trigger);
-
- //暂停任务
- if(scheduleJob.getStatus() == Constant.ScheduleStatus.PAUSE.getValue()){
- pauseJob(scheduler, scheduleJob.getJobId());
- }
- } catch (SchedulerException e) {
- throw new SqxException("创建定时任务失败", e);
- }
- }
-
- /**
- * 更新定时任务
- */
- public static void updateScheduleJob(Scheduler scheduler, ScheduleJobEntity scheduleJob) {
- try {
- TriggerKey triggerKey = getTriggerKey(scheduleJob.getJobId());
-
- //表达式调度构建器
- CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(scheduleJob.getCronExpression())
- .withMisfireHandlingInstructionDoNothing();
-
- CronTrigger trigger = getCronTrigger(scheduler, scheduleJob.getJobId());
-
- //按新的cronExpression表达式重新构建trigger
- trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build();
-
- //参数
- trigger.getJobDataMap().put(ScheduleJobEntity.JOB_PARAM_KEY, scheduleJob);
-
- scheduler.rescheduleJob(triggerKey, trigger);
-
- //暂停任务
- if(scheduleJob.getStatus() == Constant.ScheduleStatus.PAUSE.getValue()){
- pauseJob(scheduler, scheduleJob.getJobId());
- }
-
- } catch (SchedulerException e) {
- throw new SqxException("更新定时任务失败", e);
- }
- }
-
- /**
- * 立即执行任务
- */
- public static void run(Scheduler scheduler, ScheduleJobEntity scheduleJob) {
- try {
- //参数
- JobDataMap dataMap = new JobDataMap();
- dataMap.put(ScheduleJobEntity.JOB_PARAM_KEY, scheduleJob);
-
- scheduler.triggerJob(getJobKey(scheduleJob.getJobId()), dataMap);
- } catch (SchedulerException e) {
- throw new SqxException("立即执行定时任务失败", e);
- }
- }
-
- /**
- * 暂停任务
- */
- public static void pauseJob(Scheduler scheduler, Long jobId) {
- try {
- scheduler.pauseJob(getJobKey(jobId));
- } catch (SchedulerException e) {
- throw new SqxException("暂停定时任务失败", e);
- }
- }
-
- /**
- * 恢复任务
- */
- public static void resumeJob(Scheduler scheduler, Long jobId) {
- try {
- scheduler.resumeJob(getJobKey(jobId));
- } catch (SchedulerException e) {
- throw new SqxException("暂停定时任务失败", e);
- }
- }
-
- /**
- * 删除定时任务
- */
- public static void deleteScheduleJob(Scheduler scheduler, Long jobId) {
- try {
- scheduler.deleteJob(getJobKey(jobId));
- } catch (SchedulerException e) {
- throw new SqxException("删除定时任务失败", e);
- }
- }
-}
diff --git a/src/main/java/com/sqx/modules/pay/wuyou/Encrypt.java b/src/main/java/com/sqx/modules/pay/wuyou/Encrypt.java
index 79d99fde..91938961 100644
--- a/src/main/java/com/sqx/modules/pay/wuyou/Encrypt.java
+++ b/src/main/java/com/sqx/modules/pay/wuyou/Encrypt.java
@@ -1,6 +1,6 @@
package com.sqx.modules.pay.wuyou;
-import com.alibaba.druid.util.Utils;
+import com.sqx.modules.utils.MD5Util;
import java.util.HashMap;
import java.util.Map;
@@ -23,7 +23,7 @@ public class Encrypt {
sb.append("key=").append(APP_SECRET);
String signStr = sb.toString();
System.out.println("signStr: " + signStr);
- return Utils.md5(signStr).toUpperCase();
+ return MD5Util.encodeByMD5(signStr).toUpperCase();
}
public static void main(String[] args) {
diff --git a/src/main/java/com/sqx/config/ShardingDataSourcePoolMetricsAutoConfiguration.java b/src/main/java/com/sqx/sharding/ShardingDataSourcePoolMetricsAutoConfiguration.java
similarity index 99%
rename from src/main/java/com/sqx/config/ShardingDataSourcePoolMetricsAutoConfiguration.java
rename to src/main/java/com/sqx/sharding/ShardingDataSourcePoolMetricsAutoConfiguration.java
index c3454b5a..3c7252ac 100644
--- a/src/main/java/com/sqx/config/ShardingDataSourcePoolMetricsAutoConfiguration.java
+++ b/src/main/java/com/sqx/sharding/ShardingDataSourcePoolMetricsAutoConfiguration.java
@@ -1,4 +1,4 @@
-package com.sqx.config;
+package com.sqx.sharding;
import com.zaxxer.hikari.HikariDataSource;
import com.zaxxer.hikari.metrics.micrometer.MicrometerMetricsTrackerFactory;
diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml
index 2c965598..e7978925 100644
--- a/src/main/resources/application-local.yml
+++ b/src/main/resources/application-local.yml
@@ -16,7 +16,7 @@ spring:
shardingsphere:
center-tables-data-node: duanju.%s
# 显示sharding-jdbc改写的sql语句
- show-sql: true
+ show-sql: false
# 数据源名称
datasource:
# 数据源配置begin
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 3621d08e..80305245 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1 +1 @@
-center-tables=activity,app,banner,cash_out,comment_good,common_info,complet_award,coupon,coupon_user,course,course_classification,course_collect,course_comment,course_details,course_user,disc_spinning,disc_spinning_amount,disc_spinning_record,help_classify,help_word,invite,invite_award,invite_money,message_info,msg,orders,pay_classify,pay_details,qrtz_blob_triggers,qrtz_calendars,qrtz_cron_triggers,qrtz_fired_triggers,qrtz_job_details,qrtz_locks,qrtz_paused_trigger_grps,qrtz_scheduler_state,qrtz_simple_triggers,qrtz_simprop_triggers,qrtz_triggers,schedule_job,schedule_job_log,sdk_info,sdk_type,search,sys_captcha,sys_config,sys_dict,sys_log,sys_menu,sys_oss,sys_role,sys_role_menu,sys_user,sys_user_role,sys_user_token,task_center,task_center_record,task_center_reward,tb_user,uni_ad_callback_record,url_address,user_integral,user_integral_details,user_money,user_money_details,user_prize_exchange,user_sign_record,user_vip,vip_details
\ No newline at end of file
+center-tables=activity,app,banner,cash_out,comment_good,common_info,complet_award,coupon,coupon_user,course,course_classification,course_collect,course_comment,course_details,course_user,disc_spinning,disc_spinning_amount,disc_spinning_record,help_classify,help_word,invite,invite_award,invite_money,message_info,msg,orders,pay_classify,pay_details,qrtz_blob_triggers,qrtz_calendars,qrtz_cron_triggers,qrtz_fired_triggers,qrtz_job_details,qrtz_locks,qrtz_paused_trigger_grps,qrtz_scheduler_state,qrtz_simple_triggers,qrtz_simprop_triggers,qrtz_triggers,schedule_job,schedule_job_log,sdk_info,sdk_type,search,sys_captcha,sys_config,sys_dict,sys_log,sys_menu,sys_oss,sys_role,sys_role_menu,sys_user,sys_user_role,sys_user_token,task_center,task_center_record,task_center_reward,tb_user,uni_ad_callback_record,url_address,user_integral,user_integral_details,user_money,user_money_details,user_prize_exchange,user_sign_record,user_vip,vip_details,invite_achievement
\ No newline at end of file