🔨 命令执行用户.
This commit is contained in:
@@ -108,12 +108,12 @@ public class ExecJobController {
|
||||
}
|
||||
|
||||
@DemoDisableApi
|
||||
@OperatorLog(ExecJobOperatorType.SET_EXEC_USER)
|
||||
@PutMapping("/set-exec-user")
|
||||
@Operation(summary = "设置计划任务执行用户")
|
||||
@PreAuthorize("@ss.hasPermission('exec:exec-job:set-exec-user')")
|
||||
public Integer setExecJobExecUser(@Validated @RequestBody ExecJobSetExecUserRequest request) {
|
||||
return execJobService.setExecJobExecUser(request);
|
||||
@OperatorLog(ExecJobOperatorType.UPDATE_EXEC_USER)
|
||||
@PutMapping("/update-exec-user")
|
||||
@Operation(summary = "修改计划任务执行用户")
|
||||
@PreAuthorize("@ss.hasPermission('asset:exec-job:update-exec-user')")
|
||||
public Integer updateExecJobExecUser(@Validated @RequestBody ExecJobUpdateExecUserRequest request) {
|
||||
return execJobService.updateExecJobExecUser(request);
|
||||
}
|
||||
|
||||
@DemoDisableApi
|
||||
|
||||
@@ -28,7 +28,7 @@ import static org.dromara.visor.framework.biz.operator.log.core.enums.OperatorRi
|
||||
* @version 1.0.3
|
||||
* @since 2024-3-28 12:03
|
||||
*/
|
||||
@Module("exec:exec-job")
|
||||
@Module("asset:exec-job")
|
||||
public class ExecJobOperatorType extends InitializingOperatorTypes {
|
||||
|
||||
public static final String CREATE = "exec-job:create";
|
||||
@@ -39,7 +39,7 @@ public class ExecJobOperatorType extends InitializingOperatorTypes {
|
||||
|
||||
public static final String TRIGGER = "exec-job:trigger";
|
||||
|
||||
public static final String SET_EXEC_USER = "exec-job:set-exec-user";
|
||||
public static final String UPDATE_EXEC_USER = "exec-job:update-exec-user";
|
||||
|
||||
public static final String DELETE = "exec-job:delete";
|
||||
|
||||
@@ -54,7 +54,7 @@ public class ExecJobOperatorType extends InitializingOperatorTypes {
|
||||
new OperatorType(M, UPDATE, "更新计划任务 <sb>${before}</sb>"),
|
||||
new OperatorType(M, UPDATE_STATUS, "<sb>${statusName}</sb> 计划任务 <sb>${name}</sb>"),
|
||||
new OperatorType(M, TRIGGER, "手动触发计划任务 <sb>${name}</sb>"),
|
||||
new OperatorType(M, SET_EXEC_USER, "修改计划任务 <sb>${name}</sb> 执行用户为 <sb>${username}</sb>"),
|
||||
new OperatorType(M, UPDATE_EXEC_USER, "修改计划任务 <sb>${name}</sb> 执行用户为 <sb>${username}</sb>"),
|
||||
new OperatorType(H, DELETE, "删除计划任务 <sb>${name}</sb>"),
|
||||
new OperatorType(H, IMPORT, "导入计划任务 <sb>${count}</sb> 条"),
|
||||
new OperatorType(H, EXPORT, "导出计划任务 <sb>${count}</sb> 条"),
|
||||
|
||||
@@ -22,7 +22,7 @@ import org.dromara.visor.framework.common.entity.PageRequest;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 设置计划任务执行用户 查询请求对象
|
||||
* 修改计划任务执行用户 查询请求对象
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.3
|
||||
@@ -33,8 +33,8 @@ import javax.validation.constraints.NotNull;
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(name = "ExecJobSetExecUserRequest", description = "设置计划任务执行用户 查询请求对象")
|
||||
public class ExecJobSetExecUserRequest extends PageRequest {
|
||||
@Schema(name = "ExecJobUpdateExecUserRequest", description = "修改计划任务执行用户 查询请求对象")
|
||||
public class ExecJobUpdateExecUserRequest extends PageRequest {
|
||||
|
||||
@NotNull
|
||||
@Schema(description = "id")
|
||||
@@ -55,6 +55,14 @@ public interface ExecJobService {
|
||||
*/
|
||||
Integer updateExecJobStatus(ExecJobUpdateStatusRequest request);
|
||||
|
||||
/**
|
||||
* 修改执行用户
|
||||
*
|
||||
* @param request request
|
||||
* @return effect
|
||||
*/
|
||||
Integer updateExecJobExecUser(ExecJobUpdateExecUserRequest request);
|
||||
|
||||
/**
|
||||
* 查询计划任务
|
||||
*
|
||||
@@ -78,14 +86,6 @@ public interface ExecJobService {
|
||||
*/
|
||||
DataGrid<ExecJobVO> getExecJobPage(ExecJobQueryRequest request);
|
||||
|
||||
/**
|
||||
* 设置执行用户
|
||||
*
|
||||
* @param request request
|
||||
* @return effect
|
||||
*/
|
||||
Integer setExecJobExecUser(ExecJobSetExecUserRequest request);
|
||||
|
||||
/**
|
||||
* 获取下一个执行序列
|
||||
*
|
||||
|
||||
@@ -141,6 +141,7 @@ public class ExecCommandServiceImpl implements ExecCommandService {
|
||||
.username(request.getUsername())
|
||||
.source(request.getSource())
|
||||
.sourceId(request.getSourceId())
|
||||
.execMode(request.getExecMode())
|
||||
.execSeq(request.getExecSeq())
|
||||
.description(Strings.ifBlank(request.getDescription(), () -> {
|
||||
if (command.length() < DESC_OMIT + Const.OMIT.length()) {
|
||||
|
||||
@@ -97,6 +97,7 @@ public class ExecJobServiceImpl implements ExecJobService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long createExecJob(ExecJobCreateRequest request) {
|
||||
log.info("ExecJobService-createExecJob request: {}", JSON.toJSONString(request));
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
// 验证表达式是否正确
|
||||
Cron.of(request.getExpression());
|
||||
Valid.valid(ScriptExecEnum::of, request.getScriptExec());
|
||||
@@ -108,6 +109,10 @@ public class ExecJobServiceImpl implements ExecJobService {
|
||||
this.checkHostPermission(request.getHostIdList());
|
||||
// 插入任务
|
||||
record.setStatus(ExecJobStatusEnum.DISABLED.getStatus());
|
||||
if (loginUser != null) {
|
||||
record.setExecUserId(loginUser.getId());
|
||||
record.setExecUsername(loginUser.getUsername());
|
||||
}
|
||||
int effect = execJobDAO.insert(record);
|
||||
Long id = record.getId();
|
||||
// 设置任务主机
|
||||
@@ -170,6 +175,31 @@ public class ExecJobServiceImpl implements ExecJobService {
|
||||
return effect;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Integer updateExecJobExecUser(ExecJobUpdateExecUserRequest request) {
|
||||
Long id = request.getId();
|
||||
Long userId = request.getUserId();
|
||||
log.info("ExecJobService-updateExecJobExecUser id: {}, userId: {}", id, userId);
|
||||
// 查询任务
|
||||
ExecJobDO job = execJobDAO.selectById(id);
|
||||
Valid.notNull(job, ErrorMessage.DATA_ABSENT);
|
||||
// 查询用户
|
||||
String username = systemUserApi.getUsernameById(userId);
|
||||
Valid.notNull(username, ErrorMessage.USER_ABSENT);
|
||||
// 修改任务
|
||||
ExecJobDO update = new ExecJobDO();
|
||||
update.setId(id);
|
||||
update.setExecUserId(userId);
|
||||
update.setExecUsername(username);
|
||||
int effect = execJobDAO.updateById(update);
|
||||
// 设置日志参数
|
||||
OperatorLogs.add(OperatorLogs.NAME, job.getName());
|
||||
OperatorLogs.add(OperatorLogs.USERNAME, username);
|
||||
log.info("ExecJobService-setExecJobExecUser effect: {}", effect);
|
||||
return effect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExecJobVO getExecJobById(Long id) {
|
||||
// 查询任务
|
||||
@@ -239,30 +269,6 @@ public class ExecJobServiceImpl implements ExecJobService {
|
||||
return dataGrid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer setExecJobExecUser(ExecJobSetExecUserRequest request) {
|
||||
Long id = request.getId();
|
||||
Long userId = request.getUserId();
|
||||
log.info("ExecJobService-setExecJobExecUser id: {}, userId: {}", id, userId);
|
||||
// 查询任务
|
||||
ExecJobDO job = execJobDAO.selectById(id);
|
||||
Valid.notNull(job, ErrorMessage.DATA_ABSENT);
|
||||
// 查询用户
|
||||
String username = systemUserApi.getUsernameById(userId);
|
||||
Valid.notNull(username, ErrorMessage.USER_ABSENT);
|
||||
// 修改任务
|
||||
ExecJobDO update = new ExecJobDO();
|
||||
update.setId(id);
|
||||
update.setExecUserId(userId);
|
||||
update.setExecUsername(username);
|
||||
int effect = execJobDAO.updateById(update);
|
||||
// 设置日志参数
|
||||
OperatorLogs.add(OperatorLogs.NAME, job.getName());
|
||||
OperatorLogs.add(OperatorLogs.USERNAME, username);
|
||||
log.info("ExecJobService-setExecJobExecUser effect: {}", effect);
|
||||
return effect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getNextExecSeq(Long id) {
|
||||
// 自增
|
||||
|
||||
Reference in New Issue
Block a user