Pārlūkot izejas kodu

GLUE编辑器以及后端交互更新

xueli.xue 9 gadus atpakaļ
vecāks
revīzija
74e4e58c0e

+ 49 - 3
xxl-job-admin/src/main/java/com/xxl/job/controller/JobCodeController.java Parādīt failu

@@ -1,7 +1,10 @@
1 1
 package com.xxl.job.controller;
2 2
 
3
-import javax.servlet.http.HttpServletRequest;
3
+import java.util.List;
4 4
 
5
+import javax.annotation.Resource;
6
+
7
+import org.apache.commons.lang.StringUtils;
5 8
 import org.springframework.stereotype.Controller;
6 9
 import org.springframework.ui.Model;
7 10
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -9,6 +12,9 @@ import org.springframework.web.bind.annotation.ResponseBody;
9 12
 
10 13
 import com.xxl.job.core.model.ReturnT;
11 14
 import com.xxl.job.core.model.XxlJobInfo;
15
+import com.xxl.job.core.model.XxlJobLogGlue;
16
+import com.xxl.job.dao.IXxlJobInfoDao;
17
+import com.xxl.job.dao.IXxlJobLogGlueDao;
12 18
 
13 19
 /**
14 20
  * job code controller
@@ -17,15 +23,55 @@ import com.xxl.job.core.model.XxlJobInfo;
17 23
 @Controller
18 24
 @RequestMapping("/jobcode")
19 25
 public class JobCodeController {
26
+	
27
+	@Resource
28
+	private IXxlJobInfoDao xxlJobInfoDao;
29
+	@Resource
30
+	private IXxlJobLogGlueDao xxlJobLogGlueDao;
20 31
 
21 32
 	@RequestMapping
22
-	public String index(Model model, HttpServletRequest request) {
33
+	public String index(Model model, String jobGroup, String jobName) {
34
+		XxlJobInfo jobInfo = xxlJobInfoDao.load(jobGroup, jobName);
35
+		List<XxlJobLogGlue> jobLogGlues = xxlJobLogGlueDao.selectList(jobGroup, jobName);
36
+		model.addAttribute("jobInfo", jobInfo);
37
+		model.addAttribute("jobLogGlues", jobLogGlues);
23 38
 		return "jobcode/index";
24 39
 	}
25 40
 	
26 41
 	@RequestMapping("/save")
27 42
 	@ResponseBody
28
-	public ReturnT<String> save(Model model, XxlJobInfo jobInfo, HttpServletRequest request) {
43
+	public ReturnT<String> save(Model model, String jobGroup, String jobName, String glueSource, String glueRemark) {
44
+		// valid
45
+		if (glueRemark==null) {
46
+			return new ReturnT<String>(500, "请输入备注");
47
+		}
48
+		if (glueRemark.length()<6 || glueRemark.length()>100) {
49
+			return new ReturnT<String>(500, "备注长度应该在6至100之间");
50
+		}
51
+		XxlJobInfo jobInfoOld = xxlJobInfoDao.load(jobGroup, jobName);
52
+		if (jobInfoOld == null) {
53
+			return new ReturnT<String>(500, "任务不存在");
54
+		}
55
+		
56
+		// log old code
57
+		XxlJobLogGlue xxlJobLogGlue = new XxlJobLogGlue();
58
+		xxlJobLogGlue.setJobGroup(jobInfoOld.getJobGroup());
59
+		xxlJobLogGlue.setJobName(jobInfoOld.getJobName());
60
+		xxlJobLogGlue.setGlueSource(jobInfoOld.getGlueSource());
61
+		xxlJobLogGlue.setGlueRemark(jobInfoOld.getGlueRemark());
62
+		
63
+		// init new code
64
+		jobInfoOld.setGlueSource(glueSource);
65
+		jobInfoOld.setGlueRemark(glueRemark);
66
+		
67
+		// update new code ,and log old code
68
+		xxlJobInfoDao.update(jobInfoOld);
69
+		if (StringUtils.isNotBlank(xxlJobLogGlue.getGlueSource()) && StringUtils.isNotBlank(xxlJobLogGlue.getGlueRemark())) {
70
+			xxlJobLogGlueDao.save(xxlJobLogGlue);
71
+			// remove code backup more than 30
72
+			xxlJobLogGlueDao.removeOld(xxlJobLogGlue.getJobGroup(), xxlJobLogGlue.getJobName(), 3);
73
+		}
74
+		
29 75
 		
30 76
 		return ReturnT.SUCCESS;
31 77
 	}

+ 8 - 0
xxl-job-admin/src/main/java/com/xxl/job/controller/JobInfoController.java Parādīt failu

@@ -22,6 +22,8 @@ import com.xxl.job.core.model.ReturnT;
22 22
 import com.xxl.job.core.model.XxlJobInfo;
23 23
 import com.xxl.job.core.util.DynamicSchedulerUtil;
24 24
 import com.xxl.job.dao.IXxlJobInfoDao;
25
+import com.xxl.job.dao.IXxlJobLogDao;
26
+import com.xxl.job.dao.IXxlJobLogGlueDao;
25 27
 import com.xxl.job.service.job.RemoteHttpJobBean;
26 28
 
27 29
 /**
@@ -34,6 +36,10 @@ public class JobInfoController {
34 36
 	
35 37
 	@Resource
36 38
 	private IXxlJobInfoDao xxlJobInfoDao;
39
+	@Resource
40
+	public IXxlJobLogDao xxlJobLogDao;
41
+	@Resource
42
+	private IXxlJobLogGlueDao xxlJobLogGlueDao;
37 43
 	
38 44
 	@RequestMapping
39 45
 	public String index(Model model) {
@@ -216,6 +222,8 @@ public class JobInfoController {
216 222
 		try {
217 223
 			DynamicSchedulerUtil.removeJob(jobName, jobGroup);
218 224
 			xxlJobInfoDao.delete(jobGroup, jobName);
225
+			xxlJobLogDao.delete(jobGroup, jobName);
226
+			xxlJobLogGlueDao.delete(jobGroup, jobName);
219 227
 			return ReturnT.SUCCESS;
220 228
 		} catch (SchedulerException e) {
221 229
 			e.printStackTrace();

+ 69 - 0
xxl-job-admin/src/main/java/com/xxl/job/core/model/XxlJobLogGlue.java Parādīt failu

@@ -0,0 +1,69 @@
1
+package com.xxl.job.core.model;
2
+
3
+/**
4
+ * xxl-job log for glue, used to track job code process
5
+ * @author xuxueli 2016-5-19 17:57:46
6
+ */
7
+public class XxlJobLogGlue {
8
+	
9
+	private int id;
10
+	
11
+	private String jobGroup;
12
+	private String jobName;
13
+	
14
+	private String glueSource;
15
+	private String glueRemark;
16
+	private String addTime;
17
+	private String updateTime;
18
+	
19
+	public int getId() {
20
+		return id;
21
+	}
22
+	public void setId(int id) {
23
+		this.id = id;
24
+	}
25
+	public String getJobGroup() {
26
+		return jobGroup;
27
+	}
28
+	public void setJobGroup(String jobGroup) {
29
+		this.jobGroup = jobGroup;
30
+	}
31
+	public String getJobName() {
32
+		return jobName;
33
+	}
34
+	public void setJobName(String jobName) {
35
+		this.jobName = jobName;
36
+	}
37
+	public String getGlueSource() {
38
+		return glueSource;
39
+	}
40
+	public void setGlueSource(String glueSource) {
41
+		this.glueSource = glueSource;
42
+	}
43
+	public String getGlueRemark() {
44
+		return glueRemark;
45
+	}
46
+	public void setGlueRemark(String glueRemark) {
47
+		this.glueRemark = glueRemark;
48
+	}
49
+	public String getAddTime() {
50
+		return addTime;
51
+	}
52
+	public void setAddTime(String addTime) {
53
+		this.addTime = addTime;
54
+	}
55
+	public String getUpdateTime() {
56
+		return updateTime;
57
+	}
58
+	public void setUpdateTime(String updateTime) {
59
+		this.updateTime = updateTime;
60
+	}
61
+	
62
+	@Override
63
+	public String toString() {
64
+		return "XxlJobLogGlue [id=" + id + ", jobGroup=" + jobGroup + ", jobName=" + jobName + ", glueSource="
65
+				+ glueSource + ", glueRemark=" + glueRemark + ", addTime=" + addTime + ", updateTime=" + updateTime
66
+				+ "]";
67
+	}
68
+	
69
+}

+ 2 - 0
xxl-job-admin/src/main/java/com/xxl/job/dao/IXxlJobLogDao.java Parādīt failu

@@ -21,4 +21,6 @@ public interface IXxlJobLogDao {
21 21
 	public int updateTriggerInfo(XxlJobLog xxlJobLog);
22 22
 	public int updateHandleInfo(XxlJobLog xxlJobLog);
23 23
 	
24
+	public int delete(String jobGroup, String jobName);
25
+	
24 26
 }

+ 21 - 0
xxl-job-admin/src/main/java/com/xxl/job/dao/IXxlJobLogGlueDao.java Parādīt failu

@@ -0,0 +1,21 @@
1
+package com.xxl.job.dao;
2
+
3
+import java.util.List;
4
+
5
+import com.xxl.job.core.model.XxlJobLogGlue;
6
+
7
+/**
8
+ * job log for glue
9
+ * @author xuxueli 2016-5-19 18:04:56
10
+ */
11
+public interface IXxlJobLogGlueDao {
12
+	
13
+	public int save(XxlJobLogGlue xxlJobLogGlue);
14
+	
15
+	public List<XxlJobLogGlue> selectList(String jobGroup, String jobName);
16
+
17
+	public int removeOld(String jobGroup, String jobName, int limit);
18
+
19
+	public int delete(String jobGroup, String jobName);
20
+	
21
+}

+ 8 - 0
xxl-job-admin/src/main/java/com/xxl/job/dao/impl/XxlJobLogDaoImpl.java Parādīt failu

@@ -84,5 +84,13 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
84 84
 		}
85 85
 		return sqlSessionTemplate.update("XxlJobLogMapper.updateHandleInfo", xxlJobLog);
86 86
 	}
87
+
88
+	@Override
89
+	public int delete(String jobGroup, String jobName) {
90
+		HashMap<String, Object> params = new HashMap<String, Object>();
91
+		params.put("jobGroup", jobGroup);
92
+		params.put("jobName", jobName);
93
+		return sqlSessionTemplate.delete("XxlJobLogMapper.delete", params);
94
+	}
87 95
 	
88 96
 }

+ 54 - 0
xxl-job-admin/src/main/java/com/xxl/job/dao/impl/XxlJobLogGlueDaoImpl.java Parādīt failu

@@ -0,0 +1,54 @@
1
+package com.xxl.job.dao.impl;
2
+
3
+import java.util.HashMap;
4
+import java.util.List;
5
+
6
+import javax.annotation.Resource;
7
+
8
+import org.mybatis.spring.SqlSessionTemplate;
9
+import org.springframework.stereotype.Repository;
10
+
11
+import com.xxl.job.core.model.XxlJobLogGlue;
12
+import com.xxl.job.dao.IXxlJobLogGlueDao;
13
+
14
+/**
15
+ * job log for glue
16
+ * @author xuxueli 2016-5-19 18:17:52
17
+ */
18
+@Repository
19
+public class XxlJobLogGlueDaoImpl implements IXxlJobLogGlueDao {
20
+
21
+	@Resource
22
+	public SqlSessionTemplate sqlSessionTemplate;
23
+	
24
+	@Override
25
+	public int save(XxlJobLogGlue xxlJobLogGlue) {
26
+		return sqlSessionTemplate.insert("XxlJobLogGlueMapper.save", xxlJobLogGlue);
27
+	}
28
+
29
+	@Override
30
+	public List<XxlJobLogGlue> selectList(String jobGroup, String jobName) {
31
+		HashMap<String, Object> params = new HashMap<String, Object>();
32
+		params.put("jobGroup", jobGroup);
33
+		params.put("jobName", jobName);
34
+		return sqlSessionTemplate.selectList("XxlJobLogGlueMapper.selectList", params);
35
+	}
36
+
37
+	@Override
38
+	public int removeOld(String jobGroup, String jobName, int limit) {
39
+		HashMap<String, Object> params = new HashMap<String, Object>();
40
+		params.put("jobGroup", jobGroup);
41
+		params.put("jobName", jobName);
42
+		params.put("limit", limit);
43
+		return sqlSessionTemplate.delete("XxlJobLogGlueMapper.removeOld", params);
44
+	}
45
+
46
+	@Override
47
+	public int delete(String jobGroup, String jobName) {
48
+		HashMap<String, Object> params = new HashMap<String, Object>();
49
+		params.put("jobGroup", jobGroup);
50
+		params.put("jobName", jobName);
51
+		return sqlSessionTemplate.delete("XxlJobLogGlueMapper.delete", params);
52
+	}
53
+	
54
+}

+ 78 - 0
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogGlueMapper.xml Parādīt failu

@@ -0,0 +1,78 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
3
+	"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
4
+<mapper namespace="XxlJobLogGlueMapper">
5
+	
6
+	<resultMap id="XxlJobLogGlue" type="com.xxl.job.core.model.XxlJobLogGlue" >
7
+		<result column="id" property="id" />
8
+	    <result column="job_group" property="jobGroup" />
9
+	    <result column="job_name" property="jobName" />
10
+	    <result column="glue_source" property="glueSource" />
11
+	    <result column="glue_remark" property="glueRemark" />
12
+	    <result column="add_time" property="addTime" />
13
+	    <result column="update_time" property="updateTime" />
14
+	</resultMap>
15
+
16
+	<sql id="Base_Column_List">
17
+		t.id,
18
+		t.job_group,
19
+		t.job_name,
20
+		t.glue_source,
21
+		t.glue_remark,
22
+		t.add_time,
23
+		t.update_time
24
+	</sql>
25
+	
26
+	<insert id="save" parameterType="com.xxl.job.core.model.XxlJobLogGlue" useGeneratedKeys="true" keyProperty="id" >
27
+		INSERT INTO `xxl_job_qrtz_trigger_logglue` (
28
+			`job_group`,
29
+			`job_name`,
30
+			`glue_source`, 
31
+			`glue_remark`,
32
+			`add_time`, 
33
+			`update_time`
34
+		) VALUES (
35
+			#{jobGroup}, 
36
+			#{jobName},
37
+			#{glueSource},
38
+			#{glueRemark},
39
+			now(),
40
+			now()
41
+		);
42
+		<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> 
43
+			SELECT LAST_INSERT_ID() 
44
+		</selectKey> 
45
+	</insert>
46
+	
47
+	<select id="selectList" parameterType="java.util.HashMap" resultMap="XxlJobLogGlue">
48
+		SELECT <include refid="Base_Column_List" />
49
+		FROM xxl_job_qrtz_trigger_logglue AS t
50
+		<trim prefix="WHERE" prefixOverrides="AND | OR" >
51
+			<if test="jobGroup != null and jobGroup != ''">
52
+				AND t.job_group = #{jobGroup}
53
+			</if>
54
+			<if test="jobName != null and jobName != ''">
55
+				AND t.job_name = #{jobName}
56
+			</if>
57
+		</trim>
58
+		ORDER BY id DESC
59
+	</select>
60
+	
61
+	<delete id="removeOld" parameterType="java.util.HashMap" >
62
+		DELETE FROM xxl_job_qrtz_trigger_logglue
63
+		WHERE id NOT in(
64
+			SELECT id FROM(
65
+				SELECT id FROM xxl_job_qrtz_trigger_logglue
66
+				WHERE `job_group` = #{jobGroup} and `job_name` = #{jobName}
67
+				ORDER BY update_time desc
68
+				LIMIT 0, #{limit}
69
+			) t1
70
+		)
71
+	</delete>
72
+	
73
+	<delete id="delete" parameterType="java.util.HashMap" >
74
+		DELETE FROM xxl_job_qrtz_trigger_logglue
75
+		WHERE job_group = #{jobGroup} and job_name = #{jobName}
76
+	</delete>
77
+	
78
+</mapper>

+ 6 - 0
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml Parādīt failu

@@ -130,4 +130,10 @@
130 130
 		WHERE `id`= #{id}
131 131
 	</update>
132 132
 	
133
+	<delete id="delete">
134
+		delete from `xxl_job_qrtz_trigger_log` 
135
+		WHERE job_group = #{jobGroup}
136
+			AND job_name = #{jobName}
137
+	</delete>
138
+	
133 139
 </mapper>

+ 75 - 55
xxl-job-admin/src/main/webapp/WEB-INF/template/jobcode/index.ftl Parādīt failu

@@ -16,59 +16,80 @@
16 16
 </head>
17 17
 <body class=" layout-top-nav">
18 18
 
19
-<div class="wrapper">
20
-	
21
-	<div class="content-wrapper">
22
-		<!-- Content Header (Page header) -->
23
-		<section class="content-header">
24
-			<h1>任务调度中心<small>任务CODE管理</small></h1>
25
-		</section>
19
+<#if !jobInfo?exists>
20
+	<div class="wrapper">
21
+		<div class="content-wrapper">
22
+			<section class="content-header">
23
+				<h1>抱歉,任务不存在.</small></h1>
24
+			</section>
25
+		</div>
26
+	</div>
27
+<#else>
28
+	<div class="wrapper">
26 29
 		
27
-		<!-- Main content -->
28
-	    <section class="content">
29
-	    	<div class="row">
30
-	    		<div class="col-xs-4">
31
-					<div class="input-group margin">
32
-                    	<div class="input-group-btn">
33
-                      		<button type="button" class="btn btn-info">版本回溯</button>
34
-                    	</div>
35
-                    	<select class="form-control" id="jobGroup" >
36
-            				<option value="999" >逻辑调整版本C</option>
37
-            				<option value="999" >逻辑调整版本B</option>
38
-            				<option value="999" >逻辑调整版本A</option>
39
-            				<option value="999" >代码初始化</option>
40
-	                  	</select>
41
-					</div>
42
-	            </div>
43
-	            <div class="col-xs-4">
44
-	            	<div class="input-group margin">
45
-                    	<div class="input-group-btn">
46
-                      		<button type="button" class="btn btn-info">备注</button>
47
-                    	</div>
48
-                    	<input type="text" class="form-control" id="codeRemark" value="${jobName}" autocomplete="on" >
49
-                  	</div>
50
-	            </div>
51
-	            <div class="col-xs-2">
52
-	            	<div class="input-group margin">
53
-                    	<div class="input-group-btn">
54
-                      		<button type="button" class="btn btn-primary" id="save" >保存</button>
55
-                    	</div>
56
-                  	</div>
57
-	            </div>
58
-          	</div>
59
-	    	
60
-			<div class="row">
61
-				<div class="col-xs-12">
62
-					<div class="box callout callout-info">
63
-						<textarea id="codeSource" ></textarea>
30
+		<div class="content-wrapper">
31
+			<!-- Content Header (Page header) -->
32
+			<section class="content-header">
33
+				<h1>任务调度中心<small>任务GLUE管理</small></h1>
34
+			</section>
35
+			<!-- Main content -->
36
+		    <section class="content">
37
+		    	<div class="row">
38
+		    		<div class="col-xs-4">
39
+						<div class="input-group margin">
40
+	                    	<div class="input-group-btn">
41
+	                      		<button type="button" class="btn btn-info">版本回溯</button>
42
+	                    	</div>
43
+	                    	<select class="form-control" id="glue_version" >
44
+	            				<option value="glue_now" >${jobInfo.glueRemark}【线上】</option>
45
+	            				<#if jobLogGlues?exists && jobLogGlues?size gt 0 >
46
+			                  	<#list jobLogGlues as glue>
47
+			                  		<option value="glue_log_${glue.id}" >${glue.glueRemark}</option>
48
+			                  	</#list>
49
+			                  	</#if>
50
+		                  	</select>
51
+		                  	
52
+		                  	<textarea id="glue_now" style="display:none;" >${jobInfo.glueSource}</textarea>
53
+		                  	<#if jobLogGlues?exists && jobLogGlues?size gt 0 >
54
+		                  	<#list jobLogGlues as glue>
55
+		                  		<textarea id="glue_log_${glue.id}" style="display:none;" >${glue.glueSource}</textarea>
56
+		                  	</#list>
57
+		                  	</#if>
58
+		                  	
59
+						</div>
60
+		            </div>
61
+		            <div class="col-xs-4">
62
+		            	<div class="input-group margin">
63
+	                    	<div class="input-group-btn">
64
+	                      		<button type="button" class="btn btn-info">备注</button>
65
+	                    	</div>
66
+	                    	<input type="text" class="form-control" id="glueRemark" value="${jobName}" autocomplete="on" >
67
+	                  	</div>
68
+		            </div>
69
+		            <div class="col-xs-2">
70
+		            	<div class="input-group margin">
71
+	                    	<div class="input-group-btn">
72
+	                      		<button type="button" class="btn btn-primary" id="save" >保存</button>
73
+	                    	</div>
74
+	                    	<div class="input-group-btn">
75
+	                      		<button type="button" class="btn btn-default" id="demoCode_btn" >DEMO</button>
76
+	                    	</div>
77
+	                  	</div>
78
+		            </div>
79
+	          	</div>
80
+		    	
81
+				<div class="row">
82
+					<div class="col-xs-12">
83
+						<div class="box callout callout-info">
84
+							<textarea id="glueSource" ></textarea>
85
+						</div>
64 86
 					</div>
65 87
 				</div>
66
-			</div>
67
-	    </section>
88
+		    </section>
89
+		</div>
90
+		<!-- footer -->
91
+		<@netCommon.commonFooter />
68 92
 	</div>
69
-	<!-- footer -->
70
-	<@netCommon.commonFooter />
71
-</div>
72 93
 
73 94
 <textarea id="demoCode" style="display:none;" >
74 95
 package com.xxl.job.service.handler;
@@ -83,11 +104,7 @@ public class DemoJobHandler extends IJobHandler {
83 104
 	
84 105
 	@Override
85 106
 	public JobHandleStatus handle(String... params) throws Exception {
86
-		logger.info(" ... params:" + params);
87
-		for (int i = 0; i < 5; i++) {
88
-			TimeUnit.SECONDS.sleep(1);
89
-			logger.info("handler run:{}", i);
90
-		}
107
+		logger.info("demo run success...");
91 108
 		return JobHandleStatus.SUCCESS;
92 109
 	}
93 110
 }
@@ -100,8 +117,11 @@ public class DemoJobHandler extends IJobHandler {
100 117
 <script src="${request.contextPath}/static/plugins/codemirror/addon/hint/show-hint.js"></script>
101 118
 <script src="${request.contextPath}/static/plugins/codemirror/addon/hint/anyword-hint.js"></script>
102 119
 <script>
103
-var id = ${id!-1};
120
+var jobGroup = '${jobInfo.jobGroup}';
121
+var jobName = '${jobInfo.jobName}';
104 122
 </script>
105 123
 <script src="${request.contextPath}/static/js/jobcode.index.1.js"></script>
124
+
125
+</#if>
106 126
 </body>
107 127
 </html>

+ 22 - 10
xxl-job-admin/src/main/webapp/static/js/jobcode.index.1.js Parādīt failu

@@ -1,12 +1,23 @@
1 1
 $(function() {
2 2
 
3 3
 	// init code editor
4
-	var codeEditor = CodeMirror.fromTextArea(document.getElementById("codeSource"), {
4
+	var codeEditor = CodeMirror.fromTextArea(document.getElementById("glueSource"), {
5 5
 		mode : "text/x-java",
6 6
 		lineNumbers : true,
7 7
 		matchBrackets : true
8 8
 	});
9
-	codeEditor.setValue( $("#demoCode").val() );
9
+	codeEditor.setValue( $("#glue_now").val() );
10
+	
11
+	// code change
12
+	$("#glue_version").change(function(){
13
+		var temp = $( "#" + $(this).val() ).val();
14
+		codeEditor.setValue( temp );
15
+	});
16
+	
17
+	// democode
18
+	$("#demoCode_btn").click(function() {
19
+		codeEditor.setValue( $("#demoCode").val() );
20
+	});
10 21
 	
11 22
 	// editor height
12 23
 	var height = Math.max(document.documentElement.clientHeight, document.body.offsetHeight);
@@ -14,14 +25,14 @@ $(function() {
14 25
 	
15 26
 	// code source save
16 27
 	$("#save").click(function() {
17
-		var codeSource = codeEditor.getValue();
18
-		var codeRemark = $("#codeRemark").val();
28
+		var glueSource = codeEditor.getValue();
29
+		var glueRemark = $("#glueRemark").val();
19 30
 		
20
-		if (!codeRemark) {
31
+		if (!glueRemark) {
21 32
 			ComAlert.show(2, "请输入备注");
22 33
 			return;
23 34
 		}
24
-		if (codeRemark.length < 6|| codeRemark.length > 100) {
35
+		if (glueRemark.length < 6|| glueRemark.length > 100) {
25 36
 			ComAlert.show(2, "备注长度应该在6至100之间");
26 37
 			return;
27 38
 		}
@@ -31,9 +42,10 @@ $(function() {
31 42
 				type : 'POST',
32 43
 				url : base_url + '/jobcode/save',
33 44
 				data : {
34
-					'jobInfo.id' : id,
35
-					'jobInfo.codeSource' : codeSource,
36
-					'jobInfo.codeRemark' : codeRemark
45
+					'jobGroup' : jobGroup,
46
+					'jobName' : jobName,
47
+					'glueSource' : glueSource,
48
+					'glueRemark' : glueRemark
37 49
 				},
38 50
 				dataType : "json",
39 51
 				success : function(data){
@@ -43,7 +55,7 @@ $(function() {
43 55
 							window.location.reload();
44 56
 						});
45 57
 					} else {
46
-						ComAlert.alert(data.msg);
58
+						ComAlert.show(2, data.msg);
47 59
 					}
48 60
 				}
49 61
 			});

+ 1 - 1
xxl-job-admin/src/main/webapp/static/js/jobinfo.index.1.js Parādīt failu

@@ -92,7 +92,7 @@ $(function() {
92 92
 	                			// log url
93 93
 	                			var codeHtml = "";
94 94
 	                			if(row.glueSwitch != 0){
95
-	                				var codeUrl = base_url +'/jobcode?id='+ row.id;
95
+	                				var codeUrl = base_url +'/jobcode?jobGroup='+ row.jobGroup +'&jobName='+ row.jobName;
96 96
 	                				codeHtml = '<button class="btn btn-warning btn-xs" type="button" onclick="javascript:window.open(\'' + codeUrl + '\')" >GLUE</button>  '
97 97
 	                			}
98 98