diff --git a/common/service-utils/src/main/java/cn/bunny/common/service/exception/GlobalExceptionHandler.java b/common/service-utils/src/main/java/cn/bunny/common/service/exception/GlobalExceptionHandler.java index ec0d51f..5efec06 100644 --- a/common/service-utils/src/main/java/cn/bunny/common/service/exception/GlobalExceptionHandler.java +++ b/common/service-utils/src/main/java/cn/bunny/common/service/exception/GlobalExceptionHandler.java @@ -58,6 +58,13 @@ public class GlobalExceptionHandler { return Result.error(null, 500, "[" + primaryKeyErrorMatcher.group(1) + "]已存在"); } + // corn表达式错误 + String cronExpression = "CronExpression '(.*?)' is invalid"; + Matcher cronExpressionMatcher = Pattern.compile(cronExpression).matcher(message); + if (cronExpressionMatcher.find()) { + return Result.error(null, 500, "表达式 " + cronExpressionMatcher.group(1) + " 不合法"); + } + log.error("GlobalExceptionHandler===>运行时异常信息:{}", message); exception.printStackTrace(); return Result.error(null, 500, "服务器异常"); diff --git a/common/service-utils/src/main/java/cn/bunny/common/service/utils/minio/MinioUtil.java b/common/service-utils/src/main/java/cn/bunny/common/service/utils/minio/MinioUtil.java index 8647685..dadac0a 100644 --- a/common/service-utils/src/main/java/cn/bunny/common/service/utils/minio/MinioUtil.java +++ b/common/service-utils/src/main/java/cn/bunny/common/service/utils/minio/MinioUtil.java @@ -87,7 +87,7 @@ public class MinioUtil { return minioFile; } catch (Exception exception) { - throw new AuthCustomerException(ResultCodeEnum.UPDATE_ERROR); + throw new AuthCustomerException(ResultCodeEnum.UPLOAD_ERROR); } } @@ -135,7 +135,7 @@ public class MinioUtil { minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(filename).stream(inputStream, size, -1).build()); } catch (Exception exception) { log.error("上传文件失败:{}", (Object) exception.getStackTrace()); - throw new AuthCustomerException(ResultCodeEnum.UPDATE_ERROR); + throw new AuthCustomerException(ResultCodeEnum.UPLOAD_ERROR); } } diff --git a/dao/src/main/java/cn/bunny/dao/dto/quartz/schedule/SchedulersUpdateDto.java b/dao/src/main/java/cn/bunny/dao/dto/quartz/schedule/SchedulersUpdateDto.java index 9bc5365..c9b9ef1 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/quartz/schedule/SchedulersUpdateDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/quartz/schedule/SchedulersUpdateDto.java @@ -30,19 +30,19 @@ public class SchedulersUpdateDto { @NotNull(message = "任务详情不能为空") private String description; - @Schema(name = "jobClassName", title = "任务类名称") - @NotBlank(message = "corn表达式不能为空") - @NotNull(message = "corn表达式不能为空") - private String jobClassName; + // @Schema(name = "jobClassName", title = "任务类名称") + // @NotBlank(message = "corn表达式不能为空") + // @NotNull(message = "corn表达式不能为空") + // private String jobClassName; @Schema(name = "cronExpression", title = "corn表达式") @NotBlank(message = "corn表达式不能为空") @NotNull(message = "corn表达式不能为空") private String cronExpression; - @Schema(name = "jobMethodName", title = "执行方法") - @NotBlank(message = "执行方法不能为空") - @NotNull(message = "执行方法不能为空") - private String jobMethodName; + // @Schema(name = "jobMethodName", title = "执行方法") + // @NotBlank(message = "执行方法不能为空") + // @NotNull(message = "执行方法不能为空") + // private String jobMethodName; } \ No newline at end of file diff --git a/dao/src/main/java/cn/bunny/dao/pojo/result/ResultCodeEnum.java b/dao/src/main/java/cn/bunny/dao/pojo/result/ResultCodeEnum.java index 7c50038..a58ea07 100644 --- a/dao/src/main/java/cn/bunny/dao/pojo/result/ResultCodeEnum.java +++ b/dao/src/main/java/cn/bunny/dao/pojo/result/ResultCodeEnum.java @@ -58,6 +58,7 @@ public enum ResultCodeEnum { THE_SAME_USER_HAS_LOGGED_IN(209, "相同用户已登录"), // 提示错误 + UPDATE_ERROR(216, "修改失败"), URL_ENCODE_ERROR(216, "URL编码失败"), ILLEGAL_CALLBACK_REQUEST_ERROR(217, "非法回调请求"), FETCH_USERINFO_ERROR(219, "获取用户信息失败"), @@ -75,7 +76,7 @@ public enum ResultCodeEnum { // 系统错误 500 UNKNOWN_EXCEPTION(500, "服务异常"), SERVICE_ERROR(500, "服务异常"), - UPDATE_ERROR(500, "上传文件失败"), + UPLOAD_ERROR(500, "上传失败"), FAIL(500, "失败"), ; diff --git a/service/src/main/java/cn/bunny/services/controller/SchedulersController.java b/service/src/main/java/cn/bunny/services/controller/SchedulersController.java index e9541fd..a0a68b1 100644 --- a/service/src/main/java/cn/bunny/services/controller/SchedulersController.java +++ b/service/src/main/java/cn/bunny/services/controller/SchedulersController.java @@ -3,6 +3,7 @@ package cn.bunny.services.controller; import cn.bunny.dao.dto.quartz.SchedulersOperationDto; import cn.bunny.dao.dto.quartz.schedule.SchedulersAddDto; import cn.bunny.dao.dto.quartz.schedule.SchedulersDto; +import cn.bunny.dao.dto.quartz.schedule.SchedulersUpdateDto; import cn.bunny.dao.entity.quartz.Schedulers; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.pojo.result.Result; @@ -64,6 +65,14 @@ public class SchedulersController { return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS)); } + @Operation(summary = "更新任务", description = "更新任务") + @PutMapping("updateSchedulers") + public Result updateSchedulers(@Valid @RequestBody SchedulersUpdateDto dto) { + schedulersService.updateSchedulers(dto); + return Result.success(ResultCodeEnum.UPDATE_SUCCESS); + } + + @Operation(summary = "暂停任务", description = "暂停任务") @PutMapping("/pauseSchedulers") public Result pause(@RequestBody SchedulersOperationDto dto) { diff --git a/service/src/main/java/cn/bunny/services/service/SchedulersService.java b/service/src/main/java/cn/bunny/services/service/SchedulersService.java index 5f2ff0a..26396ba 100644 --- a/service/src/main/java/cn/bunny/services/service/SchedulersService.java +++ b/service/src/main/java/cn/bunny/services/service/SchedulersService.java @@ -3,6 +3,7 @@ package cn.bunny.services.service; import cn.bunny.dao.dto.quartz.SchedulersOperationDto; import cn.bunny.dao.dto.quartz.schedule.SchedulersAddDto; import cn.bunny.dao.dto.quartz.schedule.SchedulersDto; +import cn.bunny.dao.dto.quartz.schedule.SchedulersUpdateDto; import cn.bunny.dao.entity.quartz.Schedulers; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.vo.quartz.SchedulersVo; @@ -64,4 +65,11 @@ public interface SchedulersService extends IService { * @return 所有调度任务内容 */ List> getAllScheduleJobList(); + + /** + * 更新任务 + * + * @param dto 更新任务表单 + */ + void updateSchedulers(SchedulersUpdateDto dto); } diff --git a/service/src/main/java/cn/bunny/services/service/impl/EmailTemplateServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/EmailTemplateServiceImpl.java index 866a564..31e3f03 100644 --- a/service/src/main/java/cn/bunny/services/service/impl/EmailTemplateServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/impl/EmailTemplateServiceImpl.java @@ -130,6 +130,15 @@ public class EmailTemplateServiceImpl extends ServiceImpl emailTemplates = list(Wrappers.lambdaQuery().eq(EmailTemplate::getType, type)); + List isEmailTemplateListEmpty = emailTemplates.stream().filter(template -> template.getIsDefault().equals(true)).toList(); + if (isEmailTemplateListEmpty.isEmpty()) { + EmailTemplate template = emailTemplates.get(0); + template.setIsDefault(Boolean.TRUE); + updateById(template); + } } /** diff --git a/service/src/main/java/cn/bunny/services/service/impl/SchedulersServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/SchedulersServiceImpl.java index 21122d8..6f4bf83 100644 --- a/service/src/main/java/cn/bunny/services/service/impl/SchedulersServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/impl/SchedulersServiceImpl.java @@ -4,8 +4,10 @@ import cn.bunny.common.service.exception.AuthCustomerException; import cn.bunny.dao.dto.quartz.SchedulersOperationDto; import cn.bunny.dao.dto.quartz.schedule.SchedulersAddDto; import cn.bunny.dao.dto.quartz.schedule.SchedulersDto; +import cn.bunny.dao.dto.quartz.schedule.SchedulersUpdateDto; import cn.bunny.dao.entity.quartz.Schedulers; import cn.bunny.dao.pojo.result.PageResult; +import cn.bunny.dao.pojo.result.ResultCodeEnum; import cn.bunny.dao.vo.quartz.SchedulersVo; import cn.bunny.services.aop.AnnotationScanner; import cn.bunny.services.aop.annotation.QuartzSchedulers; @@ -20,10 +22,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** *

@@ -92,6 +91,36 @@ public class SchedulersServiceImpl extends ServiceImpl