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

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

@ -22,6 +22,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.support.CronSequenceGenerator;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -54,6 +55,23 @@ public class TaskSqlManagerImpl implements TaskSqlManager {
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();
TaskSql entity = MapperUtil.map(request, TaskSql.class);
entity.setId(id);
@ -108,6 +126,23 @@ public class TaskSqlManagerImpl implements TaskSqlManager {
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);
if (1L != result) {
response.addError(ErrorType.BUSINESS_ERROR, Message.UPDATE_FAILURE);

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

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

@ -291,7 +291,7 @@
<el-button size="mini" @click="form.dialog = false">取 消</el-button>
<el-button size="mini" type="primary" @click="onSave">保存</el-button>
</span>
</el-dialog>
</el-dialog>
</div>
<script>
var app = new Vue({

@ -143,39 +143,44 @@
</el-pagination>
</el-card>
<el-dialog
<el-dialog
:custom-class="'dialog'"
:title="form.title"
:close-on-click-modal="false"
:visible.sync="form.dialog">
<el-form class="form" :model="form" :inline="true" :rules="formRules" ref="form" label-position="right" label-width="90px">
<el-form class="form" :model="form" :inline="true" :rules="formRules" ref="form" label-position="right" label-width="90px">
<el-form-item label="任务名称" prop="taskName">
<el-input v-model="form.taskName" clearable size="mini" placeholder="请输入任务名称"></el-input>
</el-form-item>
<el-form-item label="详细注释" prop="taskNote">
<el-input v-model="form.taskNote" clearable size="mini" placeholder="请输入详细注释"></el-input>
<el-form-item label="是否有效" prop="valid">
<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 label="任务类型" prop="taskType">
<el-input-dict v-model="form.taskType" clearable size="mini" placeholder="请输入任务类型" dict-name="TASK_TYPE" ></el-input-dict>
</el-form-item>
<el-form-item label="任务类型值" prop="typeValue">
<el-input v-model="form.typeValue" clearable size="mini" placeholder="请输入任务类型值"></el-input>
<el-form-item label="类型值" prop="typeValue">
<el-input v-model="form.typeValue" clearable size="mini" placeholder="请输入任务类型值"></el-input>
</el-form-item>
<el-form-item label="任务SQL" prop="taskSql">
<el-input v-model="form.taskSql" clearable size="mini" placeholder="请输入任务SQL"></el-input>
<el-form-item style="width: 600px" label="详细注释" prop="taskNote">
<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 label="是否有效" prop="valid">
<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 style="width: 600px" label="任务SQL" prop="taskSql">
<el-input style="width: 504px" type="textarea" v-model="form.taskSql" clearable size="mini" placeholder="请输入任务SQL"
:autosize="{ minRows: 5, maxRows: 5}"
maxlength="2500"
show-word-limit></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="mini" @click="form.dialog = false">取 消</el-button>
<el-button size="mini" type="primary" @click="onSave">保存</el-button>
</span>
</el-dialog>
</el-dialog>
</div>
<script>
var app = new Vue({

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

Loading…
Cancel
Save

Powered by TurnKey Linux.