feat:环境隔离
This commit is contained in:
@@ -86,4 +86,9 @@ public class JobConfigDO implements Serializable {
|
||||
* 版本
|
||||
*/
|
||||
private Integer version;
|
||||
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
private Long env;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @Author: xiang
|
||||
@@ -15,6 +16,9 @@ import javax.validation.constraints.NotBlank;
|
||||
@NoArgsConstructor
|
||||
public class TaskRegisterRequest {
|
||||
|
||||
@NotNull(message = "命名空间不能为空")
|
||||
private Long env;
|
||||
|
||||
/**
|
||||
* 应用名称
|
||||
*/
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.List;
|
||||
public interface IQuartzConfigManage extends IService<JobConfigDO> {
|
||||
|
||||
|
||||
List<JobConfigDO> selectByAppName(String name);
|
||||
List<JobConfigDO> selectByAppName(String name, Long env);
|
||||
List<JobConfigDO> selectByAppNameAndVersion(String name, Integer version);
|
||||
|
||||
List<JobConfigDO> loadEnabledJobs();
|
||||
|
||||
@@ -18,10 +18,11 @@ import java.util.List;
|
||||
@Service
|
||||
public class QuartzConfigManageImpl extends ServiceImpl<IQuartzConfigMapper, JobConfigDO> implements IQuartzConfigManage {
|
||||
@Override
|
||||
public List<JobConfigDO> selectByAppName(String name) {
|
||||
public List<JobConfigDO> selectByAppName(String name, Long env) {
|
||||
LambdaQueryWrapper<JobConfigDO> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(JobConfigDO::getApplicationName, name);
|
||||
lqw.eq(JobConfigDO::getDelFlag, 0);
|
||||
lqw.eq(JobConfigDO::getEnv, env);
|
||||
return baseMapper.selectList(lqw);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,13 +22,15 @@ public class XxzJobFetchController {
|
||||
|
||||
private final ITaskConfigService taskConfigService;
|
||||
@GetMapping("/list")
|
||||
public Result<JobConfigDO> list(@RequestParam("appName") String appName) {
|
||||
List<JobConfigDO> jobsByAppName = taskConfigService.getJobsByAppName(appName);
|
||||
public Result<JobConfigDO> list(@RequestParam("appName") String appName, @RequestParam("env") Long env) {
|
||||
List<JobConfigDO> jobsByAppName = taskConfigService.getJobsByAppName(appName, env);
|
||||
return Result.success(jobsByAppName);
|
||||
}
|
||||
|
||||
@GetMapping("/listByVersion")
|
||||
public Result<JobConfigDO> listByVersion(@RequestParam("appName") String appName, @RequestParam("currVersion") Integer currVersion) {
|
||||
return Result.success(taskConfigService.getJobsByAppNameAndVersion(appName, currVersion));
|
||||
public Result<JobConfigDO> listByVersion(@RequestParam("appName") String appName,
|
||||
@RequestParam("currVersion") Integer currVersion,
|
||||
@RequestParam("env") Long env) {
|
||||
return Result.success(taskConfigService.getJobsByAppNameAndVersion(appName, currVersion, env));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ public interface ITaskConfigService {
|
||||
* @param appName
|
||||
* @return
|
||||
*/
|
||||
List<JobConfigDO> getJobsByAppName(String appName);
|
||||
List<JobConfigDO> getJobsByAppName(String appName, Long env);
|
||||
|
||||
/**
|
||||
* 根据应用名称和版本获取任务
|
||||
@@ -38,5 +38,5 @@ public interface ITaskConfigService {
|
||||
* @param version
|
||||
* @return
|
||||
*/
|
||||
List<JobConfigDO> getJobsByAppNameAndVersion(String appName, Integer version);
|
||||
List<JobConfigDO> getJobsByAppNameAndVersion(String appName, Integer version, Long env);
|
||||
}
|
||||
|
||||
@@ -41,7 +41,8 @@ public class TaskConfigServiceImpl implements ITaskConfigService {
|
||||
return false;
|
||||
}
|
||||
String applicationName = request.get(0).getApplicationName();
|
||||
List<JobConfigDO> jobs = quartzConfigManage.selectByAppName(applicationName);
|
||||
Long env = request.get(0).getEnv();
|
||||
List<JobConfigDO> jobs = quartzConfigManage.selectByAppName(applicationName, env);
|
||||
Map<String, JobConfigDO> existJobs = Maps.newHashMap();
|
||||
if (CollectionUtils.isNotEmpty(jobs)) {
|
||||
existJobs.putAll(jobs.stream().collect(Collectors.toMap(JobConfigDO::getBeanName, Function.identity(), (a, b) -> a)));
|
||||
@@ -69,13 +70,13 @@ public class TaskConfigServiceImpl implements ITaskConfigService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<JobConfigDO> getJobsByAppName(String appName) {
|
||||
return quartzConfigManage.selectByAppName(appName);
|
||||
public List<JobConfigDO> getJobsByAppName(String appName, Long env) {
|
||||
return quartzConfigManage.selectByAppName(appName, env);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<JobConfigDO> getJobsByAppNameAndVersion(String appName, Integer version) {
|
||||
List<JobConfigDO> jobConfigDOS = quartzConfigManage.selectByAppName(appName);
|
||||
public List<JobConfigDO> getJobsByAppNameAndVersion(String appName, Integer version, Long env) {
|
||||
List<JobConfigDO> jobConfigDOS = quartzConfigManage.selectByAppName(appName, env);
|
||||
Map<String, List<JobConfigDO>> map = Maps.newHashMap();
|
||||
if (CollectionUtils.isNotEmpty(jobConfigDOS)) {
|
||||
map.putAll(jobConfigDOS.stream().collect(Collectors.groupingBy(JobConfigDO::getBeanName)));
|
||||
@@ -104,5 +105,6 @@ public class TaskConfigServiceImpl implements ITaskConfigService {
|
||||
jobConfigDO.setClazz(item.getClazz());
|
||||
jobConfigDO.setMethod(item.getMethod());
|
||||
jobConfigDO.setJobSwitch(Objects.isNull(jobConfigDO.getJobSwitch()) ? 0 : jobConfigDO.getJobSwitch());
|
||||
jobConfigDO.setEnv(item.getEnv());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ server:
|
||||
port: 30030
|
||||
spring:
|
||||
profiles:
|
||||
active: test
|
||||
active: prod
|
||||
application:
|
||||
name: xservice-quartz-admin
|
||||
main:
|
||||
|
||||
Reference in New Issue
Block a user