Former-commit-id: 453044d8813a8fcc65bf4b9144c0218637729d91
master
王兵 5 years ago
parent de998a27b6
commit c77dbf1c00

@ -63,7 +63,7 @@ public class ProfilesManagerImpl implements ProfilesManager {
response.addErrors(profilesFindResponse.getErrors()); response.addErrors(profilesFindResponse.getErrors());
return response; return response;
} else if (profilesFindResponse.getTotalCount() > 0) { } else if (profilesFindResponse.getTotalCount() > 0) {
response.addError(ErrorType.UNIQUENESS_ERROR, "[key]键已存在,请检查!"); response.addError(ErrorType.UNIQUENESS_ERROR, "[" + request.getKey() + "]键已存在,请检查!");
return response; return response;
} }
} }

@ -22,6 +22,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.pagehelper.util.StringUtil; import com.github.pagehelper.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.support.CronSequenceGenerator;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -54,6 +55,23 @@ public class TaskSqlManagerImpl implements TaskSqlManager {
return response; return response;
} }
if ("Cron".equals(request.getTaskType())) {
try {
new CronSequenceGenerator(request.getTypeValue());
} catch (Exception e) {
response.addError(ErrorType.BUSINESS_ERROR, "Cron表达式错误!");
return response;
}
} else {
String typeValue = request.getTypeValue();
try {
Integer.parseInt(typeValue);
} catch (Exception e) {
response.addError(ErrorType.BUSINESS_ERROR, "循环周期值错误!");
return response;
}
}
long id = IDgenerator.nextId(); long id = IDgenerator.nextId();
TaskSql entity = MapperUtil.map(request, TaskSql.class); TaskSql entity = MapperUtil.map(request, TaskSql.class);
entity.setId(id); entity.setId(id);
@ -108,6 +126,23 @@ public class TaskSqlManagerImpl implements TaskSqlManager {
return response; return response;
} }
if ("Cron".equals(request.getTaskType())) {
try {
new CronSequenceGenerator(request.getTypeValue());
} catch (Exception e) {
response.addError(ErrorType.BUSINESS_ERROR, "Cron表达式错误!");
return response;
}
} else {
String typeValue = request.getTypeValue();
try {
Integer.parseInt(typeValue);
} catch (Exception e) {
response.addError(ErrorType.BUSINESS_ERROR, "循环周期值错误!");
return response;
}
}
long result = taskSqlMapper.update(request, token); long result = taskSqlMapper.update(request, token);
if (1L != result) { if (1L != result) {
response.addError(ErrorType.BUSINESS_ERROR, Message.UPDATE_FAILURE); response.addError(ErrorType.BUSINESS_ERROR, Message.UPDATE_FAILURE);

@ -500,8 +500,8 @@
fieldName="TASK_TYPE" fieldType="Dict" isMust="true" isPrimaryKey="false" isQuery="true" fieldName="TASK_TYPE" fieldType="Dict" isMust="true" isPrimaryKey="false" isQuery="true"
isSearch="false" isUnique="false"> isSearch="false" isUnique="false">
<dictItem key="Cron" value="Cron表达式"/> <dictItem key="Cron" value="Cron表达式"/>
<dictItem key="DelayRepeat" value="间隔重复"/> <dictItem key="DelayRepeat" value="间隔重复(秒)"/>
<dictItem key="FixRepeat" value="绝对重复"/> <dictItem key="FixRepeat" value="绝对重复(秒)"/>
</field> </field>
<field IsSystem="false" defaultValue="NULL" fieldComment="任务类型值" fieldLength="50" <field IsSystem="false" defaultValue="NULL" fieldComment="任务类型值" fieldLength="50"
fieldName="TYPE_VALUE" fieldType="String_var50" isMust="true" isPrimaryKey="false" fieldName="TYPE_VALUE" fieldType="String_var50" isMust="true" isPrimaryKey="false"

@ -691,14 +691,7 @@
}, },
watch: { watch: {
value: function (val, old) { value: function (val, old) {
if (val != old) { this.init();
this.item = {}
for (var i = 0; i < this.options.length; i++) {
if (this.options[i].key == this.value) {
this.item = this.options[i];
}
}
}
} }
}, },
methods: { methods: {
@ -737,6 +730,12 @@
}.bind(this), 100); }.bind(this), 100);
} else { } else {
this.options = dictItems; this.options = dictItems;
this.item = {};
for (var i = 0; i < this.options.length; i++) {
if (this.options[i].key == this.value) {
this.item = this.options[i];
}
}
} }
} }
} }
@ -769,6 +768,11 @@
default: '' default: ''
}, },
}, },
watch: {
value: function (val, old) {
this.init();
}
},
methods: { methods: {
init: function () { init: function () {
if (this.dictName) { if (this.dictName) {

@ -152,23 +152,28 @@
<el-form-item label="任务名称" prop="taskName"> <el-form-item label="任务名称" prop="taskName">
<el-input v-model="form.taskName" clearable size="mini" placeholder="请输入任务名称"></el-input> <el-input v-model="form.taskName" clearable size="mini" placeholder="请输入任务名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="详细注释" prop="taskNote"> <el-form-item label="是否有效" prop="valid">
<el-input v-model="form.taskNote" clearable size="mini" placeholder="请输入详细注释"></el-input> <el-radio-group v-model="form.valid" clearable size="mini">
<el-radio :label="true">是</el-radio>
<el-radio :label="false">否</el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="任务类型" prop="taskType"> <el-form-item label="任务类型" prop="taskType">
<el-input-dict v-model="form.taskType" clearable size="mini" placeholder="请输入任务类型" dict-name="TASK_TYPE" ></el-input-dict> <el-input-dict v-model="form.taskType" clearable size="mini" placeholder="请输入任务类型" dict-name="TASK_TYPE" ></el-input-dict>
</el-form-item> </el-form-item>
<el-form-item label="任务类型值" prop="typeValue"> <el-form-item label="类型值" prop="typeValue">
<el-input v-model="form.typeValue" clearable size="mini" placeholder="请输入任务类型值"></el-input> <el-input v-model="form.typeValue" clearable size="mini" placeholder="请输入任务类型值"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务SQL" prop="taskSql"> <el-form-item style="width: 600px" label="详细注释" prop="taskNote">
<el-input v-model="form.taskSql" clearable size="mini" placeholder="请输入任务SQL"></el-input> <el-input style="width: 504px" type="textarea" v-model="form.taskNote" clearable size="mini" placeholder="请输入详细注释"
maxlength="255"
show-word-limit></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否有效" prop="valid"> <el-form-item style="width: 600px" label="任务SQL" prop="taskSql">
<el-radio-group v-model="form.valid" clearable size="mini"> <el-input style="width: 504px" type="textarea" v-model="form.taskSql" clearable size="mini" placeholder="请输入任务SQL"
<el-radio :label="true">是</el-radio> :autosize="{ minRows: 5, maxRows: 5}"
<el-radio :label="false">否</el-radio> maxlength="2500"
</el-radio-group> show-word-limit></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">

@ -107,8 +107,8 @@ public class DataInit {
{// 任务类型 {// 任务类型
createDict("TASK_TYPE", "任务类型", new String[][]{ createDict("TASK_TYPE", "任务类型", new String[][]{
{"Cron", "Cron表达式"}, {"Cron", "Cron表达式"},
{"DelayRepeat", "间隔重复"}, {"DelayRepeat", "间隔重复(秒)"},
{"FixRepeat", "绝对重复"}, {"FixRepeat", "绝对重复(秒)"},
}); });
} }
{// 环境 {// 环境

Loading…
Cancel
Save

Powered by TurnKey Linux.