数据模型标准化,通用字段命名统一,建表SQL规范性完善;

master
xuxueli 1 month ago
parent 42836fbb95
commit c0ce423384

@ -2173,7 +2173,7 @@ Header
请求数据格式如下,放置在 RequestBody 中JSON格式
{
"jobGroup":1, // 执行器主键ID必填
"jobDesc":"测试任务", // 任务描述(必填)
"name":"测试任务", // 任务描述(必填)
"author":"admin", // 负责人(必填)
"alarmEmail":"", // 报警邮件(选填)
"scheduleType":"CRON", // 调度类型NONE、CRON、FIX_RATE必填
@ -2213,7 +2213,7 @@ Header
请求数据格式如下,放置在 RequestBody 中JSON格式
{
"id":1, // 任务ID必填
"jobDesc":"测试任务", // 任务描述(必填)
"name":"测试任务", // 任务描述(必填)
"author":"admin", // 负责人(必填)
"alarmEmail":"", // 报警邮件(选填)
"scheduleType":"CRON", // 调度类型NONE、CRON、FIX_RATE必填
@ -3097,12 +3097,13 @@ alter table xxl_job_log
- 1、【新增】GLUE模式开关新增GLUE模式开关xxl.job.executor.glueenabled支持执行器维度设置是否启用GLUE模式
- 2、【新增】AccessToken升级支持执行期维度隔离设置废弃旧的全局AccessToken提升系统安全性
注意因为AccessToken调整为执行器维度OpenAPI通讯协议部分发生适配变化调度中心与执行器需要一并升级至v3.5.0体验)
- 3、【新增】AccessToken管理支持线上化动态管理执行期管理UI界面可操作提升操作效率及体验
- 4、【新增】调度中心OpenAPI增强提供任务管理能力包括任务新建/更新/删除、启动/停止、任务触发等;
- 3、【新增】AccessToken在线管理支持线上化动态管理执行期管理UI界面可操作提升操作效率及体验
- 4、【新增】OpenAPI能力增强:提供任务管理能力,包括任务新建/更新/删除、启动/停止、任务触发等;
注意任务管理OpenAPI及操作代码示例详见官方文档
- 5、【TODO】配置线上化发送邮箱配置线上管理、线程池配置调整
- 6、【TODO】任务告警拆分“告警类型、告警配置”属性支持Webhook、邮箱多种方式
- 7、【TODO】任务说明拆分“任务名称、任务备注”属性前者用于任务检索后者用于补充任务描述。
- 5、【新增】数据模型标准化通用字段命名统一建表SQL规范性完善
- 6、【TODO】配置线上化发送邮箱配置线上管理、线程池配置调整
- 7、【TODO】任务告警拆分“告警类型、告警配置”属性支持Webhook、邮箱多种方式
- 8、【TODO】任务说明拆分“任务名称、任务备注”属性前者用于任务检索后者用于补充任务描述。
**备注:**
数据库升级脚本:
@ -3115,10 +3116,12 @@ ADD COLUMN `access_token` varchar(255) DEFAULT NULL COMMENT '执行器AccessToke
ALTER TABLE `xxl_job_group`
ADD UNIQUE KEY `i_app_name` (`app_name`) USING BTREE;
-- 3. 将指定 AppName 的 access_token 更新为目标值;
UPDATE `xxl_job_group`
SET `access_token` = '<新Token值>'
WHERE `app_name` = '<目标AppName>';
-- 3. 将指定 AppName 的 access_token 更新为目标值;默认值为 'default_token',可自行修改;
UPDATE `xxl_job_group` SET `access_token` = '<新Token值>' WHERE `app_name` = '<目标AppName>';
-- 4. 执行器与任务表 name 字段标准化调整;
ALTER TABLE `xxl_job_group` CHANGE `title` `name` VARCHAR(64) NOT NULL COMMENT '执行器名称';
ALTER TABLE `xxl_job_info` CHANGE `job_desc` `name` VARCHAR(255) NOT NULL COMMENT '任务描述';
```

@ -12,7 +12,7 @@ CREATE TABLE `xxl_job_group`
`id` INT NOT NULL AUTO_INCREMENT,
`app_name` VARCHAR(64) NOT NULL COMMENT '执行器AppName',
`name` VARCHAR(64) NOT NULL COMMENT '执行器名称',
`address_type` TINYINT NOT NULL DEFAULT '0' COMMENT '执行器地址类型0=自动注册、1=手动录入',
`address_type` TINYINT NOT NULL DEFAULT 0 COMMENT '执行器地址类型0=自动注册、1=手动录入',
`address_list` TEXT DEFAULT NULL COMMENT '执行器地址列表,多地址逗号分隔',
`access_token` VARCHAR(255) DEFAULT NULL COMMENT '执行器AccessToken',
`update_time` DATETIME DEFAULT NULL,
@ -49,16 +49,16 @@ CREATE TABLE `xxl_job_info`
`executor_handler` VARCHAR(255) DEFAULT NULL COMMENT '任务handler',
`executor_param` TEXT DEFAULT NULL COMMENT '任务参数',
`executor_block_strategy` VARCHAR(50) DEFAULT NULL COMMENT '阻塞处理策略',
`executor_timeout` INT NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒',
`executor_fail_retry_count` INT NOT NULL DEFAULT '0' COMMENT '失败重试次数',
`executor_timeout` INT NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
`executor_fail_retry_count` INT NOT NULL DEFAULT 0 COMMENT '失败重试次数',
`glue_type` VARCHAR(50) NOT NULL COMMENT 'GLUE类型',
`glue_source` MEDIUMTEXT DEFAULT NULL COMMENT 'GLUE源代码',
`glue_remark` VARCHAR(128) DEFAULT NULL COMMENT 'GLUE备注',
`glue_updatetime` DATETIME DEFAULT NULL COMMENT 'GLUE更新时间',
`child_jobid` VARCHAR(255) DEFAULT NULL COMMENT '子任务ID多个逗号分隔',
`trigger_status` TINYINT NOT NULL DEFAULT '0' COMMENT '调度状态0-停止1-运行',
`trigger_last_time` BIGINT NOT NULL DEFAULT '0' COMMENT '上次调度时间',
`trigger_next_time` BIGINT NOT NULL DEFAULT '0' COMMENT '下次调度时间',
`trigger_status` TINYINT NOT NULL DEFAULT 0 COMMENT '调度状态0-停止1-运行',
`trigger_last_time` BIGINT NOT NULL DEFAULT 0 COMMENT '上次调度时间',
`trigger_next_time` BIGINT NOT NULL DEFAULT 0 COMMENT '下次调度时间',
`add_time` DATETIME DEFAULT NULL,
`update_time` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`)
@ -89,14 +89,14 @@ CREATE TABLE `xxl_job_log`
`executor_handler` VARCHAR(255) DEFAULT NULL COMMENT '任务handler',
`executor_param` TEXT DEFAULT NULL COMMENT '任务参数',
`executor_sharding_param` VARCHAR(20) DEFAULT NULL COMMENT '任务分片参数,格式如 1/2',
`executor_fail_retry_count` INT NOT NULL DEFAULT '0' COMMENT '失败重试次数',
`executor_fail_retry_count` INT NOT NULL DEFAULT 0 COMMENT '失败重试次数',
`trigger_time` DATETIME DEFAULT NULL COMMENT '调度-时间',
`trigger_code` INT NOT NULL COMMENT '调度-结果',
`trigger_msg` TEXT DEFAULT NULL COMMENT '调度-日志',
`handle_time` DATETIME DEFAULT NULL COMMENT '执行-时间',
`handle_code` INT NOT NULL COMMENT '执行-状态',
`handle_msg` TEXT DEFAULT NULL COMMENT '执行-日志',
`alarm_status` TINYINT NOT NULL DEFAULT '0' COMMENT '告警状态0-默认、1-无需告警、2-告警成功、3-告警失败',
`alarm_status` TINYINT NOT NULL DEFAULT 0 COMMENT '告警状态0-默认、1-无需告警、2-告警成功、3-告警失败',
PRIMARY KEY (`id`),
KEY `i_trigger_time` (`trigger_time`),
KEY `i_handle_code` (`handle_code`),
@ -109,9 +109,9 @@ CREATE TABLE `xxl_job_log_report`
(
`id` INT NOT NULL AUTO_INCREMENT,
`trigger_day` DATETIME DEFAULT NULL COMMENT '调度-时间',
`running_count` INT NOT NULL DEFAULT '0' COMMENT '运行中-日志数量',
`suc_count` INT NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量',
`fail_count` INT NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量',
`running_count` INT NOT NULL DEFAULT 0 COMMENT '运行中-日志数量',
`suc_count` INT NOT NULL DEFAULT 0 COMMENT '执行成功-日志数量',
`fail_count` INT NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
`update_time` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `i_trigger_day` (`trigger_day`) USING BTREE

@ -53,11 +53,11 @@ public class JobGroupController {
public Response<PageModel<XxlJobGroup>> pageList(@RequestParam(required = false, defaultValue = "0") int offset,
@RequestParam(required = false, defaultValue = "10") int pagesize,
String appname,
String title) {
String name) {
// page query
List<XxlJobGroup> list = xxlJobGroupMapper.pageList(offset, pagesize, appname, title);
int list_count = xxlJobGroupMapper.pageListCount(offset, pagesize, appname, title);
List<XxlJobGroup> list = xxlJobGroupMapper.pageList(offset, pagesize, appname, name);
int list_count = xxlJobGroupMapper.pageListCount(offset, pagesize, appname, name);
// package result
PageModel<XxlJobGroup> pageModel = new PageModel<>();
@ -84,10 +84,10 @@ public class JobGroupController {
}
// valid title
if (StringTool.isBlank(xxlJobGroup.getTitle())) {
if (StringTool.isBlank(xxlJobGroup.getName())) {
return Response.ofFail((I18nUtil.getString("system_please_input") + I18nUtil.getString("jobgroup_field_title")) );
}
if (XssUtil.hasXss(xxlJobGroup.getTitle())) {
if (XssUtil.hasXss(xxlJobGroup.getName())) {
return Response.ofFail(I18nUtil.getString("jobgroup_field_title") + I18nUtil.getString("system_invalid"));
}
if (xxlJobGroup.getAddressType() != 0) {
@ -135,10 +135,10 @@ public class JobGroupController {
}
// valid title
if (StringTool.isBlank(xxlJobGroup.getTitle())) {
if (StringTool.isBlank(xxlJobGroup.getName())) {
return Response.ofFail((I18nUtil.getString("system_please_input") + I18nUtil.getString("jobgroup_field_title")) );
}
if (XssUtil.hasXss(xxlJobGroup.getTitle())) {
if (XssUtil.hasXss(xxlJobGroup.getName())) {
return Response.ofFail(I18nUtil.getString("jobgroup_field_title") + I18nUtil.getString("system_invalid"));
}

@ -85,7 +85,7 @@ public class JobInfoController {
@RequestParam(required = false, defaultValue = "10") int pagesize,
@RequestParam int jobGroup,
@RequestParam int triggerStatus,
@RequestParam String jobDesc,
@RequestParam String name,
@RequestParam String executorHandler,
@RequestParam String author) {
@ -93,7 +93,7 @@ public class JobInfoController {
JobGroupPermissionUtil.validJobGroupPermission(request, jobGroup);
// page
return xxlJobService.pageList(offset, pagesize, jobGroup, triggerStatus, jobDesc, executorHandler, author);
return xxlJobService.pageList(offset, pagesize, jobGroup, triggerStatus, name, executorHandler, author);
}
@RequestMapping("/insert")

@ -29,11 +29,11 @@ public interface XxlJobGroupMapper {
public List<XxlJobGroup> pageList(@Param("offset") int offset,
@Param("pagesize") int pagesize,
@Param("appname") String appname,
@Param("title") String title);
@Param("name") String name);
public int pageListCount(@Param("offset") int offset,
@Param("pagesize") int pagesize,
@Param("appname") String appname,
@Param("title") String title);
@Param("name") String name);
}

@ -18,14 +18,14 @@ public interface XxlJobInfoMapper {
@Param("pagesize") int pagesize,
@Param("jobGroup") int jobGroup,
@Param("triggerStatus") int triggerStatus,
@Param("jobDesc") String jobDesc,
@Param("name") String name,
@Param("executorHandler") String executorHandler,
@Param("author") String author);
public int pageListCount(@Param("offset") int offset,
@Param("pagesize") int pagesize,
@Param("jobGroup") int jobGroup,
@Param("triggerStatus") int triggerStatus,
@Param("jobDesc") String jobDesc,
@Param("name") String name,
@Param("executorHandler") String executorHandler,
@Param("author") String author);

@ -14,7 +14,7 @@ public class XxlJobGroup {
private int id;
private String appname;
private String title;
private String name;
private int addressType; // 执行器地址类型0=自动注册、1=手动录入
private String addressList; // 执行器地址列表,多地址逗号分隔(手动录入)
@ -48,12 +48,12 @@ public class XxlJobGroup {
this.appname = appname;
}
public String getTitle() {
return title;
public String getName() {
return name;
}
public void setTitle(String title) {
this.title = title;
public void setName(String name) {
this.name = name;
}
public int getAddressType() {
@ -93,7 +93,7 @@ public class XxlJobGroup {
return "XxlJobGroup{" +
"id=" + id +
", appname='" + appname + '\'' +
", title='" + title + '\'' +
", name='" + name + '\'' +
", addressType=" + addressType +
", addressList='" + addressList + '\'' +
", accessToken='" + accessToken + '\'' +

@ -12,7 +12,7 @@ public class XxlJobInfo {
private int id; // 主键ID
private int jobGroup; // 执行器主键ID
private String jobDesc;
private String name;
private String author; // 负责人
private String alarmEmail; // 报警邮件
@ -59,12 +59,12 @@ public class XxlJobInfo {
this.jobGroup = jobGroup;
}
public String getJobDesc() {
return jobDesc;
public String getName() {
return name;
}
public void setJobDesc(String jobDesc) {
this.jobDesc = jobDesc;
public void setName(String name) {
this.name = name;
}
public String getAuthor() {

@ -53,9 +53,9 @@ public class EmailJobAlarm implements JobAlarm {
String personal = I18nUtil.getString("admin_name_full");
String title = I18nUtil.getString("jobconf_monitor");
String content = MessageFormat.format(loadEmailJobAlarmTemplate(),
group!=null?group.getTitle():"null",
group!=null?group.getName():"null",
info.getId(),
info.getJobDesc(),
info.getName(),
alarmContent);
Set<String> emailSet = new HashSet<String>(Arrays.asList(info.getAlarmEmail().split(",")));

@ -56,7 +56,7 @@ public class AdminJobBizImpl implements AdminJobBiz {
// convert JobAddRequest to XxlJobInfo
XxlJobInfo jobInfo = new XxlJobInfo();
jobInfo.setJobGroup(request.getJobGroup());
jobInfo.setJobDesc(request.getJobDesc());
jobInfo.setName(request.getName());
jobInfo.setAuthor(request.getAuthor());
jobInfo.setAlarmEmail(request.getAlarmEmail());
jobInfo.setScheduleType(request.getScheduleType());
@ -89,7 +89,7 @@ public class AdminJobBizImpl implements AdminJobBiz {
XxlJobInfo jobInfo = new XxlJobInfo();
jobInfo.setId(request.getId());
jobInfo.setJobGroup(0);
jobInfo.setJobDesc(request.getJobDesc());
jobInfo.setName(request.getName());
jobInfo.setAuthor(request.getAuthor());
jobInfo.setAlarmEmail(request.getAlarmEmail());
jobInfo.setScheduleType(request.getScheduleType());

@ -18,7 +18,7 @@ public interface XxlJobService {
/**
* page list
*/
public Response<PageModel<XxlJobInfo>> pageList(int offset, int pagesize, int jobGroup, int triggerStatus, String jobDesc, String executorHandler, String author);
public Response<PageModel<XxlJobInfo>> pageList(int offset, int pagesize, int jobGroup, int triggerStatus, String name, String executorHandler, String author);
/**
* add job

@ -51,11 +51,11 @@ public class XxlJobServiceImpl implements XxlJobService {
private XxlJobLogReportMapper xxlJobLogReportMapper;
@Override
public Response<PageModel<XxlJobInfo>> pageList(int offset, int pagesize, int jobGroup, int triggerStatus, String jobDesc, String executorHandler, String author) {
public Response<PageModel<XxlJobInfo>> pageList(int offset, int pagesize, int jobGroup, int triggerStatus, String name, String executorHandler, String author) {
// page list
List<XxlJobInfo> list = xxlJobInfoMapper.pageList(offset, pagesize, jobGroup, triggerStatus, jobDesc, executorHandler, author);
int list_count = xxlJobInfoMapper.pageListCount(offset, pagesize, jobGroup, triggerStatus, jobDesc, executorHandler, author);
List<XxlJobInfo> list = xxlJobInfoMapper.pageList(offset, pagesize, jobGroup, triggerStatus, name, executorHandler, author);
int list_count = xxlJobInfoMapper.pageListCount(offset, pagesize, jobGroup, triggerStatus, name, executorHandler, author);
// package result
PageModel<XxlJobInfo> pageModel = new PageModel<>();
@ -69,7 +69,7 @@ public class XxlJobServiceImpl implements XxlJobService {
public Response<String> add(XxlJobInfo jobInfo, LoginInfo loginInfo) {
// valid base
if (StringTool.isBlank(jobInfo.getJobDesc())) {
if (StringTool.isBlank(jobInfo.getName())) {
return Response.ofFail ( (I18nUtil.getString("system_please_input")+I18nUtil.getString("jobinfo_field_jobdesc")) );
}
if (StringTool.isBlank(jobInfo.getAuthor())) {
@ -182,7 +182,7 @@ public class XxlJobServiceImpl implements XxlJobService {
public Response<String> update(XxlJobInfo jobInfo, LoginInfo loginInfo) {
// valid base
if (StringTool.isBlank(jobInfo.getJobDesc())) {
if (StringTool.isBlank(jobInfo.getName())) {
return Response.ofFail ( (I18nUtil.getString("system_please_input")+I18nUtil.getString("jobinfo_field_jobdesc")) );
}
if (StringTool.isBlank(jobInfo.getAuthor())) {
@ -296,7 +296,7 @@ public class XxlJobServiceImpl implements XxlJobService {
if (jobInfo.getJobGroup() > 0) {
exists_jobInfo.setJobGroup(jobInfo.getJobGroup());
}
exists_jobInfo.setJobDesc(jobInfo.getJobDesc());
exists_jobInfo.setName(jobInfo.getName());
exists_jobInfo.setAuthor(jobInfo.getAuthor());
exists_jobInfo.setAlarmEmail(jobInfo.getAlarmEmail());
exists_jobInfo.setScheduleType(jobInfo.getScheduleType());

@ -6,7 +6,7 @@
<resultMap id="XxlJobGroup" type="com.xxl.job.admin.business.model.XxlJobGroup" >
<result column="id" property="id" />
<result column="app_name" property="appname" />
<result column="title" property="title" />
<result column="name" property="name" />
<result column="address_type" property="addressType" />
<result column="address_list" property="addressList" />
<result column="access_token" property="accessToken" />
@ -16,7 +16,7 @@
<sql id="Base_Column_List">
t.id,
t.app_name,
t.title,
t.name,
t.address_type,
t.address_list,
t.access_token,
@ -26,24 +26,24 @@
<select id="findAll" resultMap="XxlJobGroup">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_group AS t
ORDER BY t.app_name, t.title, t.id ASC
ORDER BY t.app_name, t.name, t.id ASC
</select>
<select id="findByAddressType" parameterType="java.lang.Integer" resultMap="XxlJobGroup">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_group AS t
WHERE t.address_type = #{addressType}
ORDER BY t.app_name, t.title, t.id ASC
ORDER BY t.app_name, t.name, t.id ASC
</select>
<insert id="save" parameterType="com.xxl.job.admin.business.model.XxlJobGroup" useGeneratedKeys="true" keyProperty="id" >
INSERT INTO xxl_job_group ( `app_name`, `title`, `address_type`, `address_list`, `access_token`, `update_time`)
values ( #{appname}, #{title}, #{addressType}, #{addressList}, #{accessToken}, #{updateTime} );
INSERT INTO xxl_job_group ( `app_name`, `name`, `address_type`, `address_list`, `access_token`, `update_time`)
values ( #{appname}, #{name}, #{addressType}, #{addressList}, #{accessToken}, #{updateTime} );
</insert>
<update id="update" parameterType="com.xxl.job.admin.business.model.XxlJobGroup" >
UPDATE xxl_job_group
SET `title` = #{title},
SET `name` = #{name},
`address_type` = #{addressType},
`address_list` = #{addressList},
`access_token` = #{accessToken},
@ -75,11 +75,11 @@
<if test="appname != null and appname != ''">
AND t.app_name like CONCAT(CONCAT('%', #{appname}), '%')
</if>
<if test="title != null and title != ''">
AND t.title like CONCAT(CONCAT('%', #{title}), '%')
<if test="name != null and name != ''">
AND t.name like CONCAT(CONCAT('%', #{name}), '%')
</if>
</trim>
ORDER BY t.app_name, t.title, t.id ASC
ORDER BY t.app_name, t.name, t.id ASC
LIMIT #{offset}, #{pagesize}
</select>
@ -90,8 +90,8 @@
<if test="appname != null and appname != ''">
AND t.app_name like CONCAT(CONCAT('%', #{appname}), '%')
</if>
<if test="title != null and title != ''">
AND t.title like CONCAT(CONCAT('%', #{title}), '%')
<if test="name != null and name != ''">
AND t.name like CONCAT(CONCAT('%', #{name}), '%')
</if>
</trim>
</select>

@ -7,7 +7,7 @@
<result column="id" property="id" />
<result column="job_group" property="jobGroup" />
<result column="job_desc" property="jobDesc" />
<result column="name" property="name" />
<result column="add_time" property="addTime" />
<result column="update_time" property="updateTime" />
@ -41,7 +41,7 @@
<sql id="Base_Column_List">
t.id,
t.job_group,
t.job_desc,
t.name,
t.add_time,
t.update_time,
t.author,
@ -75,8 +75,8 @@
<if test="triggerStatus gte 0">
AND t.trigger_status = #{triggerStatus}
</if>
<if test="jobDesc != null and jobDesc != ''">
AND t.job_desc like CONCAT(CONCAT('%', #{jobDesc}), '%')
<if test="name != null and name != ''">
AND t.name like CONCAT(CONCAT('%', #{name}), '%')
</if>
<if test="executorHandler != null and executorHandler != ''">
AND t.executor_handler like CONCAT(CONCAT('%', #{executorHandler}), '%')
@ -99,8 +99,8 @@
<if test="triggerStatus gte 0">
AND t.trigger_status = #{triggerStatus}
</if>
<if test="jobDesc != null and jobDesc != ''">
AND t.job_desc like CONCAT(CONCAT('%', #{jobDesc}), '%')
<if test="name != null and name != ''">
AND t.name like CONCAT(CONCAT('%', #{name}), '%')
</if>
<if test="executorHandler != null and executorHandler != ''">
AND t.executor_handler like CONCAT(CONCAT('%', #{executorHandler}), '%')
@ -114,7 +114,7 @@
<insert id="save" parameterType="com.xxl.job.admin.business.model.XxlJobInfo" useGeneratedKeys="true" keyProperty="id" >
INSERT INTO xxl_job_info (
job_group,
job_desc,
name,
add_time,
update_time,
author,
@ -138,7 +138,7 @@
trigger_next_time
) VALUES (
#{jobGroup},
#{jobDesc},
#{name},
#{addTime},
#{updateTime},
#{author},
@ -177,7 +177,7 @@
UPDATE xxl_job_info
SET
job_group = #{jobGroup},
job_desc = #{jobDesc},
name = #{name},
update_time = #{updateTime},
author = #{author},
alarm_email = #{alarmEmail},

@ -31,7 +31,7 @@
<div class="col-xs-3">
<div class="input-group">
<span class="input-group-addon">${I18n.jobgroup_field_title}</span>
<input type="text" class="form-control" id="title" placeholder="${I18n.jobgroup_field_title}" >
<input type="text" class="form-control" id="name" placeholder="${I18n.jobgroup_field_title}" >
</div>
</div>
@ -99,7 +99,7 @@
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_title}<font color="red">*</font></label>
<div class="col-sm-10"><input type="text" class="form-control" name="title" placeholder="${I18n.system_please_input}${I18n.jobgroup_field_title}" maxlength="64" ></div>
<div class="col-sm-10"><input type="text" class="form-control" name="name" placeholder="${I18n.system_please_input}${I18n.jobgroup_field_title}" maxlength="64" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_addressType}<font color="red">*</font></label>
@ -147,7 +147,7 @@
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_title}<font color="red">*</font></label>
<div class="col-sm-10"><input type="text" class="form-control" name="title" placeholder="${I18n.system_please_input}${I18n.jobgroup_field_title}" maxlength="64" ></div>
<div class="col-sm-10"><input type="text" class="form-control" name="name" placeholder="${I18n.system_please_input}${I18n.jobgroup_field_title}" maxlength="64" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_addressType}<font color="red">*</font></label>
@ -205,7 +205,7 @@
queryParams: function (params) {
var obj = {};
obj.appname = $('#appname').val();
obj.title = $('#title').val();
obj.name = $('#name').val();
obj.offset = params.offset;
obj.pagesize = params.limit;
return obj;
@ -226,7 +226,7 @@
align: 'left'
},{
title: I18n.jobgroup_field_title,
field: 'title',
field: 'name',
width: '25',
widthUnit: '%'
},{
@ -310,7 +310,7 @@
rangelength:[4,64],
appnameValid : true
},
title : {
name : {
required : true,
rangelength:[4, 64]
},
@ -325,7 +325,7 @@
required : I18n.system_please_input+"AppName",
rangelength: I18n.system_length_limit + ' [4~64]'
},
title : {
name : {
required : I18n.system_please_input + I18n.jobgroup_field_title ,
rangelength: I18n.system_length_limit + ' [4~12]' ,
},
@ -366,7 +366,7 @@
$("#updateModal .form input[name='id']").val( row.id );
$("#updateModal .form input[name='appname']").val( row.appname );
$("#updateModal .form input[name='title']").val( row.title );
$("#updateModal .form input[name='name']").val( row.name );
// 注册方式
$("#updateModal .form input[name='addressType']").removeAttr('checked');
@ -378,7 +378,7 @@
},
rules : {
title : {
name : {
required : true,
rangelength:[4, 64]
},
@ -389,7 +389,7 @@
}
},
messages : {
title : {
name : {
required : I18n.system_please_input + I18n.jobgroup_field_title ,
rangelength: I18n.system_length_limit + ' [4~12]'
},

@ -42,7 +42,7 @@
<div class="collapse navbar-collapse pull-left" id="navbar-collapse">
<ul class="nav navbar-nav">
<li class="active" >
<a href="javascript:;">${I18n.jobinfo_job}${jobInfo.jobDesc} <#list GlueTypeEnum as item><#if item == jobInfo.glueType>${item.desc}</#if></#list></a>
<a href="javascript:;">${I18n.jobinfo_job}${jobInfo.name} <#list GlueTypeEnum as item><#if item == jobInfo.glueType>${item.desc}</#if></#list></a>
</li>
</ul>
</div>

@ -28,7 +28,7 @@
<span class="input-group-addon">${I18n.jobinfo_field_jobgroup}</span>
<select class="form-control" id="jobGroup" >
<#list JobGroupList as group>
<option value="${group.id}" <#if jobGroup==group.id>selected</#if> >${group.title}</option>
<option value="${group.id}" <#if jobGroup==group.id>selected</#if> >${group.name}</option>
</#list>
</select>
</div>
@ -44,7 +44,7 @@
</div>
<div class="col-xs-2">
<div class="input-group">
<input type="text" class="form-control" id="jobDesc" placeholder="${I18n.system_please_input}${I18n.jobinfo_field_jobdesc}" >
<input type="text" class="form-control" id="name" placeholder="${I18n.system_please_input}${I18n.jobinfo_field_jobdesc}" >
</div>
</div>
<div class="col-xs-2">
@ -114,13 +114,13 @@
<div class="col-sm-4">
<select class="form-control" name="jobGroup" >
<#list JobGroupList as group>
<option value="${group.id}" <#if jobGroup==group.id>selected</#if> >${group.title}</option>
<option value="${group.id}" <#if jobGroup==group.id>selected</#if> >${group.name}</option>
</#list>
</select>
</div>
<label for="lastname" class="col-sm-2 control-label">${I18n.jobinfo_field_jobdesc}<font color="red">*</font></label>
<div class="col-sm-4"><input type="text" class="form-control" name="jobDesc" placeholder="${I18n.system_please_input}${I18n.jobinfo_field_jobdesc}" maxlength="50" ></div>
<div class="col-sm-4"><input type="text" class="form-control" name="name" placeholder="${I18n.system_please_input}${I18n.jobinfo_field_jobdesc}" maxlength="50" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobinfo_field_author}<font color="red">*</font></label>
@ -374,13 +374,13 @@ exit 0
<div class="col-sm-4">
<select class="form-control" name="jobGroup" >
<#list JobGroupList as group>
<option value="${group.id}" >${group.title}</option>
<option value="${group.id}" >${group.name}</option>
</#list>
</select>
</div>
<label for="lastname" class="col-sm-2 control-label">${I18n.jobinfo_field_jobdesc}<font color="red">*</font></label>
<div class="col-sm-4"><input type="text" class="form-control" name="jobDesc" placeholder="${I18n.system_please_input}${I18n.jobinfo_field_jobdesc}" maxlength="50" ></div>
<div class="col-sm-4"><input type="text" class="form-control" name="name" placeholder="${I18n.system_please_input}${I18n.jobinfo_field_jobdesc}" maxlength="50" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobinfo_field_author}<font color="red">*</font></label>
@ -592,7 +592,7 @@ exit 0
var obj = {};
obj.jobGroup = $('#jobGroup').val();
obj.triggerStatus = $('#triggerStatus').val();
obj.jobDesc = $('#jobDesc').val();
obj.name = $('#name').val();
obj.executorHandler = $('#executorHandler').val();
obj.author = $('#author').val();
obj.offset = params.offset;
@ -625,7 +625,7 @@ exit 0
}
,{
title: I18n.jobinfo_field_jobdesc,
field: 'jobDesc',
field: 'name',
width: '25',
widthUnit: '%',
align: 'left',
@ -1054,7 +1054,7 @@ exit 0
$.adminTable.initAdd( {
url: base_url + "/jobinfo/insert",
rules : {
jobDesc : {
name : {
required : true,
maxlength: 50
},
@ -1063,7 +1063,7 @@ exit 0
}
},
messages : {
jobDesc : {
name : {
required : I18n.system_please_input + I18n.jobinfo_field_jobdesc
},
author : {
@ -1163,7 +1163,7 @@ exit 0
$.adminTable.initUpdate( {
url: base_url + "/jobinfo/update",
rules : {
jobDesc : {
name : {
required : true,
maxlength: 50
},
@ -1172,7 +1172,7 @@ exit 0
}
},
messages : {
jobDesc : {
name : {
required : I18n.system_please_input + I18n.jobinfo_field_jobdesc
},
author : {
@ -1184,7 +1184,7 @@ exit 0
// fill base
$("#updateModal .form input[name='id']").val( row.id );
$('#updateModal .form select[name=jobGroup] option[value='+ row.jobGroup +']').prop('selected', true);
$("#updateModal .form input[name='jobDesc']").val( row.jobDesc );
$("#updateModal .form input[name='name']").val( row.name );
$("#updateModal .form input[name='author']").val( row.author );
$("#updateModal .form input[name='alarmEmail']").val( row.alarmEmail );
@ -1275,7 +1275,7 @@ exit 0
// fill base
$('#addModal .form select[name=jobGroup] option[value='+ row.jobGroup +']').prop('selected', true);
$("#addModal .form input[name='jobDesc']").val( row.jobDesc );
$("#addModal .form input[name='name']").val( row.name );
$("#addModal .form input[name='author']").val( row.author );
$("#addModal .form input[name='alarmEmail']").val( row.alarmEmail );

@ -28,7 +28,7 @@
<div class="collapse navbar-collapse pull-left" id="navbar-collapse">
<ul class="nav navbar-nav">
<li class="active" >
<a href="javascript:;">${I18n.jobinfo_job}${jobInfo.jobDesc}</a>
<a href="javascript:;">${I18n.jobinfo_job}${jobInfo.name}</a>
</li>
</ul>
</div>

@ -30,7 +30,7 @@
<span class="input-group-addon">${I18n.jobinfo_field_jobgroup}</span>
<select class="form-control" id="jobGroup" >
<#list JobGroupList as group>
<option value="${group.id}" <#if jobGroup==group.id>selected</#if> >${group.title}</option>
<option value="${group.id}" <#if jobGroup==group.id>selected</#if> >${group.name}</option>
</#list>
</select>
</div>
@ -42,7 +42,7 @@
<option value="0" >${I18n.system_all}</option>
<#if jobInfoList?size gt 0>
<#list jobInfoList as jobItem>
<option value="${jobItem.id}" >${jobItem.jobDesc}</option>
<option value="${jobItem.id}" >${jobItem.name}</option>
</#list>
</#if>
</select>
@ -284,9 +284,9 @@
formatter: function(value, row, index) {
// build
let jobShow = '【'+ row.jobId +'】';
let jobDesc = $("#jobId").find("option[value='"+ row.jobId +"']").text();
if (jobDesc) {
jobShow += jobDesc;
let name = $("#jobId").find("option[value='"+ row.jobId +"']").text();
if (name) {
jobShow += name;
}
if (jobShow.length > 10) {
jobShow = jobShow.substr(0, 10) + '...';

@ -99,7 +99,7 @@
<div class="col-sm-10">
<#if groupList?exists && groupList?size gt 0>
<#list groupList as item>
<input type="checkbox" name="permission" value="${item.id}" />&nbsp;&nbsp;${item.title}${item.appname}
<input type="checkbox" name="permission" value="${item.id}" />&nbsp;&nbsp;${item.name}${item.appname}
<br>
</#list>
</#if>
@ -150,7 +150,7 @@
<div class="col-sm-10">
<#if groupList?exists && groupList?size gt 0>
<#list groupList as item>
<input type="checkbox" name="permission" value="${item.id}" />${item.title}(${item.appname})<br>
<input type="checkbox" name="permission" value="${item.id}" />${item.name}(${item.appname})<br>
</#list>
</#if>
</div>

@ -22,7 +22,7 @@ public class XxlJobGroupMapperTest {
XxlJobGroup group = new XxlJobGroup();
group.setAppname("setAppName");
group.setTitle("setTitle");
group.setName("setTitle");
group.setAddressType(0);
group.setAddressList("setAddressList");
group.setUpdateTime(new Date());
@ -31,7 +31,7 @@ public class XxlJobGroupMapperTest {
XxlJobGroup group2 = xxlJobGroupMapper.load(group.getId());
group2.setAppname("setAppName2");
group2.setTitle("setTitle2");
group2.setName("setTitle2");
group2.setAddressType(2);
group2.setAddressList("setAddressList2");
group2.setUpdateTime(new Date());

@ -38,7 +38,7 @@ public class XxlJobInfoMapperTest {
public void save_load(){
XxlJobInfo info = new XxlJobInfo();
info.setJobGroup(1);
info.setJobDesc("desc");
info.setName("desc");
info.setAuthor("setAuthor");
info.setAlarmEmail("setAlarmEmail");
info.setScheduleType(ScheduleTypeEnum.FIX_RATE.name());
@ -63,7 +63,7 @@ public class XxlJobInfoMapperTest {
info.setScheduleType(ScheduleTypeEnum.FIX_RATE.name());
info.setScheduleConf(String.valueOf(44));
info.setMisfireStrategy(MisfireStrategyEnum.FIRE_ONCE_NOW.name());
info2.setJobDesc("desc2");
info2.setName("desc2");
info2.setAuthor("setAuthor2");
info2.setAlarmEmail("setAlarmEmail2");
info2.setExecutorRouteStrategy("setExecutorRouteStrategy2");

@ -46,7 +46,7 @@ public class AdminJobBizTest {
JobAddRequest request = new JobAddRequest();
request.setJobGroup(1);
request.setJobDesc("openapi test job");
request.setName("openapi test job");
request.setAuthor("openapi");
request.setScheduleType("CRON");
request.setScheduleConf("0/20 * * * * ?");
@ -72,7 +72,7 @@ public class AdminJobBizTest {
// update the job created by jobAdd (id should exist in test env)
JobUpdateRequest request = new JobUpdateRequest();
request.setId(jobId);
request.setJobDesc("openapi test job update");
request.setName("openapi test job update");
request.setAuthor("openapi");
request.setScheduleType("CRON");
request.setScheduleConf("0/10 * * * * ?");

@ -9,7 +9,7 @@ public class JobAddRequest implements Serializable {
private static final long serialVersionUID = 42L;
private int jobGroup;
private String jobDesc;
private String name;
private String author;
private String alarmEmail;
@ -40,12 +40,12 @@ public class JobAddRequest implements Serializable {
this.jobGroup = jobGroup;
}
public String getJobDesc() {
return jobDesc;
public String getName() {
return name;
}
public void setJobDesc(String jobDesc) {
this.jobDesc = jobDesc;
public void setName(String name) {
this.name = name;
}
public String getAuthor() {

@ -9,7 +9,7 @@ public class JobUpdateRequest implements Serializable {
private static final long serialVersionUID = 42L;
private int id;
private String jobDesc;
private String name;
private String author;
private String alarmEmail;
@ -40,12 +40,12 @@ public class JobUpdateRequest implements Serializable {
this.id = id;
}
public String getJobDesc() {
return jobDesc;
public String getName() {
return name;
}
public void setJobDesc(String jobDesc) {
this.jobDesc = jobDesc;
public void setName(String name) {
this.name = name;
}
public String getAuthor() {

Loading…
Cancel
Save