diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/JavaFxApplication.java b/src/main/java/xyz/wbsite/dbtool/javafx/JavaFxApplication.java index 1778b1af..c0c25477 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/JavaFxApplication.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/JavaFxApplication.java @@ -428,12 +428,6 @@ public class JavaFxApplication extends Application { currentTable.setAjax(newValue); } }); - detailTableController.getHtml().selectedProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { - currentTable.setHtml(newValue); - } - }); detailTableController.getApi().selectedProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { @@ -446,13 +440,45 @@ public class JavaFxApplication extends Application { currentTable.setMsvr(newValue); } }); + detailTableController.getPage().selectedProperty().addListener(new ChangeListener() { + @Override + public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { + currentTable.setPage(newValue); + if (newValue){ + detailTableController.getPageAdd().setSelected(true); + detailTableController.getPageImp().setSelected(true); + detailTableController.getPageExp().setSelected(true); + }else { + detailTableController.getPageAdd().setSelected(false); + detailTableController.getPageImp().setSelected(false); + detailTableController.getPageExp().setSelected(false); + } + } + }); + detailTableController.getPageAdd().selectedProperty().addListener(new ChangeListener() { + @Override + public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { + currentTable.setPageAdd(newValue); + } + }); + detailTableController.getPageExp().selectedProperty().addListener(new ChangeListener() { + @Override + public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { + currentTable.setPageExp(newValue); + } + }); + detailTableController.getPageImp().selectedProperty().addListener(new ChangeListener() { + @Override + public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { + currentTable.setPageImp(newValue); + } + }); detailTableController.getCreate().selectedProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { currentTable.setCreate(newValue); if (!currentTable.needMgr()) { detailTableController.getAjax().setSelected(false); - detailTableController.getHtml().setSelected(false); } } }); @@ -462,7 +488,6 @@ public class JavaFxApplication extends Application { currentTable.setDelete(newValue); if (!currentTable.needMgr()) { detailTableController.getAjax().setSelected(false); - detailTableController.getHtml().setSelected(false); } } }); @@ -472,7 +497,6 @@ public class JavaFxApplication extends Application { currentTable.setUpdate(newValue); if (!currentTable.needMgr()) { detailTableController.getAjax().setSelected(false); - detailTableController.getHtml().setSelected(false); } } }); @@ -482,7 +506,6 @@ public class JavaFxApplication extends Application { currentTable.setFind(newValue); if (!currentTable.needMgr()) { detailTableController.getAjax().setSelected(false); - detailTableController.getHtml().setSelected(false); } } }); @@ -492,7 +515,6 @@ public class JavaFxApplication extends Application { currentTable.setGet(newValue); if (!currentTable.needMgr()) { detailTableController.getAjax().setSelected(false); - detailTableController.getHtml().setSelected(false); } } }); @@ -502,7 +524,6 @@ public class JavaFxApplication extends Application { currentTable.setSearch(newValue); if (!currentTable.needMgr()) { detailTableController.getAjax().setSelected(false); - detailTableController.getHtml().setSelected(false); } } }); @@ -972,8 +993,11 @@ public class JavaFxApplication extends Application { detailTableController.getGet().setSelected(currentTable.getGet()); detailTableController.getSearch().setSelected(currentTable.getSearch()); detailTableController.getSys().setSelected(currentTable.getSys()); - detailTableController.getAjax().setSelected(currentTable.getAjax()); - detailTableController.getHtml().setSelected(currentTable.getHtml()); + detailTableController.getAjax().setSelected(currentTable.isAjax()); + detailTableController.getPage().setSelected(currentTable.isPage()); + detailTableController.getPageAdd().setSelected(currentTable.isPageAdd()); + detailTableController.getPageImp().setSelected(currentTable.isPageImp()); + detailTableController.getPageExp().setSelected(currentTable.isPageExp()); detailTableController.getApi().setSelected(currentTable.getApi()); detailTableController.getMsvr().setSelected(currentTable.getMsvr()); diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/DetailTableController.java b/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/DetailTableController.java index 1e4beb24..cae55f83 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/DetailTableController.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/DetailTableController.java @@ -34,7 +34,13 @@ public class DetailTableController { @FXML private CheckBox ajax; @FXML - private CheckBox html; + private CheckBox page; + @FXML + private CheckBox pageAdd; + @FXML + private CheckBox pageImp; + @FXML + private CheckBox pageExp; @FXML private CheckBox api; @FXML @@ -120,12 +126,12 @@ public class DetailTableController { this.tablecomment = tablecomment; } - public CheckBox getHtml() { - return html; + public CheckBox getPage() { + return page; } - public void setHtml(CheckBox html) { - this.html = html; + public void setPage(CheckBox page) { + this.page = page; } public CheckBox getAjax() { @@ -136,6 +142,30 @@ public class DetailTableController { this.ajax = ajax; } + public CheckBox getPageAdd() { + return pageAdd; + } + + public void setPageAdd(CheckBox pageAdd) { + this.pageAdd = pageAdd; + } + + public CheckBox getPageImp() { + return pageImp; + } + + public void setPageImp(CheckBox pageImp) { + this.pageImp = pageImp; + } + + public CheckBox getPageExp() { + return pageExp; + } + + public void setPageExp(CheckBox pageExp) { + this.pageExp = pageExp; + } + public CheckBox getApi() { return api; } diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/manger/ProjectManager.java b/src/main/java/xyz/wbsite/dbtool/javafx/manger/ProjectManager.java index 4764a5ca..b9d33c34 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/manger/ProjectManager.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/manger/ProjectManager.java @@ -226,8 +226,11 @@ public class ProjectManager { table.setFind(true); table.setGet(false); table.setSearch(false); + table.setPage(true); table.setAjax(true); - table.setHtml(true); + table.setPageAdd(true); + table.setPageImp(true); + table.setPageExp(true); checkSysFields(table);// 检查或移除系统字段 md.putTable(table); return table; diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java b/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java index 605e91b9..083bbf6b 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java @@ -150,7 +150,7 @@ public class SpringBootCallable implements Callable { File m = Tool.createPath(ajax, module.getName()); ctxss.put("moduleName", module.getName()); for (Table table : module.getTables()) { - if (table.getAjax()) { + if (table.isAjax()) { ctxss.put("table", table); freeMarkerManager.outputTemp(Tool.createFile(m, table.getCName() + "Ajax.java"), "SpringBoot/java/action/ajax/Ajax.java", ctxss); } @@ -607,6 +607,10 @@ public class SpringBootCallable implements Callable { //region SQLite数据库模板生成 if (DataBase.SQLite.name().equals(project.getDatabase().name())) { + File old = new File(root, project.getName() + ".db3"); + if (old.exists()){ + old.delete(); + } File dbFile = Tool.createFile(root, project.getName() + ".db3"); Connection connection = null; Statement statement = null; @@ -687,7 +691,7 @@ public class SpringBootCallable implements Callable { if (module.getNeedGenerate()) { File modulePath = Tool.createPath(screen, module.getName()); for (Table table : module.getTables()) { - if (table.getHtml()) { + if (table.isPage()) { ctx.put("table", table); ctx.put("module", module); ctx.put("fields", table.getFields()); diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/po/Module.java b/src/main/java/xyz/wbsite/dbtool/javafx/po/Module.java index 5cce581a..bc91f7cd 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/po/Module.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/po/Module.java @@ -52,7 +52,7 @@ public class Module { public boolean hasHtml() { for (Table table : tables) { - if (table.getHtml()) return true; + if (table.isPage()) return true; } return false; } diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/po/Project.java b/src/main/java/xyz/wbsite/dbtool/javafx/po/Project.java index a2fa05ff..a7ea62c7 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/po/Project.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/po/Project.java @@ -142,7 +142,7 @@ public class Project { public boolean isNeedAjax() { for (Module module : modules) { for (Table table : module.getTables()) { - if (table.getAjax()) { + if (table.isAjax()) { return true; } } @@ -153,7 +153,7 @@ public class Project { public boolean isNeedHtml() { for (Module module : modules) { for (Table table : module.getTables()) { - if (table.getHtml()) { + if (table.isPage()) { return true; } } diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/po/Table.java b/src/main/java/xyz/wbsite/dbtool/javafx/po/Table.java index ac19a78c..adf5dc77 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/po/Table.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/po/Table.java @@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import javafx.beans.property.SimpleStringProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; -import javafx.scene.control.TreeItem; import xyz.wbsite.dbtool.javafx.annotation.Property; import xyz.wbsite.dbtool.javafx.manger.ManagerFactory; import xyz.wbsite.dbtool.javafx.manger.ProjectManager; @@ -48,14 +47,21 @@ public class Table { @Property("sys") private boolean sys = true; @Property("ajax") - private boolean ajax = false; - @Property("html") - private boolean html = false; + private boolean ajax = true; @Property("api") private boolean api = false; @Property("msvr") private boolean msvr = false; + @Property("html") + private boolean page = true; + @Property("pageAdd") + private boolean pageAdd = true; + @Property("pageImp") + private boolean pageImp = true; + @Property("pageExp") + private boolean pageExp = true; + @Property("methods") private List methods = new ArrayList<>(); @@ -96,7 +102,16 @@ public class Table { } public boolean needMgr() { - return create || delete || update || find || get || search; + boolean need = create || delete || update || find || get || search; + if (need) { + return need; + } + for (TableMethod method : methods) { + if (method.isSelected()) { + return true; + } + } + return false; } public String getCName() { @@ -191,12 +206,44 @@ public class Table { this.search = search; } - public boolean getHtml() { - return html; + public boolean isPage() { + return page; + } + + public void setPage(boolean page) { + this.page = page; + } + + public boolean isAjax() { + return ajax; + } + + public void setAjax(boolean ajax) { + this.ajax = ajax; + } + + public boolean isPageAdd() { + return pageAdd; } - public void setHtml(boolean html) { - this.html = html; + public void setPageAdd(boolean pageAdd) { + this.pageAdd = pageAdd; + } + + public boolean isPageImp() { + return pageImp; + } + + public void setPageImp(boolean pageImp) { + this.pageImp = pageImp; + } + + public boolean isPageExp() { + return pageExp; + } + + public void setPageExp(boolean pageExp) { + this.pageExp = pageExp; } public boolean getSys() { @@ -209,14 +256,6 @@ public class Table { if (projectManager != null) projectManager.checkSysFields(this); } - public boolean getAjax() { - return ajax; - } - - public void setAjax(boolean ajax) { - this.ajax = ajax; - } - public boolean getApi() { return api; } diff --git a/src/main/resources/fxml/DetailTable.fxml b/src/main/resources/fxml/DetailTable.fxml index fe11f028..b105b7c7 100644 --- a/src/main/resources/fxml/DetailTable.fxml +++ b/src/main/resources/fxml/DetailTable.fxml @@ -12,7 +12,10 @@ - + + + + @@ -22,35 +25,53 @@ - diff --git a/src/main/resources/modules/SpringBoot/java/action/ajax/wsys/LogtaskAjax.java b/src/main/resources/modules/SpringBoot/java/action/ajax/wsys/LogtaskAjax.java new file mode 100644 index 00000000..48f98350 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/action/ajax/wsys/LogtaskAjax.java @@ -0,0 +1,28 @@ +package xyz.wbsite.action.ajax.wsys; + +import org.springframework.beans.factory.annotation.Autowired; +import xyz.wbsite.frame.auth.LocalData; +import xyz.wbsite.module.wsys.req.LogtaskCreateRequest; +import xyz.wbsite.module.wsys.req.LogtaskDeleteRequest; +import xyz.wbsite.module.wsys.req.LogtaskFindRequest; +import xyz.wbsite.module.wsys.rsp.LogtaskCreateResponse; +import xyz.wbsite.module.wsys.rsp.LogtaskDeleteResponse; +import xyz.wbsite.module.wsys.rsp.LogtaskFindResponse; + +public class LogtaskAjax { + + @Autowired + private xyz.wbsite.module.wsys.mgr.LogtaskManager logtaskManager; + + public LogtaskCreateResponse create(LogtaskCreateRequest request) { + return logtaskManager.create(request, LocalData.getToken()); + } + + public LogtaskDeleteResponse delete(LogtaskDeleteRequest request) { + return logtaskManager.delete(request, LocalData.getToken()); + } + + public LogtaskFindResponse find(LogtaskFindRequest request) { + return logtaskManager.find(request, LocalData.getToken()); + } +} \ No newline at end of file diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/ent/Logtask.java b/src/main/resources/modules/SpringBoot/java/module/wsys/ent/Logtask.java new file mode 100644 index 00000000..eebbe987 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/ent/Logtask.java @@ -0,0 +1,118 @@ +package xyz.wbsite.module.wsys.ent; + +import java.util.Date; +import xyz.wbsite.frame.excel.annotation.ExcelNote; +import xyz.wbsite.frame.excel.annotation.ExcelSelect; +import com.alibaba.excel.annotation.ExcelProperty; +import xyz.wbsite.frame.excel.annotation.ExcelSheet; +import xyz.wbsite.frame.base.BaseEntity; + +/** + * LOGTASK - 任务日志 + * + * @author wangbing + * @version 0.0.1 + * @since 2020-09-04 + */ +@ExcelSheet("任务日志") +public class Logtask extends BaseEntity { + + /** + * TASK_ID - 任务ID + */ + @ExcelProperty("任务ID") + @ExcelNote("") + private String taskId; + /** + * TASK_NAME - 任务名称 + */ + @ExcelProperty("任务名称") + @ExcelNote("") + private String taskName; + /** + * START_TIME - 开始时间 + */ + @ExcelProperty("开始时间") + @ExcelNote("") + private Date startTime; + /** + * END_TIME - 结束时间 + */ + @ExcelProperty("结束时间") + @ExcelNote("") + private Date endTime; + /** + * EXEC_TIME - 执行耗时 + */ + @ExcelProperty("执行耗时") + @ExcelNote("") + private Integer execTime; + /** + * EXEC_STATE - 执行状态 + */ + @ExcelProperty("执行状态") + @ExcelNote("") + private String execState; + /** + * EXEC_RESULT - 执行结果 + */ + @ExcelProperty("执行结果") + @ExcelNote("") + private String execResult; + + public String getTaskId() { + return this.taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + public String getTaskName() { + return this.taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public Date getStartTime() { + return this.startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public Date getEndTime() { + return this.endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + + public Integer getExecTime() { + return this.execTime; + } + + public void setExecTime(Integer execTime) { + this.execTime = execTime; + } + + public String getExecState() { + return this.execState; + } + + public void setExecState(String execState) { + this.execState = execState; + } + + public String getExecResult() { + return this.execResult; + } + + public void setExecResult(String execResult) { + this.execResult = execResult; + } +} \ No newline at end of file diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/mgr/LogtaskManager.java b/src/main/resources/modules/SpringBoot/java/module/wsys/mgr/LogtaskManager.java new file mode 100644 index 00000000..56d12be4 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/mgr/LogtaskManager.java @@ -0,0 +1,48 @@ +package xyz.wbsite.module.wsys.mgr; + +import xyz.wbsite.module.wsys.req.LogtaskCreateRequest; +import xyz.wbsite.module.wsys.req.LogtaskDeleteRequest; +import xyz.wbsite.module.wsys.req.LogtaskFindRequest; +import xyz.wbsite.module.wsys.req.LogtaskUpdateRequest; +import xyz.wbsite.module.wsys.rsp.LogtaskCreateResponse; +import xyz.wbsite.module.wsys.rsp.LogtaskDeleteResponse; +import xyz.wbsite.module.wsys.rsp.LogtaskFindResponse; +import xyz.wbsite.module.wsys.rsp.LogtaskUpdateResponse; +import xyz.wbsite.frame.auth.Token; + +/** + * 任务日志 + * + * @author wangbing + * @version 0.0.1 + * @since 2020-09-04 + */ +public interface LogtaskManager { + + /** + * 插入 + * + * @param request 请求对象 + * @param token 令牌 + * @return + */ + LogtaskCreateResponse create(LogtaskCreateRequest request, Token token); + + /** + * 逻辑删除 + * + * @param request 请求对象 + * @param token 令牌 + * @return + */ + LogtaskDeleteResponse delete(LogtaskDeleteRequest request, Token token); + + /** + * 查询 + * + * @param request 请求对象 + * @param token 令牌 + * @return + */ + LogtaskFindResponse find(LogtaskFindRequest request, Token token); +} diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/mgr/LogtaskManagerImpl.java b/src/main/resources/modules/SpringBoot/java/module/wsys/mgr/LogtaskManagerImpl.java new file mode 100644 index 00000000..cfa5112b --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/mgr/LogtaskManagerImpl.java @@ -0,0 +1,123 @@ +package xyz.wbsite.module.wsys.mgr; + +import xyz.wbsite.frame.utils.IDgenerator; +import xyz.wbsite.frame.utils.Message; +import xyz.wbsite.frame.base.ErrorType; +import xyz.wbsite.frame.auth.Token; +import xyz.wbsite.frame.utils.MapperUtil; +import xyz.wbsite.frame.utils.ValidationUtil; +import xyz.wbsite.module.wsys.ent.Logtask; +import xyz.wbsite.module.wsys.mpr.LogtaskMapper; +import xyz.wbsite.module.wsys.req.LogtaskCreateRequest; +import xyz.wbsite.module.wsys.req.LogtaskDeleteRequest; +import xyz.wbsite.module.wsys.req.LogtaskFindRequest; +import xyz.wbsite.module.wsys.req.LogtaskUpdateRequest; +import xyz.wbsite.module.wsys.rsp.LogtaskCreateResponse; +import xyz.wbsite.module.wsys.rsp.LogtaskDeleteResponse; +import xyz.wbsite.module.wsys.rsp.LogtaskFindResponse; +import xyz.wbsite.module.wsys.rsp.LogtaskUpdateResponse; +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.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * LOGTASK - 任务日志 + * + * @author wangbing + * @version 0.0.1 + * @since 2020-09-04 + */ +@Transactional +@Service +public class LogtaskManagerImpl implements LogtaskManager { + + @Autowired + private LogtaskMapper logtaskMapper; + + /** + * 插入 + * + * @param request 请求对象 + * @param token 令牌 + * @return 响应 + */ + public LogtaskCreateResponse create(LogtaskCreateRequest request, Token token) { + LogtaskCreateResponse response = new LogtaskCreateResponse(); + + ValidationUtil.validate(request, response); + if (response.hasError()) { + return response; + } + + long id = IDgenerator.nextId(); + Logtask entity = MapperUtil.map(request, Logtask.class); + entity.setId(id); + + long result = logtaskMapper.insert(entity, token); + if (1L != result) { + response.addError(ErrorType.BUSINESS_ERROR, Message.CREATE_FAILURE); + return response; + } + response.setId(id); + + return response; + } + + /** + * 逻辑删除 + * + * @param request 请求对象 + * @param token 令牌 + * @return 响应 + */ + public LogtaskDeleteResponse delete(LogtaskDeleteRequest request, Token token) { + LogtaskDeleteResponse response = new LogtaskDeleteResponse(); + + ValidationUtil.validate(request, response); + if (response.hasError()) { + return response; + } + + long result = logtaskMapper.delete(request.getId(), token); + if (1L != result) { + response.addError(ErrorType.BUSINESS_ERROR, Message.DELETE_FAILURE); + return response; + } + response.setResult(result); + + return response; + } + + /** + * 查询 + * + * @param request 请求对象 + * @param token 令牌 + * @return 响应 + */ + @Transactional(readOnly = true) + public LogtaskFindResponse find(LogtaskFindRequest request, Token token) { + LogtaskFindResponse response = new LogtaskFindResponse(); + + ValidationUtil.validate(request, response); + if (response.hasError()) { + return response; + } + + if (request.getPageSize() != 0) { + PageHelper.startPage(request.getPageNumber(), request.getPageSize()); + } + if (StringUtil.isNotEmpty(request.getSortKey())) { + PageHelper.orderBy(request.getSortKey() + " " + request.getSortType()); + } + PageInfo pageInfo = new PageInfo<>(logtaskMapper.find(request, token)); + + response.setResult(pageInfo.getList()); + response.setTotalCount(pageInfo.getTotal()); + + return response; + } +} diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/LogtaskMapper.java b/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/LogtaskMapper.java new file mode 100644 index 00000000..43290b47 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/LogtaskMapper.java @@ -0,0 +1,100 @@ +package xyz.wbsite.module.wsys.mpr; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import xyz.wbsite.frame.auth.Token; +import xyz.wbsite.module.wsys.ent.Logtask; +import xyz.wbsite.module.wsys.req.LogtaskFindRequest; + +import java.util.List; + +/** + * LOGTASK - 任务日志 + * + * @author wangbing + * @since 2020-09-04 + */ +@Mapper +public interface LogtaskMapper { + + /** + * 插入 + * + * @param request 请求对象 + * @param token 令牌 + * @return 返回数量 + */ + long insert(@Param("request") Logtask request, @Param("token") Token token); + + /** + * 批量插入 + * + * @param list 对象集合 + * @param token 令牌 + * @return 返回数量 + */ + long insertBatch(@Param("list") List list, @Param("token") Token token); + + /** + * 逻辑删除 + * + * @param id 主键 + * @param token 令牌 + * @return 返回数量 + */ + long delete(@Param("id") Long id, @Param("token") Token token); + + /** + * 批量逻辑删除 + * + * @param list 主键集合 + * @param token 令牌 + * @return 返回数量 + */ + long deleteBatch(@Param("list") List list, @Param("token") Token token); + + /** + * 更新 + * + * @param request 请求对象 + * @param token 令牌 + * @return 返回数量 + */ + long update(@Param("request") Logtask request, @Param("token") Token token); + + /** + * 普通查询 + * + * @param request 请求对象 + * @param token 令牌 + * @return 返回对象 + */ + List select(@Param("request") Logtask request, @Param("token") Token token); + + /** + * 高级查询 + * + * @param request 请求对象 + * @param token 令牌 + * @return 返回对象 + */ + List find(@Param("request") LogtaskFindRequest request, @Param("token") Token token); + + /** + * 获得对象 + * + * @param id 主键 + * @param token 令牌 + * @return 返回对象 + */ + Logtask getById(@Param("id") Long id, @Param("token") Token token); + + /** + * 获得对象 + * + * @param ids 主键集合 + * @param token 令牌 + * @return 返回对象 + */ + List getByIds(@Param("ids") Long[] ids, @Param("token") Token token); +} diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/MySQL_LogtaskMapper.xml b/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/MySQL_LogtaskMapper.xml new file mode 100644 index 00000000..ce74e172 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/MySQL_LogtaskMapper.xml @@ -0,0 +1,204 @@ + + + + + `SYS_LOGTASK` + + + `ID`,`TASK_ID`,`TASK_NAME`,`START_TIME`,`END_TIME`,`EXEC_TIME`,`EXEC_STATE`,`EXEC_RESULT`,`ROW_VERSION`,`IS_DELETED`,`CREATE_BY`,`CREATE_TIME`,`LAST_UPDATE_BY`,`LAST_UPDATE_TIME` + + + + + + + + + + + + + + + + + + + + + INSERT INTO + + ( + + ) + VALUES + ( + ${r'#'}{request.id}, + ${r'#'}{request.taskId,jdbcType=VARCHAR}, + ${r'#'}{request.taskName,jdbcType=VARCHAR}, + ${r'#'}{request.startTime,jdbcType=TIMESTAMP}, + ${r'#'}{request.endTime,jdbcType=TIMESTAMP}, + ${r'#'}{request.execTime,jdbcType=INTEGER}, + ${r'#'}{request.execState,jdbcType=VARCHAR}, + ${r'#'}{request.execResult,jdbcType=VARCHAR}, + 0, + 0, + ${r'#'}{token.userId,jdbcType=NUMERIC}, + sysdate(), + NULL, + NULL + ) + + + + INSERT INTO + + ( + + ) + VALUES + + ${r'#'}{item.id}, + ${r'#'}{item.taskId,jdbcType=VARCHAR}, + ${r'#'}{item.taskName,jdbcType=VARCHAR}, + ${r'#'}{item.startTime,jdbcType=TIMESTAMP}, + ${r'#'}{item.endTime,jdbcType=TIMESTAMP}, + ${r'#'}{item.execTime,jdbcType=INTEGER}, + ${r'#'}{item.execState,jdbcType=VARCHAR}, + ${r'#'}{item.execResult,jdbcType=VARCHAR}, + 0, + 0, + ${r'#'}{token.userId,jdbcType=NUMERIC}, + sysdate(), + NULL, + NULL + + + + + UPDATE + + SET `IS_DELETED` = 1 + WHERE `IS_DELETED` = 0 + AND `ID` = ${r'#'}{id} + + + + UPDATE + + SET `IS_DELETED` = 1 + WHERE `IS_DELETED` = 0 + AND `ID` IN + + ${r'#'}{item} + + + + + UPDATE + + SET + `TASK_ID` = ${r'#'}{request.taskId,jdbcType=VARCHAR}, + `TASK_NAME` = ${r'#'}{request.taskName,jdbcType=VARCHAR}, + `START_TIME` = ${r'#'}{request.startTime,jdbcType=TIMESTAMP}, + `END_TIME` = ${r'#'}{request.endTime,jdbcType=TIMESTAMP}, + `EXEC_TIME` = ${r'#'}{request.execTime,jdbcType=INTEGER}, + `EXEC_STATE` = ${r'#'}{request.execState,jdbcType=VARCHAR}, + `EXEC_RESULT` = ${r'#'}{request.execResult,jdbcType=VARCHAR}, + `ROW_VERSION` = `ROW_VERSION` + 1, + `LAST_UPDATE_BY` = ${r'#'}{token.userId}, + `LAST_UPDATE_TIME` = sysdate() + WHERE `IS_DELETED` = 0 + AND `ID` = ${r'#'}{request.id} + AND `ROW_VERSION` = ${r'#'}{request.rowVersion} + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/Oracle_LogtaskMapper.xml b/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/Oracle_LogtaskMapper.xml new file mode 100644 index 00000000..5ffd2de4 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/Oracle_LogtaskMapper.xml @@ -0,0 +1,206 @@ + + + + + "SYS_LOGTASK" + + + "ID","TASK_ID","TASK_NAME","START_TIME","END_TIME","EXEC_TIME","EXEC_STATE","EXEC_RESULT","ROW_VERSION","IS_DELETED","CREATE_BY","CREATE_TIME","LAST_UPDATE_BY","LAST_UPDATE_TIME" + + + + + + + + + + + + + + + + + + + + + INSERT INTO + + ( + + ) + VALUES + ( + ${r'#'}{request.id}, + ${r'#'}{request.taskId,jdbcType=VARCHAR}, + ${r'#'}{request.taskName,jdbcType=VARCHAR}, + ${r'#'}{request.startTime,jdbcType=TIMESTAMP}, + ${r'#'}{request.endTime,jdbcType=TIMESTAMP}, + ${r'#'}{request.execTime,jdbcType=INTEGER}, + ${r'#'}{request.execState,jdbcType=VARCHAR}, + ${r'#'}{request.execResult,jdbcType=VARCHAR}, + 0, + 0, + ${r'#'}{token.userId,jdbcType=NUMERIC}, + sysdate, + NULL, + NULL + ) + + + + INSERT INTO + + ( + + ) + VALUES + + ( + ${r'#'}{item.id}, + ${r'#'}{item.taskId,jdbcType=VARCHAR}, + ${r'#'}{item.taskName,jdbcType=VARCHAR}, + ${r'#'}{item.startTime,jdbcType=TIMESTAMP}, + ${r'#'}{item.endTime,jdbcType=TIMESTAMP}, + ${r'#'}{item.execTime,jdbcType=INTEGER}, + ${r'#'}{item.execState,jdbcType=VARCHAR}, + ${r'#'}{item.execResult,jdbcType=VARCHAR}, + 0, + 0, + ${r'#'}{token.userId,jdbcType=NUMERIC}, + sysdate, + NULL, + NULL + ) + + + + + UPDATE + + SET "IS_DELETED" = 1 + WHERE "IS_DELETED" = 0 + AND "ID" = ${r'#'}{id} + + + + UPDATE + + SET "IS_DELETED" = 1 + WHERE "IS_DELETED" = 0 + AND "ID" IN + + ${r'#'}{item} + + + + + UPDATE + + SET + "TASK_ID" = ${r'#'}{request.taskId,jdbcType=VARCHAR}, + "TASK_NAME" = ${r'#'}{request.taskName,jdbcType=VARCHAR}, + "START_TIME" = ${r'#'}{request.startTime,jdbcType=TIMESTAMP}, + "END_TIME" = ${r'#'}{request.endTime,jdbcType=TIMESTAMP}, + "EXEC_TIME" = ${r'#'}{request.execTime,jdbcType=INTEGER}, + "EXEC_STATE" = ${r'#'}{request.execState,jdbcType=VARCHAR}, + "EXEC_RESULT" = ${r'#'}{request.execResult,jdbcType=VARCHAR}, + "ROW_VERSION" = "ROW_VERSION" + 1, + "LAST_UPDATE_BY" = ${r'#'}{token.userId}, + "LAST_UPDATE_TIME" = sysdate + WHERE "IS_DELETED" = 0 + AND "ID" = ${r'#'}{request.id} + AND "ROW_VERSION" = ${r'#'}{request.rowVersion} + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/SQLite_LogtaskMapper.xml b/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/SQLite_LogtaskMapper.xml new file mode 100644 index 00000000..e99f6f70 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/mpr/SQLite_LogtaskMapper.xml @@ -0,0 +1,198 @@ + + + + + "SYS_LOGTASK" + + + "ID","TASK_ID","TASK_NAME","START_TIME","END_TIME","EXEC_TIME","EXEC_STATE","EXEC_RESULT","ROW_VERSION","IS_DELETED","CREATE_BY","CREATE_TIME","LAST_UPDATE_BY","LAST_UPDATE_TIME" + + + + + + + + + + + + + + + + + + + + + INSERT INTO + + ( + + ) + VALUES + ( + ${r'#'}{request.id}, + ${r'#'}{request.taskId,jdbcType=VARCHAR}, + ${r'#'}{request.taskName,jdbcType=VARCHAR}, + ${r'#'}{request.startTime,jdbcType=TIMESTAMP}, + ${r'#'}{request.endTime,jdbcType=TIMESTAMP}, + ${r'#'}{request.execTime,jdbcType=INTEGER}, + ${r'#'}{request.execState,jdbcType=VARCHAR}, + ${r'#'}{request.execResult,jdbcType=VARCHAR}, + 0, + 0, + ${r'#'}{token.userId,jdbcType=NUMERIC}, + datetime('now','localtime'), + NULL, + NULL + ) + + + + INSERT INTO + + ( + + ) + VALUES + + ${r'#'}{item.id}, + ${r'#'}{item.taskId,jdbcType=VARCHAR}, + ${r'#'}{item.taskName,jdbcType=VARCHAR}, + ${r'#'}{item.startTime,jdbcType=TIMESTAMP}, + ${r'#'}{item.endTime,jdbcType=TIMESTAMP}, + ${r'#'}{item.execTime,jdbcType=INTEGER}, + ${r'#'}{item.execState,jdbcType=VARCHAR}, + ${r'#'}{item.execResult,jdbcType=VARCHAR}, + 0, + 0, + ${r'#'}{token.userId,jdbcType=NUMERIC}, + datetime('now','localtime'), + NULL, + NULL + + + + + UPDATE + + SET "IS_DELETED" = 1 + WHERE "IS_DELETED" = 0 + AND "ID" = ${r'#'}{id} + + + + UPDATE + + SET "IS_DELETED" = 1 + WHERE "IS_DELETED" = 0 + AND "ID" IN + + ${r'#'}{item} + + + + + UPDATE + + SET + TASK_ID = ${r'#'}{request.taskId,jdbcType=VARCHAR}, + TASK_NAME = ${r'#'}{request.taskName,jdbcType=VARCHAR}, + START_TIME = ${r'#'}{request.startTime,jdbcType=TIMESTAMP}, + END_TIME = ${r'#'}{request.endTime,jdbcType=TIMESTAMP}, + EXEC_TIME = ${r'#'}{request.execTime,jdbcType=INTEGER}, + EXEC_STATE = ${r'#'}{request.execState,jdbcType=VARCHAR}, + EXEC_RESULT = ${r'#'}{request.execResult,jdbcType=VARCHAR}, + "ROW_VERSION" = "ROW_VERSION" + 1, + "LAST_UPDATE_BY" = ${r'#'}{token.userId}, + "LAST_UPDATE_TIME" = datetime('now','localtime') + WHERE "IS_DELETED" = 0 + AND "ID" = ${r'#'}{request.id} + AND "ROW_VERSION" = ${r'#'}{request.rowVersion} + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/req/LogtaskCreateRequest.java b/src/main/resources/modules/SpringBoot/java/module/wsys/req/LogtaskCreateRequest.java new file mode 100644 index 00000000..27b9b9b9 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/req/LogtaskCreateRequest.java @@ -0,0 +1,119 @@ +package xyz.wbsite.module.wsys.req; + +import xyz.wbsite.frame.base.BaseRequest; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; +import org.hibernate.validator.constraints.Length; +import java.util.Date; +import xyz.wbsite.frame.validation.Select; + +/** + * LogtaskCreateRequest - 任务日志新增 + * + * @author wangbing + * @version 0.0.1 + * @since 2020-09-04 + */ +public class LogtaskCreateRequest extends BaseRequest { + + /** + * 任务ID. + */ + @NotBlank(message = "[taskId]任务ID不能为空") + @Length(min = 0, max = 50, message = "[taskId]任务ID长度不合法(0-50)") + private String taskId; + + /** + * 任务名称. + */ + @NotBlank(message = "[taskName]任务名称不能为空") + @Length(min = 0, max = 50, message = "[taskName]任务名称长度不合法(0-50)") + private String taskName; + + /** + * 开始时间. + */ + @NotNull(message = "[startTime]开始时间不能为NULL") + private Date startTime; + + /** + * 结束时间. + */ + @NotNull(message = "[endTime]结束时间不能为NULL") + private Date endTime; + + /** + * 执行耗时. + */ + @NotNull(message = "[execTime]执行耗时不能为NULL") + private Integer execTime; + + /** + * 执行状态. + */ + @NotNull(message = "[execState]执行状态不能为NULL") + @Select({"1", "0"}) + private String execState; + + /** + * 执行结果. + */ + @Length(min = 0, max = 500, message = "[execResult]执行结果长度不合法(0-500)") + private String execResult; + + public String getTaskId() { + return this.taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + public String getTaskName() { + return this.taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public Date getStartTime() { + return this.startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public Date getEndTime() { + return this.endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + + public Integer getExecTime() { + return this.execTime; + } + + public void setExecTime(Integer execTime) { + this.execTime = execTime; + } + + public String getExecState() { + return this.execState; + } + + public void setExecState(String execState) { + this.execState = execState; + } + + public String getExecResult() { + return this.execResult; + } + + public void setExecResult(String execResult) { + this.execResult = execResult; + } +} diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/req/LogtaskDeleteRequest.java b/src/main/resources/modules/SpringBoot/java/module/wsys/req/LogtaskDeleteRequest.java new file mode 100644 index 00000000..5471ecef --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/req/LogtaskDeleteRequest.java @@ -0,0 +1,28 @@ +package xyz.wbsite.module.wsys.req; + +import xyz.wbsite.frame.base.BaseRequest; +import javax.validation.constraints.NotNull; + +/** + * LogtaskDeleteRequest - 任务日志删除 + * + * @author wangbing + * @version 0.0.1 + * @since 2020-09-04 + */ +public class LogtaskDeleteRequest extends BaseRequest { + + /** + * 主键. + */ + @NotNull(message = "[id]主键不能为空") + private Long id; + + public Long getId() { + return this.id; + } + + public void setId(Long id) { + this.id = id; + } +} diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/req/LogtaskFindRequest.java b/src/main/resources/modules/SpringBoot/java/module/wsys/req/LogtaskFindRequest.java new file mode 100644 index 00000000..e2824d4c --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/req/LogtaskFindRequest.java @@ -0,0 +1,120 @@ +package xyz.wbsite.module.wsys.req; + +import xyz.wbsite.frame.base.BaseFindRequest; +import java.util.Date; +import xyz.wbsite.frame.validation.Select; + +/** + * LogtaskFindRequest - 任务日志查询 + * + * @author wangbing + * @version 0.0.1 + * @since 2020-09-04 + */ +public class LogtaskFindRequest extends BaseFindRequest { + + /** + * 任务ID精确查询. + */ + private String taskId; + + /** + * 任务名称精确查询. + */ + private String taskName; + + /** + * 开始时间精确查询. + */ + private Date startTime; + + /** + * 结束时间精确查询. + */ + private Date endTime; + + /** + * 执行耗时精确查询. + */ + private Integer execTime; + + /** + * 执行状态精确查询. + */ + @Select() + private String execState; + + /** + * 开始日期. + */ + private Date startDate; + + /** + * 结束日期. + */ + private Date endDate; + + public String getTaskId() { + return this.taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + public String getTaskName() { + return this.taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public Date getStartTime() { + return this.startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public Date getEndTime() { + return this.endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + + public Integer getExecTime() { + return this.execTime; + } + + public void setExecTime(Integer execTime) { + this.execTime = execTime; + } + + public String getExecState() { + return this.execState; + } + + public void setExecState(String execState) { + this.execState = execState; + } + + public Date getStartDate() { + return startDate; + } + + public void setStartDate(Date startDate) { + this.startDate = startDate; + } + + public Date getEndDate() { + return endDate; + } + + public void setEndDate(Date endDate) { + this.endDate = endDate; + } +} diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/rsp/LogtaskCreateResponse.java b/src/main/resources/modules/SpringBoot/java/module/wsys/rsp/LogtaskCreateResponse.java new file mode 100644 index 00000000..6e64bdca --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/rsp/LogtaskCreateResponse.java @@ -0,0 +1,26 @@ +package xyz.wbsite.module.wsys.rsp; + +import xyz.wbsite.frame.base.BaseResponse; + +/** + * LogtaskCreateResponse - 任务日志 + * + * @author wangbing + * @version 0.0.1 + * @since 2020-09-04 + */ +public class LogtaskCreateResponse extends BaseResponse { + + /** + * 主键 + */ + private Long id; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } +} diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/rsp/LogtaskDeleteResponse.java b/src/main/resources/modules/SpringBoot/java/module/wsys/rsp/LogtaskDeleteResponse.java new file mode 100644 index 00000000..bb49eccb --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/rsp/LogtaskDeleteResponse.java @@ -0,0 +1,26 @@ +package xyz.wbsite.module.wsys.rsp; + +import xyz.wbsite.frame.base.BaseResponse; + +/** + * LogtaskDeleteResponse - 任务日志 + * + * @author wangbing + * @version 0.0.1 + * @since 2020-09-04 + */ +public class LogtaskDeleteResponse extends BaseResponse { + + /** + * 删除数目 + */ + private Long result; + + public Long getResult() { + return this.result; + } + + public void setResult(Long result) { + this.result = result; + } +} diff --git a/src/main/resources/modules/SpringBoot/java/module/wsys/rsp/LogtaskFindResponse.java b/src/main/resources/modules/SpringBoot/java/module/wsys/rsp/LogtaskFindResponse.java new file mode 100644 index 00000000..90c90e48 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/module/wsys/rsp/LogtaskFindResponse.java @@ -0,0 +1,14 @@ +package xyz.wbsite.module.wsys.rsp; + +import xyz.wbsite.frame.base.BaseFindResponse; +import xyz.wbsite.module.wsys.ent.Logtask; + +/** + * LogtaskFindResponse - 任务日志 + * + * @author wangbing + * @version 0.0.1 + * @since 2020-09-04 + */ +public class LogtaskFindResponse extends BaseFindResponse { +} \ No newline at end of file diff --git a/src/main/resources/modules/SpringBoot/resources/dbtool/wadmin.xml b/src/main/resources/modules/SpringBoot/resources/dbtool/wadmin.xml index 4b58b9ba..97b5dfbc 100644 --- a/src/main/resources/modules/SpringBoot/resources/dbtool/wadmin.xml +++ b/src/main/resources/modules/SpringBoot/resources/dbtool/wadmin.xml @@ -1,271 +1,289 @@ - + - - - - - - - - - - - - +
+ + + + + + + + + + +
- - - - - - - - - - - - - +
+ + + + + + + + + + + +
- - - - - +
+ + + + - - - - - - - - - - - + + + + + + + + + + +
- - - +
+ + - - - - - - - - + + + + + + + +
- - - - - - - - +
+ + + + + + + - - - - - - + + + + + +
- - - - - - - - - - - - - +
+ + + + + + + + + + + - - - - - - - - + + + + + + + +
- - - - +
+ + + - - - - - - - - - - - + + + + + + + + + + +
- - - - - - - +
+ + + + + + - - - - - - - - - + + + + + + + + +
- - - - - - - - - - - - +
+ + + + + + + + + + +
- - - - - - - - - - - +
+ + + + + + + + + +
- - - - - - - - - - - - +
+ + + + + + + + + + +
- - - - - +
+ + + + - - - - - - - - - + + + + + + + + +
- - - - - - - - - - - - - +
+ + + + + + + + + + + +
- - - - - - - - - - - - +
+ + + + + + + + + + +
- - - +
+ + - - - + + + - - - - - - + + + + + +
- - - - - - - - - - - - - - +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
diff --git a/src/main/resources/modules/SpringBoot/resources/dbtool/wsys_table/SQLite_ALL_TABLE.sql b/src/main/resources/modules/SpringBoot/resources/dbtool/wsys_table/SQLite_ALL_TABLE.sql index 74600053..538e7379 100644 --- a/src/main/resources/modules/SpringBoot/resources/dbtool/wsys_table/SQLite_ALL_TABLE.sql +++ b/src/main/resources/modules/SpringBoot/resources/dbtool/wsys_table/SQLite_ALL_TABLE.sql @@ -2,7 +2,7 @@ -- Table structure for DICT - 字典 -- Target : SQLite -- Author : wangbing --- Date: : 2020-03-09 +-- Date: : 2020-09-04 -- ---------------------------- CREATE TABLE IF NOT EXISTS SYS_DICT ( "ID" BIGINT PRIMARY KEY NOT NULL, @@ -17,11 +17,12 @@ CREATE TABLE IF NOT EXISTS SYS_DICT ( "LAST_UPDATE_BY" BIGINT, "LAST_UPDATE_TIME" DATETIME ); + -- ---------------------------- -- Table structure for DICT_ITEM - 字典项 -- Target : SQLite -- Author : wangbing --- Date: : 2020-03-09 +-- Date: : 2020-09-04 -- ---------------------------- CREATE TABLE IF NOT EXISTS SYS_DICT_ITEM ( "ID" BIGINT PRIMARY KEY NOT NULL, @@ -37,11 +38,12 @@ CREATE TABLE IF NOT EXISTS SYS_DICT_ITEM ( "LAST_UPDATE_BY" BIGINT, "LAST_UPDATE_TIME" DATETIME ); + -- ---------------------------- -- Table structure for RES - 资源 -- Target : SQLite -- Author : wangbing --- Date: : 2020-03-09 +-- Date: : 2020-09-04 -- ---------------------------- CREATE TABLE IF NOT EXISTS SYS_RES ( "ID" BIGINT PRIMARY KEY NOT NULL, @@ -51,6 +53,7 @@ CREATE TABLE IF NOT EXISTS SYS_RES ( "RES_VALUE" VARCHAR(250), "SUP_CODE" VARCHAR(50), "SUP_NAME" VARCHAR(50), + "FREE" BOOLEAN, "VALID" BOOLEAN NOT NULL, "ROW_VERSION" BIGINT NOT NULL, "IS_DELETED" BOOLEAN NOT NULL, @@ -59,22 +62,18 @@ CREATE TABLE IF NOT EXISTS SYS_RES ( "LAST_UPDATE_BY" BIGINT, "LAST_UPDATE_TIME" DATETIME ); + -- ---------------------------- --- Table structure for USER - 用户 +-- Table structure for PROFILES - 系统配置 -- Target : SQLite -- Author : wangbing --- Date: : 2020-03-09 +-- Date: : 2020-09-04 -- ---------------------------- -CREATE TABLE IF NOT EXISTS SYS_USER ( +CREATE TABLE IF NOT EXISTS SYS_PROFILES ( "ID" BIGINT PRIMARY KEY NOT NULL, - "USER_NAME" VARCHAR(100) NOT NULL, - "USER_CODE" VARCHAR(50) NOT NULL, - "USER_ALIAS" VARCHAR(50), - "USER_PWD" VARCHAR(50) NOT NULL, - "USER_STATUS" VARCHAR(20) NOT NULL, - "DEPT_ID" BIGINT, - "DEPT_CODE" VARCHAR(50), - "DEPT_NAME" VARCHAR(100), + "ACTIVE" VARCHAR(20) NOT NULL, + "KEY" VARCHAR(50) NOT NULL, + "VALUE" VARCHAR(50) NOT NULL, "ROW_VERSION" BIGINT NOT NULL, "IS_DELETED" BOOLEAN NOT NULL, "CREATE_BY" BIGINT NOT NULL, @@ -82,11 +81,12 @@ CREATE TABLE IF NOT EXISTS SYS_USER ( "LAST_UPDATE_BY" BIGINT, "LAST_UPDATE_TIME" DATETIME ); + -- ---------------------------- -- Table structure for DEPT - 部门 -- Target : SQLite -- Author : wangbing --- Date: : 2020-03-09 +-- Date: : 2020-09-04 -- ---------------------------- CREATE TABLE IF NOT EXISTS SYS_DEPT ( "ID" BIGINT PRIMARY KEY NOT NULL, @@ -103,29 +103,12 @@ CREATE TABLE IF NOT EXISTS SYS_DEPT ( "LAST_UPDATE_BY" BIGINT, "LAST_UPDATE_TIME" DATETIME ); --- ---------------------------- --- Table structure for ROLE - 角色 --- Target : SQLite --- Author : wangbing --- Date: : 2020-03-09 --- ---------------------------- -CREATE TABLE IF NOT EXISTS SYS_ROLE ( - "ID" BIGINT PRIMARY KEY NOT NULL, - "CODE" VARCHAR(50) NOT NULL, - "NAME" VARCHAR(50) NOT NULL, - "COMMENT" VARCHAR(50), - "ROW_VERSION" BIGINT NOT NULL, - "IS_DELETED" BOOLEAN NOT NULL, - "CREATE_BY" BIGINT NOT NULL, - "CREATE_TIME" DATETIME NOT NULL, - "LAST_UPDATE_BY" BIGINT, - "LAST_UPDATE_TIME" DATETIME -); + -- ---------------------------- -- Table structure for TOKENS - 通行证 -- Target : SQLite -- Author : wangbing --- Date: : 2020-03-09 +-- Date: : 2020-09-04 -- ---------------------------- CREATE TABLE IF NOT EXISTS SYS_TOKENS ( "ID" BIGINT PRIMARY KEY NOT NULL, @@ -148,11 +131,12 @@ CREATE TABLE IF NOT EXISTS SYS_TOKENS ( "LAST_UPDATE_BY" BIGINT, "LAST_UPDATE_TIME" DATETIME ); + -- ---------------------------- -- Table structure for FILE - 文件 -- Target : SQLite -- Author : wangbing --- Date: : 2020-03-09 +-- Date: : 2020-09-04 -- ---------------------------- CREATE TABLE IF NOT EXISTS SYS_FILE ( "ID" BIGINT PRIMARY KEY NOT NULL, @@ -170,11 +154,36 @@ CREATE TABLE IF NOT EXISTS SYS_FILE ( "LAST_UPDATE_BY" BIGINT, "LAST_UPDATE_TIME" DATETIME ); + +-- ---------------------------- +-- Table structure for USER - 用户 +-- Target : SQLite +-- Author : wangbing +-- Date: : 2020-09-04 +-- ---------------------------- +CREATE TABLE IF NOT EXISTS SYS_USER ( + "ID" BIGINT PRIMARY KEY NOT NULL, + "USER_NAME" VARCHAR(100) NOT NULL, + "USER_CODE" VARCHAR(50) NOT NULL, + "USER_ALIAS" VARCHAR(50), + "USER_PWD" VARCHAR(50) NOT NULL, + "USER_STATUS" VARCHAR(20) NOT NULL, + "DEPT_ID" BIGINT, + "DEPT_CODE" VARCHAR(50), + "DEPT_NAME" VARCHAR(100), + "ROW_VERSION" BIGINT NOT NULL, + "IS_DELETED" BOOLEAN NOT NULL, + "CREATE_BY" BIGINT NOT NULL, + "CREATE_TIME" DATETIME NOT NULL, + "LAST_UPDATE_BY" BIGINT, + "LAST_UPDATE_TIME" DATETIME +); + -- ---------------------------- -- Table structure for USER_ROLE - 用户角色授权 -- Target : SQLite -- Author : wangbing --- Date: : 2020-03-09 +-- Date: : 2020-09-04 -- ---------------------------- CREATE TABLE IF NOT EXISTS SYS_USER_ROLE ( "ID" BIGINT PRIMARY KEY NOT NULL, @@ -189,11 +198,31 @@ CREATE TABLE IF NOT EXISTS SYS_USER_ROLE ( "LAST_UPDATE_BY" BIGINT, "LAST_UPDATE_TIME" DATETIME ); + +-- ---------------------------- +-- Table structure for ROLE - 角色 +-- Target : SQLite +-- Author : wangbing +-- Date: : 2020-09-04 +-- ---------------------------- +CREATE TABLE IF NOT EXISTS SYS_ROLE ( + "ID" BIGINT PRIMARY KEY NOT NULL, + "CODE" VARCHAR(50) NOT NULL, + "NAME" VARCHAR(50) NOT NULL, + "COMMENT" VARCHAR(50), + "ROW_VERSION" BIGINT NOT NULL, + "IS_DELETED" BOOLEAN NOT NULL, + "CREATE_BY" BIGINT NOT NULL, + "CREATE_TIME" DATETIME NOT NULL, + "LAST_UPDATE_BY" BIGINT, + "LAST_UPDATE_TIME" DATETIME +); + -- ---------------------------- -- Table structure for ROLE_RES - 角色资源关系 -- Target : SQLite -- Author : wangbing --- Date: : 2020-03-09 +-- Date: : 2020-09-04 -- ---------------------------- CREATE TABLE IF NOT EXISTS SYS_ROLE_RES ( "ID" BIGINT PRIMARY KEY NOT NULL, @@ -208,11 +237,12 @@ CREATE TABLE IF NOT EXISTS SYS_ROLE_RES ( "LAST_UPDATE_BY" BIGINT, "LAST_UPDATE_TIME" DATETIME ); + -- ---------------------------- -- Table structure for TASK_SQL - SQL任务 -- Target : SQLite --- Author : author --- Date: : 2020-06-04 +-- Author : wangbing +-- Date: : 2020-09-04 -- ---------------------------- CREATE TABLE IF NOT EXISTS SYS_TASK_SQL ( "ID" BIGINT PRIMARY KEY NOT NULL, @@ -231,19 +261,38 @@ CREATE TABLE IF NOT EXISTS SYS_TASK_SQL ( ); -- ---------------------------- --- Table structure for SEQUENCE - 序列 +-- Table structure for VISITOR - 应用接入 -- Target : SQLite -- Author : wangbing --- Date: : 2020-07-08 +-- Date: : 2020-09-04 -- ---------------------------- -CREATE TABLE IF NOT EXISTS SYS_SEQUENCE ( +CREATE TABLE IF NOT EXISTS SYS_VISITOR ( "ID" BIGINT PRIMARY KEY NOT NULL, - "SEQ_NAME" VARCHAR(50) NOT NULL, - "SEQ_NOTE" VARCHAR(50), - "YEAR" VARCHAR(4), - "MONTH" VARCHAR(2), - "DATE" VARCHAR(2), - "NEXT_VALUE" MEDIUMINT NOT NULL, + "APP_NAME" VARCHAR(50) NOT NULL, + "APP_NOTE" VARCHAR(250), + "APP_KEY" VARCHAR(50) NOT NULL, + "APP_SECRET" VARCHAR(32) NOT NULL, + "VALID" BOOLEAN NOT NULL, + "ROW_VERSION" BIGINT NOT NULL, + "IS_DELETED" BOOLEAN NOT NULL, + "CREATE_BY" BIGINT NOT NULL, + "CREATE_TIME" DATETIME NOT NULL, + "LAST_UPDATE_BY" BIGINT, + "LAST_UPDATE_TIME" DATETIME +); + +-- ---------------------------- +-- Table structure for VISITOR_RES - 应用资源关系 +-- Target : SQLite +-- Author : wangbing +-- Date: : 2020-09-04 +-- ---------------------------- +CREATE TABLE IF NOT EXISTS SYS_VISITOR_RES ( + "ID" BIGINT PRIMARY KEY NOT NULL, + "APP_ID" BIGINT NOT NULL, + "APP_KEY" VARCHAR(50) NOT NULL, + "RES_ID" BIGINT NOT NULL, + "RES_CODE" VARCHAR(50) NOT NULL, "ROW_VERSION" BIGINT NOT NULL, "IS_DELETED" BOOLEAN NOT NULL, "CREATE_BY" BIGINT NOT NULL, @@ -256,7 +305,7 @@ CREATE TABLE IF NOT EXISTS SYS_SEQUENCE ( -- Table structure for LOGERR - 错误日志 -- Target : SQLite -- Author : wangbing --- Date: : 2020-07-08 +-- Date: : 2020-09-04 -- ---------------------------- CREATE TABLE IF NOT EXISTS SYS_LOGERR ( "ID" BIGINT PRIMARY KEY NOT NULL, @@ -273,16 +322,42 @@ CREATE TABLE IF NOT EXISTS SYS_LOGERR ( ); -- ---------------------------- --- Table structure for PROFILES - 系统配置 +-- Table structure for LOGTASK - 任务日志 -- Target : SQLite -- Author : wangbing --- Date: : 2020-07-08 +-- Date: : 2020-09-04 -- ---------------------------- -CREATE TABLE IF NOT EXISTS SYS_PROFILES ( +CREATE TABLE IF NOT EXISTS SYS_LOGTASK ( "ID" BIGINT PRIMARY KEY NOT NULL, - "ACTIVE" VARCHAR(20) NOT NULL, - "KEY" VARCHAR(50) NOT NULL, - "VALUE" VARCHAR(50) NOT NULL, + "TASK_ID" VARCHAR(50), + "TASK_NAME" VARCHAR(50), + "START_TIME" DATETIME, + "END_TIME" DATETIME, + "EXEC_TIME" MEDIUMINT, + "EXEC_STATE" VARCHAR(1), + "EXEC_RESULT" VARCHAR(500), + "ROW_VERSION" BIGINT NOT NULL, + "IS_DELETED" BOOLEAN NOT NULL, + "CREATE_BY" BIGINT NOT NULL, + "CREATE_TIME" DATETIME NOT NULL, + "LAST_UPDATE_BY" BIGINT, + "LAST_UPDATE_TIME" DATETIME +); + +-- ---------------------------- +-- Table structure for SEQUENCE - 序列 +-- Target : SQLite +-- Author : wangbing +-- Date: : 2020-09-04 +-- ---------------------------- +CREATE TABLE IF NOT EXISTS SYS_SEQUENCE ( + "ID" BIGINT PRIMARY KEY NOT NULL, + "SEQ_NAME" VARCHAR(50) NOT NULL, + "SEQ_NOTE" VARCHAR(50), + "YEAR" VARCHAR(4), + "MONTH" VARCHAR(2), + "DATE" VARCHAR(2), + "NEXT_VALUE" MEDIUMINT NOT NULL, "ROW_VERSION" BIGINT NOT NULL, "IS_DELETED" BOOLEAN NOT NULL, "CREATE_BY" BIGINT NOT NULL, diff --git a/src/main/resources/modules/SpringBoot/resources/dbtool/wsys_table/SQLite_LOGTASK.sql b/src/main/resources/modules/SpringBoot/resources/dbtool/wsys_table/SQLite_LOGTASK.sql new file mode 100644 index 00000000..67653cb0 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/resources/dbtool/wsys_table/SQLite_LOGTASK.sql @@ -0,0 +1,22 @@ +-- ---------------------------- +-- Table structure for LOGTASK - 任务日志 +-- Target : SQLite +-- Author : wangbing +-- Date: : 2020-09-04 +-- ---------------------------- +CREATE TABLE IF NOT EXISTS SYS_LOGTASK ( + "ID" BIGINT PRIMARY KEY NOT NULL, + "TASK_ID" VARCHAR(50), + "TASK_NAME" VARCHAR(50), + "START_TIME" DATETIME, + "END_TIME" DATETIME, + "EXEC_TIME" MEDIUMINT, + "EXEC_STATE" VARCHAR(1), + "EXEC_RESULT" VARCHAR(500), + "ROW_VERSION" BIGINT NOT NULL, + "IS_DELETED" BOOLEAN NOT NULL, + "CREATE_BY" BIGINT NOT NULL, + "CREATE_TIME" DATETIME NOT NULL, + "LAST_UPDATE_BY" BIGINT, + "LAST_UPDATE_TIME" DATETIME +); diff --git a/src/main/resources/modules/SpringBoot/resources/templates/screen/index.ftl b/src/main/resources/modules/SpringBoot/resources/templates/screen/index.ftl index b02d8c96..21b00142 100644 --- a/src/main/resources/modules/SpringBoot/resources/templates/screen/index.ftl +++ b/src/main/resources/modules/SpringBoot/resources/templates/screen/index.ftl @@ -56,6 +56,9 @@ ${print('<#if token.hasRes("MNT_SCHEDULE")>')} 调度监控 ${print('')} + ${print('<#if token.hasRes("MNT_LOGTASK")>')} + 调度日志 + ${print('')} ${print('<#if token.hasRes("MNT_LOGERR")>')} 错误日志 ${print('')} diff --git a/src/main/resources/modules/SpringBoot/resources/templates/screen/module/wsys/logtask.ftl b/src/main/resources/modules/SpringBoot/resources/templates/screen/module/wsys/logtask.ftl new file mode 100644 index 00000000..adcdd576 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/resources/templates/screen/module/wsys/logtask.ftl @@ -0,0 +1,231 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + + + + + + 导出 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ diff --git a/src/main/resources/modules/SpringBoot/test/DataInit.java b/src/main/resources/modules/SpringBoot/test/DataInit.java index 6079e152..780346ee 100644 --- a/src/main/resources/modules/SpringBoot/test/DataInit.java +++ b/src/main/resources/modules/SpringBoot/test/DataInit.java @@ -160,11 +160,20 @@ public class DataInit { forDev.add(createRes("02020101", "调度监控查询", "WEB", "/ajax/wsys/schedule/find")); forDev.add(createRes("02020102", "调度监控启动", "WEB", "/ajax/wsys/schedule/start")); forDev.add(createRes("02020103", "调度监控暂停", "WEB", "/ajax/wsys/schedule/stop")); - forDev.add(createRes("0203", "错误日志菜单", "WEB", "MNT_LOGERR")); - forDev.add(createRes("020301", "错误日志管理页", "WEB", "/wsys/logerr.htm")); - forDev.add(createRes("02030101", "错误日志删除", "WEB", "/ajax/wsys/logerr/delete")); - forDev.add(createRes("02030102", "错误日志更新", "WEB", "/ajax/wsys/logerr/update")); - forDev.add(createRes("02030103", "错误日志查询", "WEB", "/ajax/wsys/logerr/find")); + forDev.add(createRes("0203", "任务日志管理菜单", "WEB", "MNT_LOGTASK")); + forDev.add(createRes("020301", "任务日志管理页", "WEB", "/wsys/logtask.htm")); + forDev.add(createRes("02030101", "任务日志模板", "WEB", "/ajax/wsys/logtask/template")); + forDev.add(createRes("02030102", "任务日志导入", "WEB", "/ajax/wsys/logtask/imports")); + forDev.add(createRes("02030103", "任务日志导出", "WEB", "/ajax/wsys/logtask/exports")); + forDev.add(createRes("02030104", "任务日志新增", "WEB", "/ajax/wsys/logtask/create")); + forDev.add(createRes("02030105", "任务日志删除", "WEB", "/ajax/wsys/logtask/delete")); + forDev.add(createRes("02030106", "任务日志更新", "WEB", "/ajax/wsys/logtask/update")); + forDev.add(createRes("02030107", "任务日志查询", "WEB", "/ajax/wsys/logtask/find")); + forDev.add(createRes("0204", "错误日志菜单", "WEB", "MNT_LOGERR")); + forDev.add(createRes("020401", "错误日志管理页", "WEB", "/wsys/logerr.htm")); + forDev.add(createRes("02040101", "错误日志删除", "WEB", "/ajax/wsys/logerr/delete")); + forDev.add(createRes("02040102", "错误日志更新", "WEB", "/ajax/wsys/logerr/update")); + forDev.add(createRes("02040103", "错误日志查询", "WEB", "/ajax/wsys/logerr/find")); } List forMgr = new ArrayList<>(); diff --git a/src/main/resources/modules/SpringBoot/test/wsys/LogtaskTest.java b/src/main/resources/modules/SpringBoot/test/wsys/LogtaskTest.java new file mode 100644 index 00000000..1580bb27 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/test/wsys/LogtaskTest.java @@ -0,0 +1,95 @@ +package xyz.wbsite.wsys; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.transaction.annotation.Transactional; +import java.util.Date; + +import xyz.wbsite.frame.auth.Token; +import xyz.wbsite.module.wsys.mgr.LogtaskManager; +import xyz.wbsite.module.wsys.req.LogtaskCreateRequest; +import xyz.wbsite.module.wsys.req.LogtaskDeleteRequest; +import xyz.wbsite.module.wsys.req.LogtaskFindRequest; +import xyz.wbsite.module.wsys.rsp.LogtaskCreateResponse; +import xyz.wbsite.module.wsys.rsp.LogtaskDeleteResponse; +import xyz.wbsite.module.wsys.rsp.LogtaskFindResponse; + +import static junit.framework.TestCase.assertTrue; + +/** + * LogtaskTest - - 任务日志测试用例 + * + * @author wangbing + * @version 0.0.1 + * @since 2020-09-04 + */ +@RunWith(SpringRunner.class) +@SpringBootTest +@Transactional +public class LogtaskTest { + + @Autowired + private Token token; + + @Autowired + private LogtaskManager logtaskManager; + + @Test + public void testCreate() { + LogtaskCreateRequest request = new LogtaskCreateRequest(); + request.setTaskId("任务ID"); + request.setTaskName("任务名称"); + request.setStartTime(new Date()); + request.setEndTime(new Date()); + request.setExecTime(1); + request.setExecState("value"); + request.setExecResult("执行结果"); + + LogtaskCreateResponse response = logtaskManager.create(request,token); + + assertTrue(!response.hasError()); + } + + @Test + public void testDelete() { + + //创建数据 + LogtaskCreateRequest createRequest = new LogtaskCreateRequest(); + createRequest.setTaskId("任务ID"); + createRequest.setTaskName("任务名称"); + createRequest.setStartTime(new Date()); + createRequest.setEndTime(new Date()); + createRequest.setExecTime(1); + createRequest.setExecState("value"); + createRequest.setExecResult("执行结果"); + + LogtaskCreateResponse createResponse = logtaskManager.create(createRequest,token); + + assertTrue(!createResponse.hasError() && createResponse.getId() > 0); + //删除数据 + LogtaskDeleteRequest request = new LogtaskDeleteRequest(); + request.setId(createResponse.getId()); + + LogtaskDeleteResponse response = logtaskManager.delete(request,token); + + assertTrue(!response.hasError() && response.getResult() == 1L); + } + + @Test + public void testFind() { + LogtaskFindRequest request = new LogtaskFindRequest(); + request.setTaskId("任务ID"); + request.setTaskName("任务名称"); + request.setStartTime(new Date()); + request.setEndTime(new Date()); + request.setExecTime(1); + request.setExecState("value"); + + LogtaskFindResponse response = logtaskManager.find(request,token); + + assertTrue(!response.hasError()); + } +}