diff --git a/src/main/java/com/pearadmin/common/context/BeanContext.java b/src/main/java/com/pearadmin/common/context/BeanContext.java index 96df97b150982ceba873a65a722fcd4758714559..d11b71c29dff8c9847b3f4fe92595d25c105c864 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 a57701e7941aafc05a1bf4e119287aec5bbb7fae..bbbbda2560d922e8a1f61d72f66dd7a33f7c3326 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 496160320a0d17453e8f24666ea0a9e1c5fc8754..afd4a9a90891cb46a8fb3aed9b8f69df24318034 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 f91d472646b6ce2121c829c90edd6c4fca24faec..1d88f12a79ae678ec0bdf7280dd87d5c2b025e13 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 05848d8a15670883c4216e10a36f2df1d607ef38..423e07bda2db4e332e10eb2c9978886fc4398ee3 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(); - } - }) })