Procházet zdrojové kódy

任务列表支持根据状态筛选

xuxueli před 6 roky
rodič
revize
ac5897a8e2

+ 1 - 0
doc/XXL-JOB官方文档.md Zobrazit soubor

@@ -1461,6 +1461,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
1461 1461
 - 8、升级xxl-rpc至较新版本,并清理冗余POM;
1462 1462
 - 9、注册表索引优化,缓解锁表问题;
1463 1463
 - 10、新增Jboot执行器Sample示例项目;
1464
+- 11、任务列表支持根据状态筛选;
1464 1465
 
1465 1466
 
1466 1467
 ### TODO LIST

+ 1 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java Zobrazit soubor

@@ -142,7 +142,7 @@ public class JobGroupController {
142 142
 	public ReturnT<String> remove(int id){
143 143
 
144 144
 		// valid
145
-		int count = xxlJobInfoDao.pageListCount(0, 10, id, null, null);
145
+		int count = xxlJobInfoDao.pageListCount(0, 10, id, -1,  null, null);
146 146
 		if (count > 0) {
147 147
 			return new ReturnT<String>(500, I18nUtil.getString("jobgroup_del_limit_0") );
148 148
 		}

+ 2 - 2
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java Zobrazit soubor

@@ -94,9 +94,9 @@ public class JobInfoController {
94 94
 	@ResponseBody
95 95
 	public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,  
96 96
 			@RequestParam(required = false, defaultValue = "10") int length,
97
-			int jobGroup, String jobDesc, String executorHandler, String filterTime) {
97
+			int jobGroup, int triggerStatus, String jobDesc, String executorHandler, String filterTime) {
98 98
 		
99
-		return xxlJobService.pageList(start, length, jobGroup, jobDesc, executorHandler, filterTime);
99
+		return xxlJobService.pageList(start, length, jobGroup, triggerStatus, jobDesc, executorHandler, filterTime);
100 100
 	}
101 101
 	
102 102
 	@RequestMapping("/add")

+ 2 - 0
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobInfoDao.java Zobrazit soubor

@@ -17,11 +17,13 @@ public interface XxlJobInfoDao {
17 17
 	public List<XxlJobInfo> pageList(@Param("offset") int offset,
18 18
 									 @Param("pagesize") int pagesize,
19 19
 									 @Param("jobGroup") int jobGroup,
20
+									 @Param("triggerStatus") int triggerStatus,
20 21
 									 @Param("jobDesc") String jobDesc,
21 22
 									 @Param("executorHandler") String executorHandler);
22 23
 	public int pageListCount(@Param("offset") int offset,
23 24
 							 @Param("pagesize") int pagesize,
24 25
 							 @Param("jobGroup") int jobGroup,
26
+							 @Param("triggerStatus") int triggerStatus,
25 27
 							 @Param("jobDesc") String jobDesc,
26 28
 							 @Param("executorHandler") String executorHandler);
27 29
 	

+ 1 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/service/XxlJobService.java Zobrazit soubor

@@ -25,7 +25,7 @@ public interface XxlJobService {
25 25
 	 * @param filterTime
26 26
 	 * @return
27 27
 	 */
28
-	public Map<String, Object> pageList(int start, int length, int jobGroup, String jobDesc, String executorHandler, String filterTime);
28
+	public Map<String, Object> pageList(int start, int length, int jobGroup, int triggerStatus, String jobDesc, String executorHandler, String filterTime);
29 29
 
30 30
 	/**
31 31
 	 * add job

+ 3 - 3
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java Zobrazit soubor

@@ -41,11 +41,11 @@ public class XxlJobServiceImpl implements XxlJobService {
41 41
 	private XxlJobLogGlueDao xxlJobLogGlueDao;
42 42
 	
43 43
 	@Override
44
-	public Map<String, Object> pageList(int start, int length, int jobGroup, String jobDesc, String executorHandler, String filterTime) {
44
+	public Map<String, Object> pageList(int start, int length, int jobGroup, int triggerStatus, String jobDesc, String executorHandler, String filterTime) {
45 45
 
46 46
 		// page list
47
-		List<XxlJobInfo> list = xxlJobInfoDao.pageList(start, length, jobGroup, jobDesc, executorHandler);
48
-		int list_count = xxlJobInfoDao.pageListCount(start, length, jobGroup, jobDesc, executorHandler);
47
+		List<XxlJobInfo> list = xxlJobInfoDao.pageList(start, length, jobGroup, triggerStatus, jobDesc, executorHandler);
48
+		int list_count = xxlJobInfoDao.pageListCount(start, length, jobGroup, triggerStatus, jobDesc, executorHandler);
49 49
 		
50 50
 		// package result
51 51
 		Map<String, Object> maps = new HashMap<String, Object>();

+ 1 - 1
xxl-job-admin/src/main/resources/i18n/message.properties Zobrazit soubor

@@ -101,7 +101,7 @@ job_dashboard_rate_report=成功比例图
101 101
 ## job info
102 102
 jobinfo_name=任务管理
103 103
 jobinfo_job=任务
104
-jobinfo_field_add=新增任务
104
+jobinfo_field_add=新增
105 105
 jobinfo_field_update=更新任务
106 106
 jobinfo_field_id=任务ID
107 107
 jobinfo_field_jobgroup=执行器

+ 6 - 0
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml Zobrazit soubor

@@ -67,6 +67,9 @@
67 67
 			<if test="jobGroup gt 0">
68 68
 				AND t.job_group = #{jobGroup}
69 69
 			</if>
70
+            <if test="triggerStatus gte 0">
71
+                AND t.trigger_status = #{triggerStatus}
72
+            </if>
70 73
 			<if test="jobDesc != null and jobDesc != ''">
71 74
 				AND t.job_desc like CONCAT(CONCAT('%', #{jobDesc}), '%')
72 75
 			</if>
@@ -85,6 +88,9 @@
85 88
 			<if test="jobGroup gt 0">
86 89
 				AND t.job_group = #{jobGroup}
87 90
 			</if>
91
+            <if test="triggerStatus gte 0">
92
+                AND t.trigger_status = #{triggerStatus}
93
+            </if>
88 94
 			<if test="jobDesc != null and jobDesc != ''">
89 95
 				AND t.job_desc like CONCAT(CONCAT('%', #{jobDesc}), '%')
90 96
 			</if>

+ 1 - 0
xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js Zobrazit soubor

@@ -11,6 +11,7 @@ $(function() {
11 11
 	        data : function ( d ) {
12 12
 	        	var obj = {};
13 13
 	        	obj.jobGroup = $('#jobGroup').val();
14
+                obj.triggerStatus = $('#triggerStatus').val();
14 15
                 obj.jobDesc = $('#jobDesc').val();
15 16
 	        	obj.executorHandler = $('#executorHandler').val();
16 17
 	        	obj.start = d.start;

+ 10 - 1
xxl-job-admin/src/main/resources/templates/jobinfo/jobinfo.index.ftl Zobrazit soubor

@@ -35,6 +35,15 @@
35 35
 	                  	</select>
36 36
 	              	</div>
37 37
 	            </div>
38
+                <div class="col-xs-1">
39
+                    <div class="input-group">
40
+                        <select class="form-control" id="triggerStatus" >
41
+                            <option value="-1" >${I18n.system_all}</option>
42
+                            <option value="0" >${I18n.jobinfo_opt_stop}</option>
43
+                            <option value="1" >${I18n.jobinfo_opt_start}</option>
44
+                        </select>
45
+                    </div>
46
+                </div>
38 47
                 <div class="col-xs-3">
39 48
                     <div class="input-group">
40 49
                         <span class="input-group-addon">${I18n.jobinfo_field_jobdesc}</span>
@@ -50,7 +59,7 @@
50 59
 	            <div class="col-xs-1">
51 60
 	            	<button class="btn btn-block btn-info" id="searchBtn">${I18n.system_search}</button>
52 61
 	            </div>
53
-	            <div class="col-xs-2">
62
+	            <div class="col-xs-1">
54 63
 	            	<button class="btn btn-block btn-success add" type="button">${I18n.jobinfo_field_add}</button>
55 64
 	            </div>
56 65
           	</div>

+ 2 - 2
xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java Zobrazit soubor

@@ -19,8 +19,8 @@ public class XxlJobInfoDaoTest {
19 19
 	
20 20
 	@Test
21 21
 	public void pageList(){
22
-		List<XxlJobInfo> list = xxlJobInfoDao.pageList(0, 20, 0, null, null);
23
-		int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null, null);
22
+		List<XxlJobInfo> list = xxlJobInfoDao.pageList(0, 20, 0, -1, null, null);
23
+		int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, -1, null, null);
24 24
 		
25 25
 		System.out.println(list);
26 26
 		System.out.println(list_count);