新增task
This commit is contained in:
parent
6d62c7eae1
commit
b0e6cfc049
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.sys.api.task.service;
|
||||
package com.qihang.common.task;
|
||||
|
||||
public interface IPollableService {
|
||||
/**
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package com.qihang.sys.api.task.core;
|
||||
package com.qihang.common.task;
|
||||
|
||||
import com.qihang.sys.api.task.service.IPollableService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.BeansException;
|
||||
|
|
@ -0,0 +1,176 @@
|
|||
package com.qihang.jd.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName sys_task
|
||||
*/
|
||||
public class SysTask implements Serializable {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String cron;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String method;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public String getTaskName() {
|
||||
return taskName;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void setTaskName(String taskName) {
|
||||
this.taskName = taskName;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public String getCron() {
|
||||
return cron;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void setCron(String cron) {
|
||||
this.cron = cron;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public String getMethod() {
|
||||
return method;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void setMethod(String method) {
|
||||
this.method = method;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public Date getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void setCreateTime(Date createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object that) {
|
||||
if (this == that) {
|
||||
return true;
|
||||
}
|
||||
if (that == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != that.getClass()) {
|
||||
return false;
|
||||
}
|
||||
SysTask other = (SysTask) that;
|
||||
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
|
||||
&& (this.getTaskName() == null ? other.getTaskName() == null : this.getTaskName().equals(other.getTaskName()))
|
||||
&& (this.getCron() == null ? other.getCron() == null : this.getCron().equals(other.getCron()))
|
||||
&& (this.getMethod() == null ? other.getMethod() == null : this.getMethod().equals(other.getMethod()))
|
||||
&& (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
|
||||
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
|
||||
result = prime * result + ((getTaskName() == null) ? 0 : getTaskName().hashCode());
|
||||
result = prime * result + ((getCron() == null) ? 0 : getCron().hashCode());
|
||||
result = prime * result + ((getMethod() == null) ? 0 : getMethod().hashCode());
|
||||
result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
|
||||
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(getClass().getSimpleName());
|
||||
sb.append(" [");
|
||||
sb.append("Hash = ").append(hashCode());
|
||||
sb.append(", id=").append(id);
|
||||
sb.append(", taskName=").append(taskName);
|
||||
sb.append(", cron=").append(cron);
|
||||
sb.append(", method=").append(method);
|
||||
sb.append(", remark=").append(remark);
|
||||
sb.append(", createTime=").append(createTime);
|
||||
sb.append(", serialVersionUID=").append(serialVersionUID);
|
||||
sb.append("]");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.qihang.jd.mapper;
|
||||
|
||||
import com.qihang.jd.domain.SysTask;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author TW
|
||||
* @description 针对表【sys_task】的数据库操作Mapper
|
||||
* @createDate 2024-03-07 10:15:38
|
||||
* @Entity com.qihang.jd.domain.SysTask
|
||||
*/
|
||||
public interface SysTaskMapper extends BaseMapper<SysTask> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.qihang.jd.service;
|
||||
|
||||
import com.qihang.jd.domain.SysTask;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author TW
|
||||
* @description 针对表【sys_task】的数据库操作Service
|
||||
* @createDate 2024-03-07 10:15:38
|
||||
*/
|
||||
public interface SysTaskService extends IService<SysTask> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.qihang.jd.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.qihang.jd.domain.SysTask;
|
||||
import com.qihang.jd.service.SysTaskService;
|
||||
import com.qihang.jd.mapper.SysTaskMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author TW
|
||||
* @description 针对表【sys_task】的数据库操作Service实现
|
||||
* @createDate 2024-03-07 10:15:38
|
||||
*/
|
||||
@Service
|
||||
public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask>
|
||||
implements SysTaskService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
package com.qihang.jd.task;
|
||||
|
||||
import com.qihang.common.task.SchedulingConfiguration;
|
||||
import org.springframework.boot.ApplicationArguments;
|
||||
import org.springframework.boot.ApplicationRunner;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
@Component
|
||||
public class CronTaskLoader implements ApplicationRunner {
|
||||
// private static final Logger log = LoggerFactory.getLogger(CronTaskLoader.class);
|
||||
private final SchedulingConfiguration schedulingConfiguration;
|
||||
private final AtomicBoolean appStarted = new AtomicBoolean(false);
|
||||
private final AtomicBoolean initializing = new AtomicBoolean(false);
|
||||
|
||||
public CronTaskLoader(SchedulingConfiguration schedulingConfiguration) {
|
||||
this.schedulingConfiguration = schedulingConfiguration;
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时任务配置刷新(1分钟刷新一次)
|
||||
*/
|
||||
@Scheduled(fixedDelay = 600000)
|
||||
public void cronTaskConfigRefresh() {
|
||||
if (appStarted.get() && initializing.compareAndSet(false, true)) {
|
||||
// log.info("定时调度任务动态加载开始>>>>>>");
|
||||
try {
|
||||
schedulingConfiguration.refresh();
|
||||
} finally {
|
||||
initializing.set(false);
|
||||
}
|
||||
// log.info("定时调度任务动态加载结束<<<<<<");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(ApplicationArguments args) {
|
||||
if (appStarted.compareAndSet(false, true)) {
|
||||
cronTaskConfigRefresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package com.qihang.jd.task;
|
||||
|
||||
import com.qihang.common.task.IPollableService;
|
||||
import com.qihang.jd.domain.SysTask;
|
||||
import com.qihang.jd.service.SysTaskService;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Service
|
||||
public class OrderTask implements IPollableService {
|
||||
|
||||
private final SysTaskService taskService;
|
||||
@Override
|
||||
public void poll() {
|
||||
System.out.printf("更新JD订单%s","echo");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCronExpression() {
|
||||
SysTask task = taskService.getById(1);
|
||||
// return "0/1 * * * * ?";
|
||||
return task.getCron();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.qihang.jd.mapper.SysTaskMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.qihang.jd.domain.SysTask">
|
||||
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||
<result property="taskName" column="task_name" jdbcType="VARCHAR"/>
|
||||
<result property="cron" column="cron" jdbcType="VARCHAR"/>
|
||||
<result property="method" column="method" jdbcType="VARCHAR"/>
|
||||
<result property="remark" column="remark" jdbcType="VARCHAR"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,task_name,cron,
|
||||
method,remark,create_time
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -26,7 +26,9 @@ public class HomeController {
|
|||
}
|
||||
@GetMapping(value = "/echo-feign")
|
||||
public String feign() {
|
||||
return echoService.echo();
|
||||
String token = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjdkOTBmN2EzLWUwNWQtNDkxNy04NjIzLTU1OGRhNGY3NjE3NiJ9._Oukm9b0P1WvcOywLdhs6_BOt_6mRSF41Q6f4fBm_DGUkPR86Qg1tqyRTM5ouTR2Xz46IRuRAVez8Wcl3NIlwg";
|
||||
|
||||
return echoService.echo(token);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,11 @@ package com.qihang.sys.api.feign;
|
|||
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestHeader;
|
||||
|
||||
|
||||
@FeignClient(name = "tao-api")
|
||||
public interface EchoService {
|
||||
@GetMapping(value = "/test/na")
|
||||
String echo();
|
||||
String echo(@RequestHeader(name = "Authorization",required = true) String Token);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
package com.qihang.sys.api.task;
|
||||
|
||||
import com.qihang.sys.api.domain.SysTask;
|
||||
import com.qihang.sys.api.feign.EchoService;
|
||||
import com.qihang.sys.api.service.SysTaskService;
|
||||
import com.qihang.sys.api.task.service.IPollableService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
@Service
|
||||
public class OrderTaskJD implements IPollableService {
|
||||
@Autowired
|
||||
private SysTaskService taskService;
|
||||
@Resource
|
||||
private EchoService echoService;
|
||||
@Override
|
||||
public void poll() {
|
||||
String echo = echoService.echo();
|
||||
System.out.printf("更新京东订单%s",echo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCronExpression() {
|
||||
SysTask task = taskService.getById(2);
|
||||
// return "0/1 * * * * ?";
|
||||
return task.getCron();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
//package com.qihang.sys.api.task;
|
||||
//
|
||||
//import com.qihang.sys.api.domain.SysTask;
|
||||
//import com.qihang.sys.api.feign.EchoService;
|
||||
//import com.qihang.sys.api.service.SysTaskService;
|
||||
//import com.qihang.common.task.IPollableService;
|
||||
//import jakarta.annotation.Resource;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//
|
||||
//
|
||||
//@Service
|
||||
//public class OrderTaskTao implements IPollableService {
|
||||
// @Autowired
|
||||
// private SysTaskService taskService;
|
||||
// @Resource
|
||||
// private EchoService echoService;
|
||||
// @Override
|
||||
// public void poll() {
|
||||
// String token = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjdkOTBmN2EzLWUwNWQtNDkxNy04NjIzLTU1OGRhNGY3NjE3NiJ9._Oukm9b0P1WvcOywLdhs6_BOt_6mRSF41Q6f4fBm_DGUkPR86Qg1tqyRTM5ouTR2Xz46IRuRAVez8Wcl3NIlwg";
|
||||
// String echo = echoService.echo(token);
|
||||
// System.out.printf("更新淘宝订单%s",echo);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String getCronExpression() {
|
||||
// SysTask task = taskService.getById(1);
|
||||
//// return "0/1 * * * * ?";
|
||||
// return task.getCron();
|
||||
// }
|
||||
//}
|
||||
|
|
@ -1,45 +1,44 @@
|
|||
package com.qihang.sys.api.task.core;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.boot.ApplicationArguments;
|
||||
import org.springframework.boot.ApplicationRunner;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
@Component
|
||||
public class CronTaskLoader implements ApplicationRunner {
|
||||
// private static final Logger log = LoggerFactory.getLogger(CronTaskLoader.class);
|
||||
private final SchedulingConfiguration schedulingConfiguration;
|
||||
private final AtomicBoolean appStarted = new AtomicBoolean(false);
|
||||
private final AtomicBoolean initializing = new AtomicBoolean(false);
|
||||
|
||||
public CronTaskLoader(SchedulingConfiguration schedulingConfiguration) {
|
||||
this.schedulingConfiguration = schedulingConfiguration;
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时任务配置刷新(1分钟刷新一次)
|
||||
*/
|
||||
@Scheduled(fixedDelay = 600000)
|
||||
public void cronTaskConfigRefresh() {
|
||||
if (appStarted.get() && initializing.compareAndSet(false, true)) {
|
||||
// log.info("定时调度任务动态加载开始>>>>>>");
|
||||
try {
|
||||
schedulingConfiguration.refresh();
|
||||
} finally {
|
||||
initializing.set(false);
|
||||
}
|
||||
// log.info("定时调度任务动态加载结束<<<<<<");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(ApplicationArguments args) {
|
||||
if (appStarted.compareAndSet(false, true)) {
|
||||
cronTaskConfigRefresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
//package com.qihang.sys.api.task.core;
|
||||
//
|
||||
//import com.qihang.common.task.SchedulingConfiguration;
|
||||
//import org.springframework.boot.ApplicationArguments;
|
||||
//import org.springframework.boot.ApplicationRunner;
|
||||
//import org.springframework.scheduling.annotation.Scheduled;
|
||||
//import org.springframework.stereotype.Component;
|
||||
//
|
||||
//import java.util.concurrent.atomic.AtomicBoolean;
|
||||
//
|
||||
//@Component
|
||||
//public class CronTaskLoader implements ApplicationRunner {
|
||||
//// private static final Logger log = LoggerFactory.getLogger(CronTaskLoader.class);
|
||||
// private final SchedulingConfiguration schedulingConfiguration;
|
||||
// private final AtomicBoolean appStarted = new AtomicBoolean(false);
|
||||
// private final AtomicBoolean initializing = new AtomicBoolean(false);
|
||||
//
|
||||
// public CronTaskLoader(SchedulingConfiguration schedulingConfiguration) {
|
||||
// this.schedulingConfiguration = schedulingConfiguration;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 定时任务配置刷新(1分钟刷新一次)
|
||||
// */
|
||||
// @Scheduled(fixedDelay = 600000)
|
||||
// public void cronTaskConfigRefresh() {
|
||||
// if (appStarted.get() && initializing.compareAndSet(false, true)) {
|
||||
//// log.info("定时调度任务动态加载开始>>>>>>");
|
||||
// try {
|
||||
// schedulingConfiguration.refresh();
|
||||
// } finally {
|
||||
// initializing.set(false);
|
||||
// }
|
||||
//// log.info("定时调度任务动态加载结束<<<<<<");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void run(ApplicationArguments args) {
|
||||
// if (appStarted.compareAndSet(false, true)) {
|
||||
// cronTaskConfigRefresh();
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
Loading…
Reference in New Issue