From b85e9a064dc7bab5952aab5d550e04af8614c67c Mon Sep 17 00:00:00 2001 From: Kevin <3031195374@qq.com> Date: Wed, 29 Mar 2023 10:40:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=8F=98=E7=BC=96=E7=A0=81=E9=A3=8E?= =?UTF-8?q?=E6=A0=BC=EF=BC=8C=E4=BD=BF=E7=94=A8thymeleaf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pearadmin/common/context/BeanContext.java | 19 ++++++++++++---- .../job/controller/ScheduleJobController.java | 11 +++------- .../job/service/IScheduleJobService.java | 3 ++- .../service/impl/ScheduleJobServiceImpl.java | 5 ++--- .../resources/templates/schedule/job/add.html | 18 +++------------ .../templates/schedule/job/edit.html | 22 +++++-------------- 6 files changed, 30 insertions(+), 48 deletions(-) diff --git a/src/main/java/com/pearadmin/common/context/BeanContext.java b/src/main/java/com/pearadmin/common/context/BeanContext.java index 96df97b1..d11b71c2 100644 --- a/src/main/java/com/pearadmin/common/context/BeanContext.java +++ b/src/main/java/com/pearadmin/common/context/BeanContext.java @@ -79,19 +79,30 @@ public class BeanContext implements ApplicationContextAware { * 获取 Bean 类型 * * @param name 名称 - * */ - public static Class getType(String name) { + */ + public static Class getType(String name) { return applicationContext.getType(name); } /** * 获取实现了接口,抽象类的bean + * * @param clazz 接口或抽象类 - * @param 接口,抽象类 + * @param 接口,抽象类 * @return 实现了接口,抽象类的bean */ - public static Map getBeansOfType(Class clazz){ + public static Map getBeansOfType(Class clazz) { return applicationContext.getBeansOfType(clazz); } + /** + * 获取实现了接口,抽象类的beanName + * + * @param clazz 接口,抽象类 + * @return 实现了接口,抽象类的beanName + */ + public static String[] getBeanNamesForType(Class clazz) { + return applicationContext.getBeanNamesForType(clazz); + } + } diff --git a/src/main/java/com/pearadmin/modules/job/controller/ScheduleJobController.java b/src/main/java/com/pearadmin/modules/job/controller/ScheduleJobController.java index a57701e7..bbbbda25 100644 --- a/src/main/java/com/pearadmin/modules/job/controller/ScheduleJobController.java +++ b/src/main/java/com/pearadmin/modules/job/controller/ScheduleJobController.java @@ -64,7 +64,8 @@ public class ScheduleJobController extends BaseController { */ @GetMapping("add") @PreAuthorize("hasPermission('/schdule/job/add','sch:job:add')") - public ModelAndView add() { + public ModelAndView add(Model model) { + model.addAttribute("beanNames", scheduleJobService.getBeanNames()); return jumpPage("schedule/job/add"); } @@ -77,6 +78,7 @@ public class ScheduleJobController extends BaseController { @PreAuthorize("hasPermission('/schdule/job/edit','sch:job:edit')") public ModelAndView edit(Model model, String jobId) { model.addAttribute("scheduleJob", scheduleJobService.getById(jobId)); + model.addAttribute("beanNames", scheduleJobService.getBeanNames()); return jumpPage("schedule/job/edit"); } @@ -157,11 +159,4 @@ public class ScheduleJobController extends BaseController { Boolean result = scheduleJobService.delete(jobId); return decide(result, "删除成功", "删除失败"); } - - @GetMapping("beans") - @PreAuthorize("hasPermission('/schdule/job/add','sch:job:add')") - public Result beans(){ - Set beanNames = scheduleJobService.getBeanNames(); - return success(beanNames); - } } diff --git a/src/main/java/com/pearadmin/modules/job/service/IScheduleJobService.java b/src/main/java/com/pearadmin/modules/job/service/IScheduleJobService.java index 49616032..afd4a9a9 100644 --- a/src/main/java/com/pearadmin/modules/job/service/IScheduleJobService.java +++ b/src/main/java/com/pearadmin/modules/job/service/IScheduleJobService.java @@ -79,7 +79,8 @@ public interface IScheduleJobService { /** * Describe: 获取定时任务可用的bean + * * @return beanName List */ - Set getBeanNames(); + String[] getBeanNames(); } diff --git a/src/main/java/com/pearadmin/modules/job/service/impl/ScheduleJobServiceImpl.java b/src/main/java/com/pearadmin/modules/job/service/impl/ScheduleJobServiceImpl.java index f91d4726..1d88f12a 100644 --- a/src/main/java/com/pearadmin/modules/job/service/impl/ScheduleJobServiceImpl.java +++ b/src/main/java/com/pearadmin/modules/job/service/impl/ScheduleJobServiceImpl.java @@ -170,8 +170,7 @@ public class ScheduleJobServiceImpl implements IScheduleJobService { } @Override - public Set getBeanNames() { - Map beans = BeanContext.getBeansOfType(BaseQuartz.class); - return beans.keySet(); + public String[] getBeanNames() { + return BeanContext.getBeanNamesForType(BaseQuartz.class); } } diff --git a/src/main/resources/templates/schedule/job/add.html b/src/main/resources/templates/schedule/job/add.html index 05848d8a..423e07bd 100644 --- a/src/main/resources/templates/schedule/job/add.html +++ b/src/main/resources/templates/schedule/job/add.html @@ -18,7 +18,9 @@
- +
@@ -92,20 +94,6 @@ }); return false; }); - - $.ajax({ - url: '/schedule/job/beans', - dataType: 'json', - contentType: 'application/json', - type: 'get', - success: function (response) { - let beanNames = response.data; - for (var i = 0; i < beanNames.length; i++) { - $('#beanName').append(""); - } - form.render(); - } - }) })