parent
52a0b623b0
commit
b1bfb38593
File diff suppressed because it is too large
Load Diff
@ -1,620 +0,0 @@
|
||||
package xyz.wbsite.dbtool.javafx.manger.callable;
|
||||
|
||||
import xyz.wbsite.dbtool.javafx.manger.FreeMarkerManager;
|
||||
import xyz.wbsite.dbtool.javafx.manger.ManagerFactory;
|
||||
import xyz.wbsite.dbtool.javafx.manger.XmlManager;
|
||||
import xyz.wbsite.dbtool.javafx.po.AbstractDBmapper;
|
||||
import xyz.wbsite.dbtool.javafx.po.DataBase;
|
||||
import xyz.wbsite.dbtool.javafx.po.Module;
|
||||
import xyz.wbsite.dbtool.javafx.po.MySQLDBmapper;
|
||||
import xyz.wbsite.dbtool.javafx.po.OracleDBmapper;
|
||||
import xyz.wbsite.dbtool.javafx.po.Project;
|
||||
import xyz.wbsite.dbtool.javafx.po.SQLiteDBmapper;
|
||||
import xyz.wbsite.dbtool.javafx.po.Table;
|
||||
import xyz.wbsite.dbtool.javafx.tool.Tool;
|
||||
import xyz.wbsite.dbtool.web.frame.utils.FileUtil;
|
||||
import xyz.wbsite.dbtool.web.frame.utils.ResourceUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
public class SpringBootServiceCallable implements Callable {
|
||||
|
||||
private File root;
|
||||
private Project project;
|
||||
private AbstractDBmapper dBmapper;
|
||||
private FreeMarkerManager freeMarkerManager;
|
||||
|
||||
public SpringBootServiceCallable(Project project, File root) {
|
||||
this.root = root;
|
||||
this.project = project;
|
||||
this.freeMarkerManager = ManagerFactory.getFreeMarkerManager();
|
||||
// 根据配置获取数据库处理器
|
||||
if (project.getDatabase().name().equals(DataBase.MySQL.name())) {
|
||||
this.dBmapper = new MySQLDBmapper();
|
||||
} else if (project.getDatabase().name().equals(DataBase.Oracle.name())) {
|
||||
this.dBmapper = new OracleDBmapper();
|
||||
} else if (project.getDatabase().name().equals(DataBase.SQLite.name())) {
|
||||
this.dBmapper = new SQLiteDBmapper();
|
||||
} else {
|
||||
this.dBmapper = new MySQLDBmapper();
|
||||
}
|
||||
}
|
||||
|
||||
public Boolean call() throws Exception {
|
||||
// 创建项目文件夹
|
||||
File projectDir = Tool.createPath(root, project.getProjectName());
|
||||
// 清空内容
|
||||
Tool.clear(projectDir);
|
||||
// 生成java目录
|
||||
File javaDir = Tool.createPath(projectDir.getAbsolutePath(), "src", "main", "java");
|
||||
// 生成资源目录
|
||||
File resourcesDir = Tool.createPath(projectDir.getAbsolutePath(), "src", "main", "resources");
|
||||
// 生成域名目录
|
||||
File domainDir = javaDir;
|
||||
for (String s : project.getProjectBasePackage().split("\\.")) {
|
||||
domainDir = Tool.createPath(domainDir.getAbsolutePath(), s);
|
||||
}
|
||||
// 生成单元测试java目录
|
||||
File testJavaDir = Tool.createPath(projectDir.getAbsolutePath(), "src", "test", "java");
|
||||
File testDomainDir = testJavaDir;
|
||||
for (String s : project.getProjectBasePackage().split("\\.")) {
|
||||
testDomainDir = Tool.createPath(testDomainDir.getAbsolutePath(), s);
|
||||
}
|
||||
// 生成单元测试resources目录
|
||||
File testResourcesDir = Tool.createPath(projectDir.getAbsolutePath(), "src", "test", "resources");
|
||||
|
||||
// 生成POM
|
||||
generatePom(projectDir, project);
|
||||
|
||||
{//生成java文件
|
||||
// 生成 Config
|
||||
System.out.println("生成模块:config");
|
||||
generateConfig(Tool.createPath(domainDir.getAbsolutePath(), "config"), project);
|
||||
|
||||
|
||||
{// 模块
|
||||
for (Module module : project.getModules()) {// 业务模块
|
||||
module.setProjectAuthor(project.getProjectAuthor());
|
||||
module.setProjectBasePackage(project.getProjectBasePackage());
|
||||
module.setProjectName(project.getProjectName());
|
||||
|
||||
File moduleDir = Tool.createPath(domainDir.getAbsolutePath(), "module", module.getModuleName());
|
||||
|
||||
System.out.println("生成模块:Entity");
|
||||
generateEntity(Tool.createPath(moduleDir.getAbsolutePath(), "ent"), module);
|
||||
System.out.println("生成模块:Mapper");
|
||||
generateMapper(Tool.createPath(moduleDir.getAbsolutePath(), "mpr"), module);
|
||||
System.out.println("生成模块:Manager");
|
||||
generateManager(Tool.createPath(moduleDir.getAbsolutePath(), "mgr"), module);
|
||||
System.out.println("生成模块:Request");
|
||||
generateRequest(Tool.createPath(moduleDir.getAbsolutePath(), "req"), module);
|
||||
System.out.println("生成模块:Response");
|
||||
generateResponse(Tool.createPath(moduleDir.getAbsolutePath(), "rsp"), module);
|
||||
}
|
||||
}
|
||||
|
||||
// frame等内容
|
||||
System.out.println("生成模块:frame");
|
||||
generateFrame(Tool.createPath(domainDir.getAbsolutePath(), "frame"), project);
|
||||
|
||||
// Task
|
||||
System.out.println("生成模块:task");
|
||||
generateTask(Tool.createPath(domainDir.getAbsolutePath(), "task"), project);
|
||||
|
||||
// Application
|
||||
System.out.println("生成模块:Application");
|
||||
generateApplication(Tool.createPath(domainDir.getAbsolutePath()), project);
|
||||
}
|
||||
|
||||
{//生成resources文件
|
||||
System.out.println("生成模块:Resources");
|
||||
generateResources(resourcesDir, project);
|
||||
System.out.println("生成模块:Static");
|
||||
System.out.println("生成模块:Templates");
|
||||
}
|
||||
|
||||
{//生成Test
|
||||
System.out.println("生成模块:Test");
|
||||
generateTest(testDomainDir, project);
|
||||
}
|
||||
|
||||
{//生成Test Resources
|
||||
System.out.println("生成模块:Test Resources");
|
||||
generateTestResources(testResourcesDir, project);
|
||||
}
|
||||
System.out.println("finish");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 生成POM.xml
|
||||
*
|
||||
* @param root
|
||||
* @param project
|
||||
*/
|
||||
public void generatePom(File root, Project project) {
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
ctx.put("projectName", project.getProjectName());
|
||||
ctx.put("domain", project.getProjectBasePackage());
|
||||
ctx.put("dataBase", project.getDatabase().toString());
|
||||
ctx.put("project", project);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "pom.xml"), "SpringBootService/pom.ftl", ctx);
|
||||
}
|
||||
|
||||
public void generateConfig(File root, Project project) {
|
||||
if (!root.exists()) {
|
||||
root.mkdirs();
|
||||
} else {
|
||||
Tool.clear(root);
|
||||
}
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
ctx.put("domain", project.getProjectBasePackage());
|
||||
ctx.put("projectName", project.getProjectName());
|
||||
ctx.put("author", project.getProjectAuthor());
|
||||
|
||||
//config
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "ScheduleConfig.java"), "SpringBootService/java/config/ScheduleConfig.java", ctx);
|
||||
if (project.getDatabase().name().equals(DataBase.SQLite.name())) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "SQLiteConfig.java"), "SpringBootService/java/config/SQLiteConfig.java", ctx);
|
||||
}
|
||||
if (project.isNeedMoreDB()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "MapperMainConfig.java"), "SpringBootService/java/config/MapperMainConfig.java", ctx);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "MapperTwoConfig.java"), "SpringBootService/java/config/MapperTwoConfig.java", ctx);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成entity
|
||||
*
|
||||
* @param root
|
||||
* @param md
|
||||
*/
|
||||
public void generateEntity(File root, Module md) {
|
||||
if (!root.exists()) {
|
||||
root.mkdirs();
|
||||
} else {
|
||||
Tool.clear(root);
|
||||
}
|
||||
|
||||
for (Table table : md.getTables()) {
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
ctx.put("tool", Tool.class);
|
||||
ctx.put("domain", md.getProjectBasePackage());
|
||||
ctx.put("moduleName", md.getModuleName());
|
||||
ctx.put("table", table);
|
||||
ctx.put("author", md.getProjectAuthor());
|
||||
|
||||
File file = Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + ".java");
|
||||
freeMarkerManager.outputTemp(file, "SpringBootService/java/module/ent/entity.ftl", ctx);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成Mapper
|
||||
*
|
||||
* @param root
|
||||
* @param md
|
||||
*/
|
||||
public void generateMapper(File root, Module md) {
|
||||
if (!root.exists()) {
|
||||
root.mkdirs();
|
||||
} else {
|
||||
Tool.clear(root);
|
||||
}
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
|
||||
ctx.put("tool", Tool.class);
|
||||
ctx.put("module", md);
|
||||
ctx.put("dataBase", project.getDatabase().toString());
|
||||
ctx.put("domain", md.getProjectBasePackage());
|
||||
ctx.put("moduleName", md.getModuleName());
|
||||
ctx.put("author", md.getProjectAuthor());
|
||||
|
||||
for (Table table : md.getTables()) {
|
||||
ctx.put("table", table);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "Mapper" + ".java"), "SpringBootService/java/module/mpr/mapper.java", ctx);
|
||||
|
||||
if (table.getSys()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "Mapper" + ".xml"), "SpringBootService/java/module/mpr/" + project.getDatabase().name() + "_mapper.xml", ctx);
|
||||
} else {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "Mapper" + ".xml"), "SpringBootService/java/module/mpr/" + project.getDatabase().name() + "_NSYS_mapper.xml", ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void generateManager(File root, Module md) {
|
||||
if (!root.exists()) {
|
||||
root.mkdirs();
|
||||
} else {
|
||||
Tool.clear(root);
|
||||
}
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
|
||||
ctx.put("tool", Tool.class);
|
||||
ctx.put("module", md);
|
||||
ctx.put("domain", md.getProjectBasePackage());
|
||||
ctx.put("moduleName", md.getModuleName());
|
||||
ctx.put("author", md.getProjectAuthor());
|
||||
|
||||
for (Table table : md.getTables()) {
|
||||
ctx.put("table", table);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "Manager" + ".java"), "SpringBootService/java/module/mgr/manager.ftl", ctx);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "ManagerImpl" + ".java"), "SpringBootService/java/module/mgr/managerImpl.ftl", ctx);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成Request
|
||||
*
|
||||
* @param root
|
||||
* @param md
|
||||
*/
|
||||
public void generateRequest(File root, Module md) {
|
||||
if (!root.exists()) {
|
||||
root.mkdirs();
|
||||
} else {
|
||||
Tool.clear(root);
|
||||
}
|
||||
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
ctx.put("tool", Tool.class);
|
||||
ctx.put("module", md);
|
||||
ctx.put("domain", md.getProjectBasePackage());
|
||||
ctx.put("moduleName", md.getModuleName());
|
||||
ctx.put("author", md.getProjectAuthor());
|
||||
|
||||
if (md.getModuleName().equals("api")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "ApiExampleRequest" + ".java"), "SpringBootService/java/module/req/ApiExampleRequest.java", ctx);
|
||||
}
|
||||
|
||||
for (Table table : md.getTables()) {
|
||||
ctx.put("table", table);
|
||||
|
||||
if (table.getCreate()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "CreateRequest" + ".java"), "SpringBootService/java/module/req/createRequestClass.ftl", ctx);
|
||||
}
|
||||
|
||||
if (table.getDelete()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "DeleteRequest" + ".java"), "SpringBootService/java/module/req/deleteRequestClass.ftl", ctx);
|
||||
}
|
||||
|
||||
if (table.getUpdate()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "UpdateRequest" + ".java"), "SpringBootService/java/module/req/updateRequestClass.ftl", ctx);
|
||||
}
|
||||
|
||||
if (table.getFind()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "FindRequest" + ".java"), "SpringBootService/java/module/req/findRequestClass.ftl", ctx);
|
||||
}
|
||||
|
||||
if (table.getGet()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "GetRequest" + ".java"), "SpringBootService/java/module/req/getRequestClass.ftl", ctx);
|
||||
}
|
||||
|
||||
if (table.getSearch()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "SearchRequest" + ".java"), "SpringBootService/java/module/req/searchRequestClass.ftl", ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成一般文件
|
||||
*
|
||||
* @param root
|
||||
* @param md
|
||||
*/
|
||||
public void generateResponse(File root, Module md) {
|
||||
if (!root.exists()) {
|
||||
root.mkdirs();
|
||||
} else {
|
||||
Tool.clear(root);
|
||||
}
|
||||
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
ctx.put("tool", Tool.class);
|
||||
ctx.put("module", md);
|
||||
ctx.put("domain", md.getProjectBasePackage());
|
||||
ctx.put("moduleName", md.getModuleName());
|
||||
ctx.put("author", md.getProjectAuthor());
|
||||
|
||||
if (md.getModuleName().equals("api")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "ApiExampleResponse" + ".java"), "SpringBootService/java/module/rsp/ApiExampleResponse.java", ctx);
|
||||
}
|
||||
|
||||
for (Table table : md.getTables()) {
|
||||
ctx.put("table", table);
|
||||
|
||||
if (table.getCreate()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "CreateResponse" + ".java"), "SpringBootService/java/module/rsp/createResponseClass.ftl", ctx);
|
||||
}
|
||||
|
||||
if (table.getDelete()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "DeleteResponse" + ".java"), "SpringBootService/java/module/rsp/deleteResponseClass.ftl", ctx);
|
||||
}
|
||||
|
||||
if (table.getUpdate()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "UpdateResponse" + ".java"), "SpringBootService/java/module/rsp/updateResponseClass.ftl", ctx);
|
||||
}
|
||||
|
||||
if (table.getFind()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "FindResponse" + ".java"), "SpringBootService/java/module/rsp/findResponseClass.ftl", ctx);
|
||||
}
|
||||
|
||||
if (table.getGet()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "GetResponse" + ".java"), "SpringBootService/java/module/rsp/getResponseClass.ftl", ctx);
|
||||
}
|
||||
|
||||
if (table.getSearch()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "SearchResponse" + ".java"), "SpringBootService/java/module/rsp/searchResponseClass.ftl", ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成frame类
|
||||
*
|
||||
* @param root
|
||||
* @param project
|
||||
*/
|
||||
public void generateFrame(File root, Project project) {
|
||||
if (!root.exists()) {
|
||||
root.mkdirs();
|
||||
} else {
|
||||
Tool.clear(root);
|
||||
}
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
ctx.put("domain", project.getProjectBasePackage());
|
||||
ctx.put("moduleName", project.getProjectName());
|
||||
ctx.put("timestamp", new Date().getTime());
|
||||
|
||||
File auth = Tool.createPath(root.getAbsolutePath(), "auth");
|
||||
File base = Tool.createPath(root.getAbsolutePath(), "base");
|
||||
File excel = Tool.createPath(root.getAbsolutePath(), "excel");
|
||||
File excelannotation = Tool.createPath(excel.getAbsolutePath(), "annotation");
|
||||
File excelconverter = Tool.createPath(excel.getAbsolutePath(), "converter");
|
||||
File exception = Tool.createPath(excel.getAbsolutePath(), "exception");
|
||||
File excelstyle = Tool.createPath(excel.getAbsolutePath(), "style");
|
||||
File schedule = Tool.createPath(root.getAbsolutePath(), "schedule");
|
||||
File utils = Tool.createPath(root.getAbsolutePath(), "utils");
|
||||
File validation = Tool.createPath(root.getAbsolutePath(), "validation");
|
||||
|
||||
//auth
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/frame/auth/")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(auth.getAbsolutePath(), name), "SpringBootService/java/frame/auth/" + name, ctx);
|
||||
}
|
||||
|
||||
//base
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/frame/base/")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(base.getAbsolutePath(), name), "SpringBootService/java/frame/base/" + name, ctx);
|
||||
}
|
||||
|
||||
//excel
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/frame/excel/")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(excel.getAbsolutePath(), name), "SpringBootService/java/frame/excel/" + name, ctx);
|
||||
}
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/frame/excel/annotation/")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(excelannotation.getAbsolutePath(), name), "SpringBootService/java/frame/excel/annotation/" + name, ctx);
|
||||
}
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/frame/excel/converter/")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(excelconverter.getAbsolutePath(), name), "SpringBootService/java/frame/excel/converter/" + name, ctx);
|
||||
}
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/frame/excel/exception/")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(exception.getAbsolutePath(), name), "SpringBootService/java/frame/excel/exception/" + name, ctx);
|
||||
}
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/frame/excel/style/")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(excelstyle.getAbsolutePath(), name), "SpringBootService/java/frame/excel/style/" + name, ctx);
|
||||
}
|
||||
|
||||
//schedule
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/frame/schedule/")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(schedule.getAbsolutePath(), name), "SpringBootService/java/frame/schedule/" + name, ctx);
|
||||
}
|
||||
//utils
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/frame/utils/")) {
|
||||
ArrayList<String> filters = new ArrayList<>();
|
||||
filters.add("MailUtil.java");
|
||||
|
||||
if (filters.contains(name)) {
|
||||
if (project.isNeedEMail()) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(utils.getAbsolutePath(), name), "SpringBootService/java/frame/utils/" + name, ctx);
|
||||
}
|
||||
} else {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(utils.getAbsolutePath(), name), "SpringBootService/java/frame/utils/" + name, ctx);
|
||||
}
|
||||
}
|
||||
|
||||
//validation
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/frame/validation/")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(validation.getAbsolutePath(), name), "SpringBootService/java/frame/validation/" + name, ctx);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 生成frame类
|
||||
*
|
||||
* @param root
|
||||
* @param project
|
||||
*/
|
||||
public void generateTask(File root, Project project) {
|
||||
if (!root.exists()) {
|
||||
root.mkdirs();
|
||||
} else {
|
||||
Tool.clear(root);
|
||||
}
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
ctx.put("domain", project.getProjectBasePackage());
|
||||
ctx.put("moduleName", project.getProjectName());
|
||||
ctx.put("timestamp", new Date().getTime());
|
||||
|
||||
//task
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/java/task/")) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), name), "SpringBootService/java/task/" + name, ctx);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成base类
|
||||
*
|
||||
* @param root
|
||||
* @param project
|
||||
*/
|
||||
public void generateApplication(File root, Project project) {
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
ctx.put("domain", project.getProjectBasePackage());
|
||||
ctx.put("moduleName", project.getProjectName());
|
||||
ctx.put("project", project);
|
||||
ctx.put("timestamp", new Date().getTime());
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "Application.java"), "SpringBootService/java/Application.ftl", ctx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成properties
|
||||
*
|
||||
* @param root
|
||||
* @param project
|
||||
*/
|
||||
public void generateResources(File root, Project project) {
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
|
||||
ctx.put("domain", project.getProjectBasePackage());
|
||||
ctx.put("tool", Tool.class);
|
||||
ctx.put("dataBase", project.getDatabase().toString());
|
||||
ctx.put("author", project.getProjectAuthor());
|
||||
ctx.put("dBmapper", dBmapper);
|
||||
ctx.put("author", project.getProjectAuthor());
|
||||
ctx.put("projectName", project.getProjectName());
|
||||
ctx.put("project", project);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "start-dev.bat"), "SpringBootService/resources/start-dev.bat", ctx);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "start-prod.bat"), "SpringBootService/resources/start-prod.bat", ctx);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "application-dev.properties"), "SpringBootService/resources/application-dev.ftl", ctx);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "application-prod.properties"), "SpringBootService/resources/application-prod.ftl", ctx);
|
||||
Tool.outputResource("SpringBootService/resources/logback-spring.xml", Tool.createFile(root.getAbsolutePath(), "logback-spring.xml"));
|
||||
|
||||
File dbtool = Tool.createPath(root.getAbsolutePath(), "dbtool");
|
||||
{
|
||||
XmlManager xmlManager = ManagerFactory.getXmlManager();
|
||||
xmlManager.saveAs(dbtool, project);
|
||||
}
|
||||
|
||||
for (Module module : project.getModules()) {
|
||||
ctx.put("moduleName", module.getModuleName());
|
||||
ctx.put("module", module);
|
||||
File tableDir = Tool.createPath(dbtool.getAbsolutePath(), module.getModuleName() + "_table");
|
||||
for (Table table : module.getTables()) {
|
||||
ctx.put("table", table);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(tableDir.getAbsolutePath(), project.getDatabase().name() + "_" + table.getTableName() + ".sql"), "SpringBootService/resources/dbtool/table.ftl", ctx);
|
||||
}
|
||||
freeMarkerManager.outputTemp(Tool.createFile(tableDir.getAbsolutePath(), project.getDatabase().name() + "_ALL_TABLE" + ".sql"), "SpringBootService/resources/dbtool/tableAll.ftl", ctx);
|
||||
}
|
||||
|
||||
if (project.isNeedSys()) {//生成系统模块
|
||||
File system = Tool.createPath(dbtool.getAbsolutePath(), "system_table");
|
||||
|
||||
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBootService/resources/dbtool/system/")) {
|
||||
if (name.contains(project.getDatabase().name())) {
|
||||
freeMarkerManager.outputTemp(Tool.createFile(system.getAbsolutePath(), name), "SpringBootService/resources/dbtool/system/" + name, ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (DataBase.SQLite.name().equals(project.getDatabase().name())) {
|
||||
File dbFile = Tool.createFile(root.getAbsolutePath(), project.getProjectName() + ".db");
|
||||
Connection connection = null;
|
||||
Statement statement = null;
|
||||
try {
|
||||
Class.forName("org.sqlite.JDBC");
|
||||
connection = DriverManager.getConnection("jdbc:sqlite:" + dbFile.getAbsolutePath());
|
||||
|
||||
for (File fileModule : dbtool.listFiles()) {
|
||||
if (!fileModule.isDirectory()) {
|
||||
continue;
|
||||
}
|
||||
for (File file : fileModule.listFiles()) {
|
||||
if (!file.getName().startsWith("SQLite_ALL_") && file.getName().endsWith(".sql")) {
|
||||
statement = connection.createStatement();
|
||||
String sql = FileUtil.readFileToString(file);
|
||||
statement.execute(sql);
|
||||
statement.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (ClassNotFoundException | SQLException | IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (statement != null) statement.close();
|
||||
if (connection != null) connection.close();
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void generateTestResources(File root, Project project) {
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
|
||||
ctx.put("domain", project.getProjectBasePackage());
|
||||
ctx.put("projectName", project.getProjectName());
|
||||
ctx.put("tool", Tool.class);
|
||||
ctx.put("dataBase", project.getDatabase().toString());
|
||||
ctx.put("author", project.getProjectAuthor());
|
||||
ctx.put("dBmapper", dBmapper);
|
||||
ctx.put("project", project);
|
||||
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "application.properties"), "SpringBootService/test/application.ftl", ctx);
|
||||
Tool.outputResource("SpringBootService/test/logback-spring.xml", Tool.createFile(root.getAbsolutePath(), "logback-spring.xml"));
|
||||
}
|
||||
|
||||
public void generateTest(File root, Project project) {
|
||||
|
||||
{
|
||||
File config = Tool.createPath(root.getAbsolutePath(), "config");
|
||||
config.mkdirs();
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
ctx.put("tool", Tool.class);
|
||||
ctx.put("domain", project.getProjectBasePackage());
|
||||
ctx.put("moduleName", project.getProjectName());
|
||||
ctx.put("author", project.getProjectAuthor());
|
||||
File file = Tool.createFile(config.getAbsolutePath(), "TestConfig" + ".java");
|
||||
freeMarkerManager.outputTemp(file, "SpringBootService/test/TestConfig.ftl", ctx);
|
||||
}
|
||||
|
||||
{
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
ctx.put("tool", Tool.class);
|
||||
ctx.put("domain", project.getProjectBasePackage());
|
||||
ctx.put("moduleName", project.getProjectName());
|
||||
ctx.put("author", project.getProjectAuthor());
|
||||
File file = Tool.createFile(root.getAbsolutePath(), "UtilTest" + ".java");
|
||||
freeMarkerManager.outputTemp(file, "SpringBootService/test/UtilTest.java", ctx);
|
||||
}
|
||||
|
||||
for (Module md : project.getModules()) {
|
||||
File module = Tool.createPath(root.getAbsolutePath(), md.getModuleName());
|
||||
|
||||
for (Table table : md.getTables()) {
|
||||
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
||||
|
||||
ctx.put("tool", Tool.class);
|
||||
ctx.put("module", md);
|
||||
ctx.put("domain", md.getProjectBasePackage());
|
||||
ctx.put("moduleName", md.getModuleName());
|
||||
ctx.put("table", table);
|
||||
ctx.put("author", md.getProjectAuthor());
|
||||
|
||||
File file = Tool.createFile(module.getAbsolutePath(), Tool.ABB2Abb(table.getTableName()) + "Test" + ".java");
|
||||
freeMarkerManager.outputTemp(file, "SpringBootService/test/test.ftl", ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package xyz.wbsite.dbtool.javafx.po;
|
||||
|
||||
|
||||
public enum Frame {
|
||||
|
||||
空白框架(0),
|
||||
服务框架(1),//内部任务
|
||||
接口框架(2),//对外提供Http服务
|
||||
网页框架(3);//对外提供Http服务和Web
|
||||
|
||||
Frame(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
private int value;
|
||||
|
||||
public int value() {
|
||||
return value;
|
||||
}
|
||||
}
|
@ -1,18 +1,18 @@
|
||||
package ${domain}.action.ajax.system;
|
||||
package ${domain}.action.ajax.wsys;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import ${domain}.frame.auth.LocalData;
|
||||
import ${domain}.module.system.mgr.RoleResManager;
|
||||
import ${domain}.module.system.req.RoleResCheckRequest;
|
||||
import ${domain}.module.system.req.RoleResCreateRequest;
|
||||
import ${domain}.module.system.req.RoleResDeleteRequest;
|
||||
import ${domain}.module.system.req.RoleResFindRequest;
|
||||
import ${domain}.module.system.req.RoleResUpdateRequest;
|
||||
import ${domain}.module.system.rsp.RoleResCheckResponse;
|
||||
import ${domain}.module.system.rsp.RoleResCreateResponse;
|
||||
import ${domain}.module.system.rsp.RoleResDeleteResponse;
|
||||
import ${domain}.module.system.rsp.RoleResFindResponse;
|
||||
import ${domain}.module.system.rsp.RoleResUpdateResponse;
|
||||
import ${domain}.module.wsys.mgr.RoleResManager;
|
||||
import ${domain}.module.wsys.req.RoleResCheckRequest;
|
||||
import ${domain}.module.wsys.req.RoleResCreateRequest;
|
||||
import ${domain}.module.wsys.req.RoleResDeleteRequest;
|
||||
import ${domain}.module.wsys.req.RoleResFindRequest;
|
||||
import ${domain}.module.wsys.req.RoleResUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.RoleResCheckResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleResCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleResDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleResFindResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleResUpdateResponse;
|
||||
|
||||
public class RoleResAjax {
|
||||
|
@ -1,16 +1,16 @@
|
||||
package ${domain}.action.ajax.system;
|
||||
package ${domain}.action.ajax.wsys;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import ${domain}.frame.auth.LocalData;
|
||||
import ${domain}.module.system.mgr.UserRoleManager;
|
||||
import ${domain}.module.system.req.UserRoleCreateRequest;
|
||||
import ${domain}.module.system.req.UserRoleDeleteRequest;
|
||||
import ${domain}.module.system.req.UserRoleFindRequest;
|
||||
import ${domain}.module.system.req.UserRoleUpdateRequest;
|
||||
import ${domain}.module.system.rsp.UserRoleCreateResponse;
|
||||
import ${domain}.module.system.rsp.UserRoleDeleteResponse;
|
||||
import ${domain}.module.system.rsp.UserRoleFindResponse;
|
||||
import ${domain}.module.system.rsp.UserRoleUpdateResponse;
|
||||
import ${domain}.module.wsys.mgr.UserRoleManager;
|
||||
import ${domain}.module.wsys.req.UserRoleCreateRequest;
|
||||
import ${domain}.module.wsys.req.UserRoleDeleteRequest;
|
||||
import ${domain}.module.wsys.req.UserRoleFindRequest;
|
||||
import ${domain}.module.wsys.req.UserRoleUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.UserRoleCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.UserRoleDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.UserRoleFindResponse;
|
||||
import ${domain}.module.wsys.rsp.UserRoleUpdateResponse;
|
||||
|
||||
public class UserRoleAjax {
|
||||
|
@ -1,16 +1,16 @@
|
||||
package ${domain}.action.ajax.system;
|
||||
package ${domain}.action.ajax.wsys;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import ${domain}.frame.auth.LocalData;
|
||||
import ${domain}.module.system.mgr.VisitorResManager;
|
||||
import ${domain}.module.system.req.VisitorResCreateRequest;
|
||||
import ${domain}.module.system.req.VisitorResDeleteRequest;
|
||||
import ${domain}.module.system.req.VisitorResFindRequest;
|
||||
import ${domain}.module.system.req.VisitorResUpdateRequest;
|
||||
import ${domain}.module.system.rsp.VisitorResCreateResponse;
|
||||
import ${domain}.module.system.rsp.VisitorResDeleteResponse;
|
||||
import ${domain}.module.system.rsp.VisitorResFindResponse;
|
||||
import ${domain}.module.system.rsp.VisitorResUpdateResponse;
|
||||
import ${domain}.module.wsys.mgr.VisitorResManager;
|
||||
import ${domain}.module.wsys.req.VisitorResCreateRequest;
|
||||
import ${domain}.module.wsys.req.VisitorResDeleteRequest;
|
||||
import ${domain}.module.wsys.req.VisitorResFindRequest;
|
||||
import ${domain}.module.wsys.req.VisitorResUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.VisitorResCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.VisitorResDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.VisitorResFindResponse;
|
||||
import ${domain}.module.wsys.rsp.VisitorResUpdateResponse;
|
||||
|
||||
public class VisitorResAjax{
|
||||
|
@ -1,11 +1,11 @@
|
||||
package ${domain}.action.api.system;
|
||||
package ${domain}.action.api.wsys;
|
||||
|
||||
import ${domain}.frame.auth.LocalData;
|
||||
import ${domain}.module.system.mgr.DictManager;
|
||||
import ${domain}.module.system.req.DictFindRequest;
|
||||
import ${domain}.module.system.req.DictLoadRequest;
|
||||
import ${domain}.module.system.rsp.DictFindResponse;
|
||||
import ${domain}.module.system.rsp.DictLoadResponse;
|
||||
import ${domain}.module.wsys.mgr.DictManager;
|
||||
import ${domain}.module.wsys.req.DictFindRequest;
|
||||
import ${domain}.module.wsys.req.DictLoadRequest;
|
||||
import ${domain}.module.wsys.rsp.DictFindResponse;
|
||||
import ${domain}.module.wsys.rsp.DictLoadResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
public class DictApi {
|
@ -1,17 +1,17 @@
|
||||
package ${domain}.action.api.system;
|
||||
package ${domain}.action.api.wsys;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import ${domain}.frame.auth.LocalData;
|
||||
import ${domain}.frame.base.ErrorType;
|
||||
import ${domain}.frame.utils.Base64Util;
|
||||
import ${domain}.frame.utils.MapperUtil;
|
||||
import ${domain}.module.system.mgr.FileManager;
|
||||
import ${domain}.module.system.req.FileDownloadRequest;
|
||||
import ${domain}.module.system.req.FileGetRequest;
|
||||
import ${domain}.module.system.req.FileUploadRequest;
|
||||
import ${domain}.module.system.rsp.FileDownloadResponse;
|
||||
import ${domain}.module.system.rsp.FileGetResponse;
|
||||
import ${domain}.module.system.rsp.FileUploadResponse;
|
||||
import ${domain}.module.wsys.mgr.FileManager;
|
||||
import ${domain}.module.wsys.req.FileDownloadRequest;
|
||||
import ${domain}.module.wsys.req.FileGetRequest;
|
||||
import ${domain}.module.wsys.req.FileUploadRequest;
|
||||
import ${domain}.module.wsys.rsp.FileDownloadResponse;
|
||||
import ${domain}.module.wsys.rsp.FileGetResponse;
|
||||
import ${domain}.module.wsys.rsp.FileUploadResponse;
|
||||
|
||||
public class FileApi {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsvr.ent;
|
||||
|
||||
import ${domain}.frame.base.BaseEntity;
|
||||
|
@ -0,0 +1,35 @@
|
||||
package ${domain}.module.wsvr.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.wsvr.req.SequenceFindRequest;
|
||||
import ${domain}.module.wsvr.req.SequenceNextRequest;
|
||||
import ${domain}.module.wsvr.rsp.SequenceFindResponse;
|
||||
import ${domain}.module.wsvr.rsp.SequenceNextResponse;
|
||||
|
||||
/**
|
||||
* 序列
|
||||
*
|
||||
* @author wangbing
|
||||
* @version 0.0.1
|
||||
* @since 2020-06-25
|
||||
*/
|
||||
public interface SequenceManager {
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*
|
||||
* @param request 请求对象
|
||||
* @param token 令牌
|
||||
* @return
|
||||
*/
|
||||
SequenceFindResponse find(SequenceFindRequest request, Token token);
|
||||
|
||||
/**
|
||||
* 获得对象
|
||||
*
|
||||
* @param request 请求对象
|
||||
* @param token 令牌
|
||||
* @return
|
||||
*/
|
||||
SequenceNextResponse next(SequenceNextRequest request, Token token);
|
||||
}
|
@ -0,0 +1,153 @@
|
||||
package ${domain}.module.wsvr.mgr;
|
||||
|
||||
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;
|
||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.frame.base.ErrorType;
|
||||
import ${domain}.frame.utils.IDgenerator;
|
||||
import ${domain}.frame.utils.ValidationUtil;
|
||||
import ${domain}.module.wsvr.ent.Sequence;
|
||||
import ${domain}.module.wsvr.mpr.SequenceMapper;
|
||||
import ${domain}.module.wsvr.req.SequenceFindRequest;
|
||||
import ${domain}.module.wsvr.req.SequenceNextRequest;
|
||||
import ${domain}.module.wsvr.rsp.SequenceFindResponse;
|
||||
import ${domain}.module.wsvr.rsp.SequenceNextResponse;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* SEQUENCE - 序列
|
||||
*
|
||||
* @author wangbing
|
||||
* @version 0.0.1
|
||||
* @since 2020-06-25
|
||||
*/
|
||||
@Transactional
|
||||
@Service
|
||||
public class SequenceManagerImpl implements SequenceManager {
|
||||
|
||||
@Autowired
|
||||
private SequenceMapper sequenceMapper;
|
||||
|
||||
private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*
|
||||
* @param request 请求对象
|
||||
* @param token 令牌
|
||||
* @return 响应
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
public SequenceFindResponse find(SequenceFindRequest request, Token token) {
|
||||
SequenceFindResponse response = new SequenceFindResponse();
|
||||
|
||||
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<Sequence> pageInfo = new PageInfo<>(sequenceMapper.find(request, token));
|
||||
|
||||
response.setResult(pageInfo.getList());
|
||||
response.setTotalCount(pageInfo.getTotal());
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得对象
|
||||
*
|
||||
* @param request 请求对象
|
||||
* @param token 令牌
|
||||
* @return 响应
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
public SequenceNextResponse next(SequenceNextRequest request, Token token) {
|
||||
SequenceNextResponse response = new SequenceNextResponse();
|
||||
|
||||
int value = 0;
|
||||
String year = null;
|
||||
String month = null;
|
||||
String date = null;
|
||||
String format = dateFormat.format(new Date());
|
||||
if (request.getByYear()) year = format.substring(0, 4);
|
||||
if (request.getByMonth()) month = format.substring(4, 6);
|
||||
if (request.getByDate()) date = format.substring(6, 8);
|
||||
|
||||
ValidationUtil.validate(request, response);
|
||||
if (response.hasError()) {
|
||||
return response;
|
||||
}
|
||||
|
||||
int retryCount = 100;
|
||||
do {
|
||||
// 首先查询是否已经开始的序列
|
||||
SequenceFindRequest sequenceFindRequest = new SequenceFindRequest();
|
||||
sequenceFindRequest.setSeqName(request.getSeqName());
|
||||
sequenceFindRequest.setYear(year);
|
||||
sequenceFindRequest.setMonth(month);
|
||||
sequenceFindRequest.setDate(date);
|
||||
SequenceFindResponse sequenceFindResponse = this.find(sequenceFindRequest, token);
|
||||
if (sequenceFindResponse.getTotalCount() > 0) {
|
||||
Sequence sequence = sequenceFindResponse.getResult().get(0);
|
||||
// 检查流水是否达到上限,达到最大值或理论最大值
|
||||
if (sequence.getNextValue() > request.getMaxValue()) {
|
||||
response.addError(ErrorType.BUSINESS_ERROR, "流水已达上限,请等待下个周期!");
|
||||
return response;
|
||||
}
|
||||
// 更新下一个流水号
|
||||
sequence.setNextValue(sequence.getNextValue() + request.getSeqStep());
|
||||
long update = sequenceMapper.update(sequence, token);
|
||||
if (update == 1) {
|
||||
value = sequence.getNextValue() - request.getSeqStep();
|
||||
break;
|
||||
}
|
||||
} else {// 未开始的序列
|
||||
Sequence forCreate = new Sequence();
|
||||
long id = IDgenerator.nextId();
|
||||
forCreate.setId(id);
|
||||
forCreate.setSeqName(request.getSeqName());
|
||||
forCreate.setSeqNote(request.getSeqNote());
|
||||
forCreate.setYear(year);
|
||||
forCreate.setMonth(month);
|
||||
forCreate.setDate(date);
|
||||
forCreate.setNextValue(request.getMinValue() + request.getSeqStep());
|
||||
long insert = sequenceMapper.insert(forCreate, token);
|
||||
if (insert == 1) {
|
||||
value = request.getMinValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
retryCount--;
|
||||
} while (value <= 0 && retryCount > 0);
|
||||
|
||||
try {
|
||||
TransactionAspectSupport.currentTransactionStatus().flush();
|
||||
} catch (Exception e) {
|
||||
response.addError(ErrorType.BUSINESS_ERROR, "生成序列失败,请稍后再试!");
|
||||
return response;
|
||||
}
|
||||
|
||||
response.setSequence(String.format(Locale.CHINA, "%s%s%s%s%0" + String.valueOf(request.getMaxValue()).length() + "d",
|
||||
request.getSeqPrefix(),
|
||||
year == null ? "" : year,
|
||||
month == null ? "" : month,
|
||||
date == null ? "" : date,
|
||||
value));
|
||||
return response;
|
||||
}
|
||||
}
|
@ -0,0 +1,162 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="${domain}.module.wsvr.mpr.SequenceMapper">
|
||||
|
||||
<sql id="table">"SYS_SEQUENCE"</sql>
|
||||
|
||||
<sql id="entityColumnList">
|
||||
"ID","SEQ_NAME","SEQ_NOTE","YEAR","MONTH","DATE","NEXT_VALUE","ROW_VERSION","IS_DELETED","CREATE_BY","CREATE_TIME","LAST_UPDATE_BY","LAST_UPDATE_TIME"
|
||||
</sql>
|
||||
|
||||
<resultMap id="sequence" type="${domain}.module.wsvr.ent.Sequence">
|
||||
<result column="ID" jdbcType="BIGINT" property="id"/>
|
||||
<result column="SEQ_NAME" jdbcType="VARCHAR" property="seqName"/>
|
||||
<result column="SEQ_NOTE" jdbcType="VARCHAR" property="seqNote"/>
|
||||
<result column="YEAR" jdbcType="VARCHAR" property="year"/>
|
||||
<result column="MONTH" jdbcType="VARCHAR" property="month"/>
|
||||
<result column="DATE" jdbcType="VARCHAR" property="date"/>
|
||||
<result column="NEXT_VALUE" jdbcType="INTEGER" property="nextValue"/>
|
||||
<result column="ROW_VERSION" jdbcType="BIGINT" property="rowVersion"/>
|
||||
<result column="IS_DELETED" jdbcType="BIT" property="isDeleted"/>
|
||||
<result column="CREATE_BY" jdbcType="BIGINT" property="createBy"/>
|
||||
<result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/>
|
||||
<result column="LAST_UPDATE_BY" jdbcType="BIGINT" property="lastUpdateBy"/>
|
||||
<result column="LAST_UPDATE_TIME" jdbcType="TIMESTAMP" property="lastUpdateTime"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="insert">
|
||||
INSERT INTO
|
||||
<include refid="table"/>
|
||||
(
|
||||
<include refid="entityColumnList"/>
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
${r'#'}{request.id},
|
||||
${r'#'}{request.seqName,jdbcType=VARCHAR},
|
||||
${r'#'}{request.seqNote,jdbcType=VARCHAR},
|
||||
${r'#'}{request.year,jdbcType=VARCHAR},
|
||||
${r'#'}{request.month,jdbcType=VARCHAR},
|
||||
${r'#'}{request.date,jdbcType=VARCHAR},
|
||||
${r'#'}{request.nextValue,jdbcType=INTEGER},
|
||||
0,
|
||||
0,
|
||||
${r'#'}{token.userId,jdbcType=NUMERIC},
|
||||
datetime('now','localtime'),
|
||||
NULL,
|
||||
NULL
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="insertBatch">
|
||||
INSERT INTO
|
||||
<include refid="table"/>
|
||||
(
|
||||
<include refid="entityColumnList"/>
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" index="index" separator="," open="(" close=")">
|
||||
${r'#'}{item.id},
|
||||
${r'#'}{item.seqName,jdbcType=VARCHAR},
|
||||
${r'#'}{item.seqNote,jdbcType=VARCHAR},
|
||||
${r'#'}{item.year,jdbcType=VARCHAR},
|
||||
${r'#'}{item.month,jdbcType=VARCHAR},
|
||||
${r'#'}{item.date,jdbcType=VARCHAR},
|
||||
${r'#'}{item.nextValue,jdbcType=INTEGER},
|
||||
0,
|
||||
0,
|
||||
${r'#'}{token.userId,jdbcType=NUMERIC},
|
||||
datetime('now','localtime'),
|
||||
NULL,
|
||||
NULL
|
||||
</foreach >
|
||||
</insert>
|
||||
|
||||
<update id="delete">
|
||||
UPDATE
|
||||
<include refid="table"/>
|
||||
SET "IS_DELETED" = 1
|
||||
WHERE "IS_DELETED" = 0
|
||||
AND "ID" = ${r'#'}{id}
|
||||
</update>
|
||||
|
||||
<update id="deleteBatch">
|
||||
UPDATE
|
||||
<include refid="table"/>
|
||||
SET "IS_DELETED" = 1
|
||||
WHERE "IS_DELETED" = 0
|
||||
AND "ID" IN
|
||||
<foreach collection="list" item="item" index="index" separator="," open="(" close=")">
|
||||
${r'#'}{item}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="update">
|
||||
UPDATE
|
||||
<include refid="table"/>
|
||||
SET
|
||||
"SEQ_NAME" = ${r'#'}{request.seqName,jdbcType=VARCHAR},
|
||||
"SEQ_NOTE" = ${r'#'}{request.seqNote,jdbcType=VARCHAR},
|
||||
"YEAR" = ${r'#'}{request.year,jdbcType=VARCHAR},
|
||||
"MONTH" = ${r'#'}{request.month,jdbcType=VARCHAR},
|
||||
"DATE" = ${r'#'}{request.date,jdbcType=VARCHAR},
|
||||
"NEXT_VALUE" = ${r'#'}{request.nextValue,jdbcType=INTEGER},
|
||||
"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}
|
||||
</update>
|
||||
|
||||
<select id="find" resultMap="sequence">
|
||||
SELECT
|
||||
<include refid="entityColumnList"/>
|
||||
FROM
|
||||
<include refid="table"/>
|
||||
WHERE "IS_DELETED" = 0
|
||||
<if test="request.seqName != null and request.seqName != ''">
|
||||
AND "SEQ_NAME" = ${r'#'}{request.seqName}
|
||||
</if>
|
||||
<if test="request.year != null and request.year != ''">
|
||||
AND "YEAR" = ${r'#'}{request.year}
|
||||
</if>
|
||||
<if test="request.month != null and request.month != ''">
|
||||
AND "MONTH" = ${r'#'}{request.month}
|
||||
</if>
|
||||
<if test="request.date != null and request.date != ''">
|
||||
AND "DATE" = ${r'#'}{request.date}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="search" resultMap="sequence">
|
||||
SELECT
|
||||
<include refid="entityColumnList"/>
|
||||
FROM
|
||||
<include refid="table"/>
|
||||
WHERE "IS_DELETED" = 0
|
||||
</select>
|
||||
|
||||
<select id="getById" resultMap="sequence">
|
||||
SELECT
|
||||
<include refid="entityColumnList"/>
|
||||
FROM
|
||||
<include refid="table"/>
|
||||
WHERE "IS_DELETED" = 0
|
||||
AND "ID" = ${r'#'}{id}
|
||||
</select>
|
||||
|
||||
<select id="getByIds" resultMap="sequence">
|
||||
SELECT
|
||||
<include refid="entityColumnList"/>
|
||||
FROM
|
||||
<include refid="table"/>
|
||||
WHERE "IS_DELETED" = 0
|
||||
AND "ID" IN
|
||||
<foreach collection="list" item="item" index="index" separator="," open="(" close=")">
|
||||
${r'#'}{item}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
@ -0,0 +1,91 @@
|
||||
package ${domain}.module.wsvr.mpr;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.wsvr.ent.Sequence;
|
||||
import ${domain}.module.wsvr.req.SequenceFindRequest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* SEQUENCE - 序列
|
||||
*
|
||||
* @author wangbing
|
||||
* @since 2020-06-27
|
||||
*/
|
||||
@Mapper
|
||||
public interface SequenceMapper {
|
||||
|
||||
/**
|
||||
* 插入
|
||||
*
|
||||
* @param request 请求对象
|
||||
* @param token 令牌
|
||||
* @return 返回数量
|
||||
*/
|
||||
long insert(@Param("request") Sequence request, @Param("token") Token token);
|
||||
|
||||
/**
|
||||
* 批量插入
|
||||
*
|
||||
* @param list 对象集合
|
||||
* @param token 令牌
|
||||
* @return 返回数量
|
||||
*/
|
||||
long insertBatch(@Param("list") List<Sequence> 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<Long> list, @Param("token") Token token);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param request 请求对象
|
||||
* @param token 令牌
|
||||
* @return 返回数量
|
||||
*/
|
||||
long update(@Param("request") Sequence request, @Param("token") Token token);
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*
|
||||
* @param request 请求对象
|
||||
* @param token 令牌
|
||||
* @return 返回对象
|
||||
*/
|
||||
List<Sequence> find(@Param("request") SequenceFindRequest request, @Param("token") Token token);
|
||||
|
||||
/**
|
||||
* 获得对象
|
||||
*
|
||||
* @param id 主键
|
||||
* @param token 令牌
|
||||
* @return 返回对象
|
||||
*/
|
||||
Sequence getById(@Param("id") Long id, @Param("token") Token token);
|
||||
|
||||
/**
|
||||
* 获得对象
|
||||
*
|
||||
* @param list 主键集合
|
||||
* @param token 令牌
|
||||
* @return 返回对象
|
||||
*/
|
||||
List<Sequence> getByIds(@Param("list") List<Long> list, @Param("token") Token token);
|
||||
}
|
@ -0,0 +1,93 @@
|
||||
package ${domain}.module.wsvr.req;
|
||||
|
||||
import ${domain}.frame.base.BaseFindRequest;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* SequenceFindRequest - 序列查询
|
||||
*
|
||||
* @author wangbing
|
||||
* @version 0.0.1
|
||||
* @since 2020-06-27
|
||||
*/
|
||||
public class SequenceFindRequest extends BaseFindRequest {
|
||||
|
||||
/**
|
||||
* 序列名称.
|
||||
*/
|
||||
private String seqName;
|
||||
|
||||
/**
|
||||
* 年.
|
||||
*/
|
||||
private String year;
|
||||
|
||||
/**
|
||||
* 月.
|
||||
*/
|
||||
private String month;
|
||||
|
||||
/**
|
||||
* 日.
|
||||
*/
|
||||
private String date;
|
||||
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
private Date startDate;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
private Date endDate;
|
||||
|
||||
public String getSeqName() {
|
||||
return this.seqName;
|
||||
}
|
||||
|
||||
public void setSeqName(String seqName) {
|
||||
this.seqName = seqName;
|
||||
}
|
||||
|
||||
public String getYear() {
|
||||
return this.year;
|
||||
}
|
||||
|
||||
public void setYear(String year) {
|
||||
this.year = year;
|
||||
}
|
||||
|
||||
public String getMonth() {
|
||||
return this.month;
|
||||
}
|
||||
|
||||
public void setMonth(String month) {
|
||||
this.month = month;
|
||||
}
|
||||
|
||||
public String getDate() {
|
||||
return this.date;
|
||||
}
|
||||
|
||||
public void setDate(String date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
@ -0,0 +1,136 @@
|
||||
package ${domain}.module.wsvr.req;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
import ${domain}.frame.base.BaseRequest;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* SequenceNextRequest - 序列获取
|
||||
*
|
||||
* @author wangbing
|
||||
* @version 0.0.1
|
||||
* @since 2020-06-25
|
||||
*/
|
||||
public class SequenceNextRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 序列名称.
|
||||
*/
|
||||
@NotBlank(message = "[seqName]序列名称不能为空")
|
||||
@Length(min = 1, max = 50, message = "[seqName]序列名称长度不合法(1-50)")
|
||||
private String seqName;
|
||||
|
||||
/**
|
||||
* 序列备注.
|
||||
*/
|
||||
@Length(min = 0, max = 50, message = "[seqNote]序列备注长度不合法(0-50)")
|
||||
private String seqNote;
|
||||
|
||||
/**
|
||||
* 序列号前缀
|
||||
*/
|
||||
private String seqPrefix;
|
||||
|
||||
/**
|
||||
* 流水号步长
|
||||
*/
|
||||
private int seqStep = 1;
|
||||
|
||||
/**
|
||||
* 最小流水号.
|
||||
*/
|
||||
private int minValue = 1;
|
||||
|
||||
/**
|
||||
* 最大流水号.
|
||||
*/
|
||||
private int maxValue = 99999;
|
||||
|
||||
/**
|
||||
* 年.
|
||||
*/
|
||||
private boolean byYear;
|
||||
|
||||
/**
|
||||
* 月.
|
||||
*/
|
||||
private boolean byMonth;
|
||||
|
||||
/**
|
||||
* 日.
|
||||
*/
|
||||
private boolean byDate;
|
||||
|
||||
public String getSeqName() {
|
||||
return seqName;
|
||||
}
|
||||
|
||||
public void setSeqName(String seqName) {
|
||||
this.seqName = seqName;
|
||||
}
|
||||
|
||||
public String getSeqNote() {
|
||||
return seqNote;
|
||||
}
|
||||
|
||||
public void setSeqNote(String seqNote) {
|
||||
this.seqNote = seqNote;
|
||||
}
|
||||
|
||||
public void setByYear(boolean byYear) {
|
||||
this.byYear = byYear;
|
||||
}
|
||||
|
||||
public boolean getByYear() {
|
||||
return byYear;
|
||||
}
|
||||
|
||||
public boolean getByMonth() {
|
||||
return byMonth;
|
||||
}
|
||||
|
||||
public void setByMonth(boolean byMonth) {
|
||||
this.byMonth = byMonth;
|
||||
}
|
||||
|
||||
public boolean getByDate() {
|
||||
return byDate;
|
||||
}
|
||||
|
||||
public void setByDate(boolean byDate) {
|
||||
this.byDate = byDate;
|
||||
}
|
||||
|
||||
public String getSeqPrefix() {
|
||||
return seqPrefix;
|
||||
}
|
||||
|
||||
public void setSeqPrefix(String seqPrefix) {
|
||||
this.seqPrefix = seqPrefix;
|
||||
}
|
||||
|
||||
public int getSeqStep() {
|
||||
return seqStep;
|
||||
}
|
||||
|
||||
public void setSeqStep(int seqStep) {
|
||||
this.seqStep = seqStep;
|
||||
}
|
||||
|
||||
public int getMinValue() {
|
||||
return minValue;
|
||||
}
|
||||
|
||||
public void setMinValue(int minValue) {
|
||||
this.minValue = minValue;
|
||||
}
|
||||
|
||||
public int getMaxValue() {
|
||||
return maxValue;
|
||||
}
|
||||
|
||||
public void setMaxValue(int maxValue) {
|
||||
this.maxValue = maxValue;
|
||||
}
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package ${domain}.module.wsvr.rsp;
|
||||
|
||||
import ${domain}.frame.base.BaseFindResponse;
|
||||
import ${domain}.module.wsvr.ent.Sequence;
|
||||
|
||||
/**
|
||||
* SequenceFindResponse - 序列
|
||||
*
|
||||
* @author wangbing
|
||||
* @version 0.0.1
|
||||
* @since 2020-06-27
|
||||
*/
|
||||
public class SequenceFindResponse extends BaseFindResponse<Sequence> {
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package ${domain}.module.wsvr.rsp;
|
||||
|
||||
import ${domain}.frame.base.BaseResponse;
|
||||
|
||||
/**
|
||||
* SequenceNextResponse - 序列
|
||||
*
|
||||
* @author wangbing
|
||||
* @version 0.0.1
|
||||
* @since 2020-06-25
|
||||
*/
|
||||
public class SequenceNextResponse extends BaseResponse {
|
||||
|
||||
/**
|
||||
* 序列
|
||||
*/
|
||||
private String sequence;
|
||||
|
||||
public String getSequence() {
|
||||
return sequence;
|
||||
}
|
||||
|
||||
public void setSequence(String sequence) {
|
||||
this.sequence = sequence;
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.excel.annotation.ExcelNote;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.excel.annotation.ExcelNote;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.excel.annotation.ExcelNote;
|
||||
import ${domain}.frame.excel.annotation.ExcelSelect;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.base.BaseEntity;
|
||||
import ${domain}.frame.excel.annotation.ExcelNote;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.excel.annotation.ExcelNote;
|
||||
import ${domain}.frame.excel.annotation.ExcelSelect;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.excel.annotation.ExcelNote;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.base.BaseEntity;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.base.BaseEntity;
|
||||
import ${domain}.frame.excel.annotation.ExcelNote;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import java.util.Date;
|
||||
import ${domain}.frame.excel.annotation.ExcelNote;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.excel.annotation.ExcelNote;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.base.BaseEntity;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.base.BaseEntity;
|
||||
import ${domain}.frame.excel.annotation.ExcelNote;
|
@ -1,4 +1,4 @@
|
||||
package ${domain}.module.system.ent;
|
||||
package ${domain}.module.wsys.ent;
|
||||
|
||||
import ${domain}.frame.base.BaseEntity;
|
||||
|
@ -1,16 +1,16 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.DeptCreateRequest;
|
||||
import ${domain}.module.system.req.DeptDeleteRequest;
|
||||
import ${domain}.module.system.req.DeptFindRequest;
|
||||
import ${domain}.module.system.req.DeptTreeRequest;
|
||||
import ${domain}.module.system.req.DeptUpdateRequest;
|
||||
import ${domain}.module.system.rsp.DeptCreateResponse;
|
||||
import ${domain}.module.system.rsp.DeptDeleteResponse;
|
||||
import ${domain}.module.system.rsp.DeptFindResponse;
|
||||
import ${domain}.module.system.rsp.DeptTreeResponse;
|
||||
import ${domain}.module.system.rsp.DeptUpdateResponse;
|
||||
import ${domain}.module.wsys.req.DeptCreateRequest;
|
||||
import ${domain}.module.wsys.req.DeptDeleteRequest;
|
||||
import ${domain}.module.wsys.req.DeptFindRequest;
|
||||
import ${domain}.module.wsys.req.DeptTreeRequest;
|
||||
import ${domain}.module.wsys.req.DeptUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.DeptCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.DeptDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.DeptFindResponse;
|
||||
import ${domain}.module.wsys.rsp.DeptTreeResponse;
|
||||
import ${domain}.module.wsys.rsp.DeptUpdateResponse;
|
||||
|
||||
/**
|
||||
* 部门
|
@ -1,14 +1,14 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.DictItemCreateRequest;
|
||||
import ${domain}.module.system.req.DictItemDeleteRequest;
|
||||
import ${domain}.module.system.req.DictItemFindRequest;
|
||||
import ${domain}.module.system.req.DictItemUpdateRequest;
|
||||
import ${domain}.module.system.rsp.DictItemCreateResponse;
|
||||
import ${domain}.module.system.rsp.DictItemDeleteResponse;
|
||||
import ${domain}.module.system.rsp.DictItemFindResponse;
|
||||
import ${domain}.module.system.rsp.DictItemUpdateResponse;
|
||||
import ${domain}.module.wsys.req.DictItemCreateRequest;
|
||||
import ${domain}.module.wsys.req.DictItemDeleteRequest;
|
||||
import ${domain}.module.wsys.req.DictItemFindRequest;
|
||||
import ${domain}.module.wsys.req.DictItemUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.DictItemCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.DictItemDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.DictItemFindResponse;
|
||||
import ${domain}.module.wsys.rsp.DictItemUpdateResponse;
|
||||
|
||||
/**
|
||||
* 字典项
|
@ -1,16 +1,16 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.DictCreateRequest;
|
||||
import ${domain}.module.system.req.DictDeleteRequest;
|
||||
import ${domain}.module.system.req.DictFindRequest;
|
||||
import ${domain}.module.system.req.DictLoadRequest;
|
||||
import ${domain}.module.system.req.DictUpdateRequest;
|
||||
import ${domain}.module.system.rsp.DictCreateResponse;
|
||||
import ${domain}.module.system.rsp.DictDeleteResponse;
|
||||
import ${domain}.module.system.rsp.DictFindResponse;
|
||||
import ${domain}.module.system.rsp.DictLoadResponse;
|
||||
import ${domain}.module.system.rsp.DictUpdateResponse;
|
||||
import ${domain}.module.wsys.req.DictCreateRequest;
|
||||
import ${domain}.module.wsys.req.DictDeleteRequest;
|
||||
import ${domain}.module.wsys.req.DictFindRequest;
|
||||
import ${domain}.module.wsys.req.DictLoadRequest;
|
||||
import ${domain}.module.wsys.req.DictUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.DictCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.DictDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.DictFindResponse;
|
||||
import ${domain}.module.wsys.rsp.DictLoadResponse;
|
||||
import ${domain}.module.wsys.rsp.DictUpdateResponse;
|
||||
|
||||
/**
|
||||
* 字典
|
@ -1,12 +1,12 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.FileCreateRequest;
|
||||
import ${domain}.module.system.req.FileDeleteRequest;
|
||||
import ${domain}.module.system.req.FileFindRequest;
|
||||
import ${domain}.module.system.rsp.FileCreateResponse;
|
||||
import ${domain}.module.system.rsp.FileDeleteResponse;
|
||||
import ${domain}.module.system.rsp.FileFindResponse;
|
||||
import ${domain}.module.wsys.req.FileCreateRequest;
|
||||
import ${domain}.module.wsys.req.FileDeleteRequest;
|
||||
import ${domain}.module.wsys.req.FileFindRequest;
|
||||
import ${domain}.module.wsys.rsp.FileCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.FileDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.FileFindResponse;
|
||||
|
||||
/**
|
||||
* 文件
|
@ -1,14 +1,14 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.LogErrCreateRequest;
|
||||
import ${domain}.module.system.req.LogErrDeleteRequest;
|
||||
import ${domain}.module.system.req.LogErrFindRequest;
|
||||
import ${domain}.module.system.req.LogErrUpdateRequest;
|
||||
import ${domain}.module.system.rsp.LogErrCreateResponse;
|
||||
import ${domain}.module.system.rsp.LogErrDeleteResponse;
|
||||
import ${domain}.module.system.rsp.LogErrFindResponse;
|
||||
import ${domain}.module.system.rsp.LogErrUpdateResponse;
|
||||
import ${domain}.module.wsys.req.LogErrCreateRequest;
|
||||
import ${domain}.module.wsys.req.LogErrDeleteRequest;
|
||||
import ${domain}.module.wsys.req.LogErrFindRequest;
|
||||
import ${domain}.module.wsys.req.LogErrUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.LogErrCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.LogErrDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.LogErrFindResponse;
|
||||
import ${domain}.module.wsys.rsp.LogErrUpdateResponse;
|
||||
|
||||
/**
|
||||
* 错误日志
|
@ -1,14 +1,14 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.ProfilesCreateRequest;
|
||||
import ${domain}.module.system.req.ProfilesDeleteRequest;
|
||||
import ${domain}.module.system.req.ProfilesFindRequest;
|
||||
import ${domain}.module.system.req.ProfilesUpdateRequest;
|
||||
import ${domain}.module.system.rsp.ProfilesCreateResponse;
|
||||
import ${domain}.module.system.rsp.ProfilesDeleteResponse;
|
||||
import ${domain}.module.system.rsp.ProfilesFindResponse;
|
||||
import ${domain}.module.system.rsp.ProfilesUpdateResponse;
|
||||
import ${domain}.module.wsys.req.ProfilesCreateRequest;
|
||||
import ${domain}.module.wsys.req.ProfilesDeleteRequest;
|
||||
import ${domain}.module.wsys.req.ProfilesFindRequest;
|
||||
import ${domain}.module.wsys.req.ProfilesUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.ProfilesCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.ProfilesDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.ProfilesFindResponse;
|
||||
import ${domain}.module.wsys.rsp.ProfilesUpdateResponse;
|
||||
|
||||
/**
|
||||
* 系统配置
|
@ -1,18 +1,18 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.ResCreateRequest;
|
||||
import ${domain}.module.system.req.ResDeleteRequest;
|
||||
import ${domain}.module.system.req.ResFindRequest;
|
||||
import ${domain}.module.system.req.ResLoadRequest;
|
||||
import ${domain}.module.system.req.ResTreeRequest;
|
||||
import ${domain}.module.system.req.ResUpdateRequest;
|
||||
import ${domain}.module.system.rsp.ResCreateResponse;
|
||||
import ${domain}.module.system.rsp.ResDeleteResponse;
|
||||
import ${domain}.module.system.rsp.ResFindResponse;
|
||||
import ${domain}.module.system.rsp.ResLoadResponse;
|
||||
import ${domain}.module.system.rsp.ResTreeResponse;
|
||||
import ${domain}.module.system.rsp.ResUpdateResponse;
|
||||
import ${domain}.module.wsys.req.ResCreateRequest;
|
||||
import ${domain}.module.wsys.req.ResDeleteRequest;
|
||||
import ${domain}.module.wsys.req.ResFindRequest;
|
||||
import ${domain}.module.wsys.req.ResLoadRequest;
|
||||
import ${domain}.module.wsys.req.ResTreeRequest;
|
||||
import ${domain}.module.wsys.req.ResUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.ResCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.ResDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.ResFindResponse;
|
||||
import ${domain}.module.wsys.rsp.ResLoadResponse;
|
||||
import ${domain}.module.wsys.rsp.ResTreeResponse;
|
||||
import ${domain}.module.wsys.rsp.ResUpdateResponse;
|
||||
|
||||
/**
|
||||
* 资源
|
@ -1,14 +1,14 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.RoleCreateRequest;
|
||||
import ${domain}.module.system.req.RoleDeleteRequest;
|
||||
import ${domain}.module.system.req.RoleFindRequest;
|
||||
import ${domain}.module.system.req.RoleUpdateRequest;
|
||||
import ${domain}.module.system.rsp.RoleCreateResponse;
|
||||
import ${domain}.module.system.rsp.RoleDeleteResponse;
|
||||
import ${domain}.module.system.rsp.RoleFindResponse;
|
||||
import ${domain}.module.system.rsp.RoleUpdateResponse;
|
||||
import ${domain}.module.wsys.req.RoleCreateRequest;
|
||||
import ${domain}.module.wsys.req.RoleDeleteRequest;
|
||||
import ${domain}.module.wsys.req.RoleFindRequest;
|
||||
import ${domain}.module.wsys.req.RoleUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.RoleCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleFindResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleUpdateResponse;
|
||||
|
||||
/**
|
||||
* 角色
|
@ -1,16 +1,16 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.RoleResCheckRequest;
|
||||
import ${domain}.module.system.req.RoleResCreateRequest;
|
||||
import ${domain}.module.system.req.RoleResDeleteRequest;
|
||||
import ${domain}.module.system.req.RoleResFindRequest;
|
||||
import ${domain}.module.system.req.RoleResUpdateRequest;
|
||||
import ${domain}.module.system.rsp.RoleResCheckResponse;
|
||||
import ${domain}.module.system.rsp.RoleResCreateResponse;
|
||||
import ${domain}.module.system.rsp.RoleResDeleteResponse;
|
||||
import ${domain}.module.system.rsp.RoleResFindResponse;
|
||||
import ${domain}.module.system.rsp.RoleResUpdateResponse;
|
||||
import ${domain}.module.wsys.req.RoleResCheckRequest;
|
||||
import ${domain}.module.wsys.req.RoleResCreateRequest;
|
||||
import ${domain}.module.wsys.req.RoleResDeleteRequest;
|
||||
import ${domain}.module.wsys.req.RoleResFindRequest;
|
||||
import ${domain}.module.wsys.req.RoleResUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.RoleResCheckResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleResCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleResDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleResFindResponse;
|
||||
import ${domain}.module.wsys.rsp.RoleResUpdateResponse;
|
||||
|
||||
/**
|
||||
* 角色资源关系
|
@ -1,15 +1,15 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.ent.TaskSql;
|
||||
import ${domain}.module.system.req.TaskSqlCreateRequest;
|
||||
import ${domain}.module.system.req.TaskSqlDeleteRequest;
|
||||
import ${domain}.module.system.req.TaskSqlFindRequest;
|
||||
import ${domain}.module.system.req.TaskSqlUpdateRequest;
|
||||
import ${domain}.module.system.rsp.TaskSqlCreateResponse;
|
||||
import ${domain}.module.system.rsp.TaskSqlDeleteResponse;
|
||||
import ${domain}.module.system.rsp.TaskSqlFindResponse;
|
||||
import ${domain}.module.system.rsp.TaskSqlUpdateResponse;
|
||||
import ${domain}.module.wsys.ent.TaskSql;
|
||||
import ${domain}.module.wsys.req.TaskSqlCreateRequest;
|
||||
import ${domain}.module.wsys.req.TaskSqlDeleteRequest;
|
||||
import ${domain}.module.wsys.req.TaskSqlFindRequest;
|
||||
import ${domain}.module.wsys.req.TaskSqlUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.TaskSqlCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.TaskSqlDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.TaskSqlFindResponse;
|
||||
import ${domain}.module.wsys.rsp.TaskSqlUpdateResponse;
|
||||
|
||||
/**
|
||||
* SQL任务
|
@ -1,18 +1,18 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.TokensBuildRequest;
|
||||
import ${domain}.module.system.req.TokensCreateRequest;
|
||||
import ${domain}.module.system.req.TokensDeleteRequest;
|
||||
import ${domain}.module.system.req.TokensFindRequest;
|
||||
import ${domain}.module.system.req.TokensLogoutRequest;
|
||||
import ${domain}.module.system.req.TokensUpdateRequest;
|
||||
import ${domain}.module.system.rsp.TokensBuildResponse;
|
||||
import ${domain}.module.system.rsp.TokensCreateResponse;
|
||||
import ${domain}.module.system.rsp.TokensDeleteResponse;
|
||||
import ${domain}.module.system.rsp.TokensFindResponse;
|
||||
import ${domain}.module.system.rsp.TokensLogoutResponse;
|
||||
import ${domain}.module.system.rsp.TokensUpdateResponse;
|
||||
import ${domain}.module.wsys.req.TokensBuildRequest;
|
||||
import ${domain}.module.wsys.req.TokensCreateRequest;
|
||||
import ${domain}.module.wsys.req.TokensDeleteRequest;
|
||||
import ${domain}.module.wsys.req.TokensFindRequest;
|
||||
import ${domain}.module.wsys.req.TokensLogoutRequest;
|
||||
import ${domain}.module.wsys.req.TokensUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.TokensBuildResponse;
|
||||
import ${domain}.module.wsys.rsp.TokensCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.TokensDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.TokensFindResponse;
|
||||
import ${domain}.module.wsys.rsp.TokensLogoutResponse;
|
||||
import ${domain}.module.wsys.rsp.TokensUpdateResponse;
|
||||
|
||||
/**
|
||||
* 通行证
|
@ -1,16 +1,16 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.UserChangePwdRequest;
|
||||
import ${domain}.module.system.req.UserCreateRequest;
|
||||
import ${domain}.module.system.req.UserDeleteRequest;
|
||||
import ${domain}.module.system.req.UserFindRequest;
|
||||
import ${domain}.module.system.req.UserUpdateRequest;
|
||||
import ${domain}.module.system.rsp.UserChangePwdResponse;
|
||||
import ${domain}.module.system.rsp.UserCreateResponse;
|
||||
import ${domain}.module.system.rsp.UserDeleteResponse;
|
||||
import ${domain}.module.system.rsp.UserFindResponse;
|
||||
import ${domain}.module.system.rsp.UserUpdateResponse;
|
||||
import ${domain}.module.wsys.req.UserChangePwdRequest;
|
||||
import ${domain}.module.wsys.req.UserCreateRequest;
|
||||
import ${domain}.module.wsys.req.UserDeleteRequest;
|
||||
import ${domain}.module.wsys.req.UserFindRequest;
|
||||
import ${domain}.module.wsys.req.UserUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.UserChangePwdResponse;
|
||||
import ${domain}.module.wsys.rsp.UserCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.UserDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.UserFindResponse;
|
||||
import ${domain}.module.wsys.rsp.UserUpdateResponse;
|
||||
|
||||
/**
|
||||
* 用户
|
@ -1,14 +1,14 @@
|
||||
package ${domain}.module.system.mgr;
|
||||
package ${domain}.module.wsys.mgr;
|
||||
|
||||
import ${domain}.frame.auth.Token;
|
||||
import ${domain}.module.system.req.UserRoleCreateRequest;
|
||||
import ${domain}.module.system.req.UserRoleDeleteRequest;
|
||||
import ${domain}.module.system.req.UserRoleFindRequest;
|
||||
import ${domain}.module.system.req.UserRoleUpdateRequest;
|
||||
import ${domain}.module.system.rsp.UserRoleCreateResponse;
|
||||
import ${domain}.module.system.rsp.UserRoleDeleteResponse;
|
||||
import ${domain}.module.system.rsp.UserRoleFindResponse;
|
||||
import ${domain}.module.system.rsp.UserRoleUpdateResponse;
|
||||
import ${domain}.module.wsys.req.UserRoleCreateRequest;
|
||||
import ${domain}.module.wsys.req.UserRoleDeleteRequest;
|
||||
import ${domain}.module.wsys.req.UserRoleFindRequest;
|
||||
import ${domain}.module.wsys.req.UserRoleUpdateRequest;
|
||||
import ${domain}.module.wsys.rsp.UserRoleCreateResponse;
|
||||
import ${domain}.module.wsys.rsp.UserRoleDeleteResponse;
|
||||
import ${domain}.module.wsys.rsp.UserRoleFindResponse;
|
||||
import ${domain}.module.wsys.rsp.UserRoleUpdateResponse;
|
||||
|
||||
/**
|
||||
* 用户角色授权
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue