init
This commit is contained in:
31
op-service/pom.xml
Normal file
31
op-service/pom.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>OpenPark</artifactId>
|
||||
<groupId>cn.feast.coding</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<packaging>jar</packaging>
|
||||
<artifactId>op-service</artifactId>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>cn.feast.coding</groupId>
|
||||
<artifactId>op-mapper</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.feast.coding</groupId>
|
||||
<artifactId>op-tools</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -0,0 +1,35 @@
|
||||
package cn.feast.coding.generator;
|
||||
|
||||
public class BaseGenerator {
|
||||
/**
|
||||
* 拼接包名
|
||||
* @param pack
|
||||
* @param part
|
||||
* @return
|
||||
*/
|
||||
public String getPackName(String pack, String part) {
|
||||
return pack + "." + part;
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回一个字符串首字母小写
|
||||
*
|
||||
* @param str
|
||||
* @return
|
||||
*/
|
||||
public String uncapFirst(String str) {
|
||||
str = str.substring(0, 1).toLowerCase() + str.substring(1);
|
||||
return str;
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回一个字符串首字母大写
|
||||
*
|
||||
* @param str
|
||||
* @return
|
||||
*/
|
||||
public String capFirst(String str) {
|
||||
str = str.substring(0, 1).toUpperCase() + str.substring(1);
|
||||
return str;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package cn.feast.coding.generator;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface Generator {
|
||||
void generateModel(Map<String, Object> map);
|
||||
|
||||
void generateDao(Map<String, Object> map);
|
||||
|
||||
void generateDaoImpl(Map<String, Object> map);
|
||||
|
||||
void generateController(Map<String, Object> map);
|
||||
|
||||
void generateIService(Map<String, Object> map);
|
||||
|
||||
void generateService(Map<String, Object> map);
|
||||
|
||||
void generateJsp(Map<String, Object> map);
|
||||
|
||||
void generateIndex(Map<String, Object> map);
|
||||
|
||||
void generateUtils(Map<String, Object> map);
|
||||
|
||||
void generateCommon(Map<String, Object> map);
|
||||
|
||||
void generateDefined(Map<String, Object> map);
|
||||
}
|
||||
@@ -0,0 +1,267 @@
|
||||
package cn.feast.coding.generator;
|
||||
|
||||
import cn.feast.coding.generator.utils.CodeGenerator;
|
||||
import cn.feast.coding.model.generator.*;
|
||||
import cn.feast.coding.service.generator.PageTemplateService;
|
||||
import cn.feast.coding.tools.Contants;
|
||||
import cn.feast.coding.tools.JSPPageTemplate;
|
||||
import cn.feast.coding.tools.PageTemplateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class JSPGenerator extends BaseGenerator implements Generator {
|
||||
@Autowired
|
||||
private PageTemplateService pageTemplateService;
|
||||
|
||||
public void generateModel(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SERVLET_TEMPLATE_PATH);
|
||||
map.put("templateName", JSPPageTemplate.MODEL_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + ".java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDao(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SERVLET_TEMPLATE_PATH);
|
||||
map.put("templateName", JSPPageTemplate.DAO_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "dao"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Dao.java");
|
||||
map.put("updateClause", updateClause(map));
|
||||
map.put("insertClause", insertClause(map));
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "dao"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDaoImpl(Map<String, Object> map) {
|
||||
|
||||
}
|
||||
|
||||
public void generateController(Map<String, Object> map) {
|
||||
String pack = getPackName(((Project) map.get("project")).getPackName(), "servlet");
|
||||
map.put("templatePath", Contants.SERVLET_TEMPLATE_PATH);
|
||||
map.put("pack", pack);
|
||||
map.put("filePath", pack);
|
||||
String className = ((Table) map.get("table")).getClassName();
|
||||
map.put("templateName", JSPPageTemplate.QUERY_SERVLET_TEMPLATE);
|
||||
map.put("fileName", "Query" + className + "Servlet.java");
|
||||
CodeGenerator.generator(map);
|
||||
map.put("templateName", JSPPageTemplate.ADD_SERVLET_TEMPLATE);
|
||||
map.put("fileName", "Add" + className + "Servlet.java");
|
||||
CodeGenerator.generator(map);
|
||||
map.put("templateName", JSPPageTemplate.EDIT_SERVLET_TEMPLATE);
|
||||
map.put("fileName", "Edit" + className + "Servlet.java");
|
||||
CodeGenerator.generator(map);
|
||||
map.put("templateName", JSPPageTemplate.UPDATE_SERVLET_TEMPLATE);
|
||||
map.put("fileName", "Update" + className + "Servlet.java");
|
||||
CodeGenerator.generator(map);
|
||||
map.put("templateName", JSPPageTemplate.DELETE_SERVLET_TEMPLATE);
|
||||
map.put("fileName", "Delete" + className + "Servlet.java");
|
||||
CodeGenerator.generator(map);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateIService(Map<String, Object> map) {
|
||||
|
||||
}
|
||||
|
||||
public void generateService(Map<String, Object> map) {
|
||||
|
||||
}
|
||||
|
||||
public void generateJsp(Map<String, Object> map) {
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table t : tableList) {
|
||||
t.setUrl("<%=path %>/query" + t.getClassName() + "Servlet");
|
||||
}
|
||||
map.put("tableList", tableList);
|
||||
PageTemplate pageTemplate = pageTemplateService.queryById(((Project) map.get("project")).getPageStyle());
|
||||
map.put("templatePath", pageTemplate.getPagePath());
|
||||
String className = ((Table) map.get("table")).getClassName();
|
||||
String list_url = "<%=path %>/query" + className + "Servlet";
|
||||
String add_url = "<%=path %>/add" + className + "Servlet";
|
||||
String edit_url = "<%=path %>/edit" + className + "Servlet";
|
||||
String update_url = "<%=path %>/update" + className + "Servlet";
|
||||
String delete_url = "<%=path %>/delete" + className + "Servlet";
|
||||
map.put("list_url", list_url);
|
||||
map.put("add_url", add_url);
|
||||
map.put("edit_url", edit_url);
|
||||
map.put("update_url", update_url);
|
||||
map.put("delete_url", delete_url);
|
||||
String pack = getPackName(((Project) map.get("project")).getPackName(), "jsp");
|
||||
map.put("pack", pack);
|
||||
map.put("filePath", pack);
|
||||
//list页面
|
||||
map.put("templateName", PageTemplateUtils.LIST_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_list.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//add页面
|
||||
map.put("templateName", PageTemplateUtils.ADD_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_add.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//edit页面
|
||||
map.put("templateName", PageTemplateUtils.EDIT_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_edit.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateIndex(Map<String, Object> map) {
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table t : tableList) {
|
||||
t.setUrl("<%=path %>/query" + t.getClassName() + "Servlet");
|
||||
}
|
||||
map.put("tableList", tableList);
|
||||
PageTemplate pageTemplate = pageTemplateService.queryById(((Project) map.get("project")).getPageStyle());
|
||||
map.put("templatePath", pageTemplate.getPagePath());
|
||||
map.put("templateName", PageTemplateUtils.INDEX_PAGE);
|
||||
String pack = getPackName(((Project) map.get("project")).getPackName(), "jsp");
|
||||
map.put("pack", pack);
|
||||
map.put("fileName", "index.jsp");
|
||||
map.put("filePath", pack);
|
||||
CodeGenerator.generator(map);
|
||||
|
||||
//添加登录模块支持(登录页面)
|
||||
ModuleProject loginModule = (ModuleProject) map.get("loginModule");
|
||||
if (null != loginModule) {
|
||||
//登陆页面
|
||||
map.put("login_url", "<%=path %>/loginServlet");
|
||||
map.put("templateName", PageTemplateUtils.LOGIN_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "login.jsp");
|
||||
map.put("filePath", pack);
|
||||
CodeGenerator.generator(map);
|
||||
//登陆servlet
|
||||
map.put("templatePath", Contants.SERVLET_TEMPLATE_PATH);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "servlet"));
|
||||
map.put("templateName", JSPPageTemplate.LOGIN_SERVLET_TEMPLATE);
|
||||
map.put("fileName", "LoginServlet.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "servlet"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
}
|
||||
|
||||
public void generateUtils(Map<String, Object> map) {
|
||||
String pack = getPackName(((Project) map.get("project")).getPackName(), "utils");
|
||||
map.put("pack", pack);
|
||||
map.put("filePath", pack);
|
||||
map.put("templatePath", Contants.SERVLET_TEMPLATE_PATH);
|
||||
map.put("templateName", JSPPageTemplate.DBUTILS_TEMPLATE);
|
||||
map.put("fileName", "DbUtils.java");
|
||||
CodeGenerator.generator(map);
|
||||
map.put("templateName", JSPPageTemplate.PAGE_UTILS_TEMPLATE);
|
||||
map.put("fileName", "PageUtils.java");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateCommon(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SERVLET_TEMPLATE_PATH);
|
||||
map.put("templateName", JSPPageTemplate.XML_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "xml"));
|
||||
map.put("fileName", "web.xml");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "xml"));
|
||||
CodeGenerator.generator(map);
|
||||
map.put("templateName", JSPPageTemplate.PAGE_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
map.put("fileName", "Page.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
CodeGenerator.generator(map);
|
||||
//添加查询模块支持
|
||||
List<ModuleProject> queryList = (List<ModuleProject>) map.get("queryModule");
|
||||
if (null != queryList && queryList.size() > 0) {
|
||||
for (ModuleProject queryModule : queryList) {
|
||||
map.put("templateName", JSPPageTemplate.QUERY_SERVLET_SELECTED_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "servlet"));
|
||||
map.put("fileName", "query" + queryModule.getTable().getClassName() + "SelectedServlet");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "servlet"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void generateDefined(Map<String, Object> map) {
|
||||
}
|
||||
|
||||
/**
|
||||
* dao层 insert语句拼接
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
public String insertClause(Map<String, Object> map) {
|
||||
StringBuilder clause = new StringBuilder();
|
||||
clause.append("(");
|
||||
List<Colunm> colunmList = (List<Colunm>) map.get("colunmList");
|
||||
for (int i = 0; i < colunmList.size(); i++) {
|
||||
clause.append(colunmList.get(i).getFiledName());
|
||||
if (i != colunmList.size() - 1) {
|
||||
clause.append(",");
|
||||
}
|
||||
}
|
||||
clause.append(")").append(Contants.BLACK_SPACE).append("values").append("(");
|
||||
for (int i = 0; i < colunmList.size(); i++) {
|
||||
Colunm colunm = colunmList.get(i);
|
||||
if (colunm.getColunmType().equals(Contants.STRING_TYPE)) {
|
||||
clause.append("'").append("\"").append("+");
|
||||
clause.append("model.get" + capFirst(colunm.getColunmName()) + "()");
|
||||
clause.append("+").append("\"").append("'");
|
||||
} else {
|
||||
clause.append("\"").append("+");
|
||||
clause.append("model.get" + capFirst(colunm.getColunmName()) + "()");
|
||||
clause.append("+").append("\"");
|
||||
}
|
||||
if (i != colunmList.size() - 1) {
|
||||
clause.append(",");
|
||||
}
|
||||
}
|
||||
clause.append(")");
|
||||
return clause.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* dao层 update语句拼接
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
public String updateClause(Map<String, Object> map) {
|
||||
StringBuilder clause = new StringBuilder();
|
||||
Colunm primary = (Colunm) map.get("primary");
|
||||
List<Colunm> colunmList = (List<Colunm>) map.get("colunmList");
|
||||
for (int i = 0; i < colunmList.size(); i++) {
|
||||
Colunm colunm = colunmList.get(i);
|
||||
if (!colunm.getColunmName().equals(primary.getColunmName())) {
|
||||
clause.append(colunm.getFiledName()).append("=");
|
||||
if (colunm.getColunmType().equals(Contants.STRING_TYPE)) {
|
||||
clause.append("'").append("\"").append("+");
|
||||
clause.append("model.get" + capFirst(colunm.getColunmName()) + "()");
|
||||
clause.append("+").append("\"").append("'");
|
||||
} else {
|
||||
clause.append("\"").append("+");
|
||||
clause.append("model.get" + capFirst(colunm.getColunmName()) + "()");
|
||||
clause.append("+").append("\"");
|
||||
}
|
||||
if (i != colunmList.size() - 1) {
|
||||
clause.append(",");
|
||||
}
|
||||
}
|
||||
}
|
||||
clause.append(Contants.BLACK_SPACE).append("where").append(Contants.BLACK_SPACE);
|
||||
clause.append(primary.getFiledName()).append("=");
|
||||
if (primary.getColunmType().equals(Contants.STRING_TYPE)) {
|
||||
clause.append("'").append("\"").append("+");
|
||||
clause.append("model.get" + capFirst(primary.getColunmName()) + "()");
|
||||
clause.append("+").append("\"").append("'");
|
||||
} else {
|
||||
clause.append("\"").append("+");
|
||||
clause.append("model.get" + capFirst(primary.getColunmName()) + "()");
|
||||
clause.append("+").append("\"");
|
||||
}
|
||||
return clause.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
package cn.feast.coding.generator;
|
||||
|
||||
import cn.feast.coding.generator.utils.CodeGenerator;
|
||||
import cn.feast.coding.model.generator.ModuleProject;
|
||||
import cn.feast.coding.model.generator.PageTemplate;
|
||||
import cn.feast.coding.model.generator.Project;
|
||||
import cn.feast.coding.model.generator.Table;
|
||||
import cn.feast.coding.service.generator.PageTemplateService;
|
||||
import cn.feast.coding.tools.Contants;
|
||||
import cn.feast.coding.tools.PageTemplateUtils;
|
||||
import cn.feast.coding.tools.SSHPageTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class SSHGenerator extends BaseGenerator implements Generator {
|
||||
@Autowired
|
||||
private PageTemplateService pageTemplateService;
|
||||
|
||||
public void generateModel(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSH_TEMPLATE_PATH);
|
||||
map.put("templateName", SSHPageTemplate.MODEL_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "bean"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + ".java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "bean"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDao(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSH_TEMPLATE_PATH);
|
||||
map.put("templateName", SSHPageTemplate.MAPPER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "dao"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Dao.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "dao"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDaoImpl(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSH_TEMPLATE_PATH);
|
||||
map.put("templateName", SSHPageTemplate.MAPPER_XML_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "daoImpl"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "DaoImpl.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "daoImpl"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateController(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSH_TEMPLATE_PATH);
|
||||
map.put("templateName", SSHPageTemplate.CONTROLLER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "action"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Action.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "action"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateIService(Map<String, Object> map) {
|
||||
|
||||
}
|
||||
|
||||
public void generateService(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSH_TEMPLATE_PATH);
|
||||
map.put("templateName", SSHPageTemplate.SERVICE_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Service.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateJsp(Map<String, Object> map) {
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table t : tableList) {
|
||||
t.setUrl("<%=path %>/" + uncapFirst(t.getClassName()) + "/" + uncapFirst(t.getClassName()) + "-list.action");
|
||||
}
|
||||
map.put("tableList", tableList);
|
||||
PageTemplate pageTemplate = pageTemplateService.queryById(((Project) map.get("project")).getPageStyle());
|
||||
map.put("templatePath", pageTemplate.getPagePath());
|
||||
String className = uncapFirst(((Table) map.get("table")).getClassName());
|
||||
String list_url = "<%=path %>/" + className + "/" + className + "-list.action";
|
||||
String add_url = "<%=path %>/" + className + "/" + className + "-add.action";
|
||||
String edit_url = "<%=path %>/" + className + "/" + className + "-edit.action";
|
||||
String update_url = "<%=path %>/" + className + "/" + className + "-update.action";
|
||||
String delete_url = "<%=path %>/" + className + "/" + className + "-delete.action";
|
||||
map.put("list_url", list_url);
|
||||
map.put("add_url", add_url);
|
||||
map.put("edit_url", edit_url);
|
||||
map.put("update_url", update_url);
|
||||
map.put("delete_url", delete_url);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
//list页面
|
||||
map.put("templateName", PageTemplateUtils.LIST_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_list.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//add页面
|
||||
map.put("templateName", PageTemplateUtils.ADD_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_add.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//edit页面
|
||||
map.put("templateName", PageTemplateUtils.EDIT_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_edit.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateIndex(Map<String, Object> map) {
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table t : tableList) {
|
||||
t.setUrl("<%=path %>/" + uncapFirst(t.getClassName()) + "/" + uncapFirst(t.getClassName()) + "-list.action");
|
||||
}
|
||||
map.put("tableList", tableList);
|
||||
PageTemplate pageTemplate = pageTemplateService.queryById(((Project) map.get("project")).getPageStyle());
|
||||
map.put("templatePath", pageTemplate.getPagePath());
|
||||
map.put("templateName", PageTemplateUtils.INDEX_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "index.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
|
||||
//添加登录模块支持(登录页面)
|
||||
ModuleProject loginModule = (ModuleProject) map.get("loginModule");
|
||||
if (null != loginModule) {
|
||||
map.put("login_url", "<%=path %>/" + uncapFirst(loginModule.getTable().getClassName()) + "/" + uncapFirst(loginModule.getTable().getClassName()) + "-login.action");
|
||||
map.put("templateName", PageTemplateUtils.LOGIN_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "login.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
}
|
||||
|
||||
public void generateUtils(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSH_TEMPLATE_PATH);
|
||||
map.put("templateName", SSHPageTemplate.PAGE_UTILS_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "utils"));
|
||||
map.put("fileName", "PageUtils.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "utils"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateCommon(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSH_TEMPLATE_PATH);
|
||||
map.put("templateName", SSHPageTemplate.STRUTS_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "struts"));
|
||||
map.put("fileName", "struts.xml");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "struts"));
|
||||
CodeGenerator.generator(map);
|
||||
map.put("templateName", SSHPageTemplate.PAGE_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "bean"));
|
||||
map.put("fileName", "Page.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "bean"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDefined(Map<String, Object> map) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
package cn.feast.coding.generator;
|
||||
|
||||
import cn.feast.coding.generator.utils.CodeGenerator;
|
||||
import cn.feast.coding.model.generator.ModuleProject;
|
||||
import cn.feast.coding.model.generator.PageTemplate;
|
||||
import cn.feast.coding.model.generator.Project;
|
||||
import cn.feast.coding.model.generator.Table;
|
||||
import cn.feast.coding.service.generator.PageTemplateService;
|
||||
import cn.feast.coding.tools.Contants;
|
||||
import cn.feast.coding.tools.PageTemplateUtils;
|
||||
import cn.feast.coding.tools.SSMCustomPageTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class SSMCustomGenerator extends BaseGenerator implements Generator {
|
||||
@Autowired
|
||||
private PageTemplateService pageTemplateService;
|
||||
|
||||
public void generateModel(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_CUSTOM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMCustomPageTemplate.MODEL_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + ".java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDao(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_CUSTOM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMCustomPageTemplate.MAPPER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "mapper"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Mapper.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "mapper"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDaoImpl(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_CUSTOM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMCustomPageTemplate.MAPPER_XML_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "mapping"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Mapper.xml");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "mapping"));
|
||||
CodeGenerator.generator(map);
|
||||
|
||||
}
|
||||
|
||||
public void generateController(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_CUSTOM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMCustomPageTemplate.CONTROLLER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "controller"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Controller.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "controller"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateIService(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_CUSTOM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMCustomPageTemplate.SERVICE_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Service.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateService(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_CUSTOM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMCustomPageTemplate.SERVICE_IMPL_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "service.impl"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "ServiceImpl.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "service.impl"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateJsp(Map<String, Object> map) {
|
||||
//兼容有些页面模板,增加修改查询页面也存在导航的情况
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table t : tableList) {
|
||||
t.setUrl("<%=path %>/" + uncapFirst(t.getClassName()) + "/list");
|
||||
}
|
||||
map.put("tableList", tableList);
|
||||
PageTemplate pageTemplate = pageTemplateService.queryById(((Project) map.get("project")).getPageStyle());
|
||||
map.put("templatePath", pageTemplate.getPagePath());
|
||||
String className = uncapFirst(((Table) map.get("table")).getClassName());
|
||||
String list_url = "<%=path %>/" + className + "/list";
|
||||
String add_url = "<%=path %>/" + className + "/add";
|
||||
String update_url = "<%=path %>/" + className + "/update";
|
||||
String delete_url = "<%=path %>/" + className + "/delete";
|
||||
map.put("list_url", list_url);
|
||||
map.put("add_url", add_url);
|
||||
map.put("edit_url", update_url);
|
||||
map.put("update_url", update_url);
|
||||
map.put("delete_url", delete_url);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
//list页面
|
||||
map.put("templateName", PageTemplateUtils.LIST_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_list.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//add页面
|
||||
map.put("templateName", PageTemplateUtils.ADD_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_add.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//edit页面
|
||||
map.put("templateName", PageTemplateUtils.EDIT_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_edit.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateIndex(Map<String, Object> map) {
|
||||
|
||||
//兼容有些页面模板,增加修改查询页面也存在导航的情况
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table t : tableList) {
|
||||
t.setUrl("<%=path %>/" + uncapFirst(t.getClassName()) + "/list");
|
||||
}
|
||||
map.put("tableList", tableList);
|
||||
PageTemplate pageTemplate = pageTemplateService.queryById(((Project) map.get("project")).getPageStyle());
|
||||
map.put("templatePath", pageTemplate.getPagePath());
|
||||
map.put("templateName", PageTemplateUtils.INDEX_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "index.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
|
||||
//添加登录模块支持(登录页面)
|
||||
ModuleProject loginModule = (ModuleProject) map.get("loginModule");
|
||||
if (null != loginModule) {
|
||||
map.put("login_url", "<%=path %>/" + uncapFirst(loginModule.getTable().getClassName()) + "/login");
|
||||
map.put("templateName", PageTemplateUtils.LOGIN_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "login.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
}
|
||||
|
||||
public void generateUtils(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_CUSTOM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMCustomPageTemplate.PAGEUTILS_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "utils"));
|
||||
map.put("fileName", "PageUtils.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "utils"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateCommon(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_CUSTOM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMCustomPageTemplate.IMAPPER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "mapper"));
|
||||
map.put("fileName", "IMapper.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "mapper"));
|
||||
CodeGenerator.generator(map);
|
||||
map.put("templateName", SSMCustomPageTemplate.ISERVICE_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
map.put("fileName", "IService.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
CodeGenerator.generator(map);
|
||||
map.put("templateName", SSMCustomPageTemplate.BASE_CONTROLLER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "controller"));
|
||||
map.put("fileName", "BaseController.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "controller"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDefined(Map<String, Object> map) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,155 @@
|
||||
package cn.feast.coding.generator;
|
||||
|
||||
import cn.feast.coding.generator.utils.CodeGenerator;
|
||||
import cn.feast.coding.model.generator.ModuleProject;
|
||||
import cn.feast.coding.model.generator.PageTemplate;
|
||||
import cn.feast.coding.model.generator.Project;
|
||||
import cn.feast.coding.model.generator.Table;
|
||||
import cn.feast.coding.service.generator.PageTemplateService;
|
||||
import cn.feast.coding.tools.Contants;
|
||||
import cn.feast.coding.tools.PageTemplateUtils;
|
||||
import cn.feast.coding.tools.SSMPageTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class SSMGenerator extends BaseGenerator implements Generator {
|
||||
@Autowired
|
||||
private PageTemplateService pageTemplateService;
|
||||
|
||||
public void generateModel(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMPageTemplate.MODEL_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + ".java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDao(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMPageTemplate.MAPPER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "mapper"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Mapper.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "mapper"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDaoImpl(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMPageTemplate.MAPPER_XML_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "mapping"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Mapper.xml");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "mapping"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateController(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMPageTemplate.CONTROLLER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "controller"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Controller.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "controller"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateIService(Map<String, Object> map) {
|
||||
|
||||
}
|
||||
|
||||
public void generateService(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMPageTemplate.SERVICE_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Service.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateJsp(Map<String, Object> map) {
|
||||
//兼容有些页面模板,增加修改查询页面也存在导航的情况
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table t : tableList) {
|
||||
t.setUrl("<%=path %>/" + uncapFirst(t.getClassName()) + "/list");
|
||||
}
|
||||
map.put("tableList", tableList);
|
||||
PageTemplate pageTemplate = pageTemplateService.queryById(((Project) map.get("project")).getPageStyle());
|
||||
map.put("templatePath", pageTemplate.getPagePath());
|
||||
String className = uncapFirst(((Table) map.get("table")).getClassName());
|
||||
String list_url = "<%=path %>/" + className + "/list";
|
||||
String add_url = "<%=path %>/" + className + "/add";
|
||||
String update_url = "<%=path %>/" + className + "/update";
|
||||
String delete_url = "<%=path %>/" + className + "/delete";
|
||||
map.put("list_url", list_url);
|
||||
map.put("add_url", add_url);
|
||||
map.put("edit_url", update_url);
|
||||
map.put("update_url", update_url);
|
||||
map.put("delete_url", delete_url);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
//list页面
|
||||
map.put("templateName", PageTemplateUtils.LIST_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_list.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//add页面
|
||||
map.put("templateName", PageTemplateUtils.ADD_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_add.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//edit页面
|
||||
map.put("templateName", PageTemplateUtils.EDIT_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_edit.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateIndex(Map<String, Object> map) {
|
||||
//兼容有些页面模板,增加修改查询页面也存在导航的情况
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table t : tableList) {
|
||||
t.setUrl("<%=path %>/" + uncapFirst(t.getClassName()) + "/list");
|
||||
}
|
||||
map.put("tableList", tableList);
|
||||
PageTemplate pageTemplate = pageTemplateService.queryById(((Project) map.get("project")).getPageStyle());
|
||||
map.put("templatePath", pageTemplate.getPagePath());
|
||||
map.put("templateName", PageTemplateUtils.INDEX_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "index.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
|
||||
//添加登录模块支持(登录页面)
|
||||
ModuleProject loginModule = (ModuleProject) map.get("loginModule");
|
||||
if (null != loginModule) {
|
||||
map.put("login_url", "<%=path %>/" + uncapFirst(loginModule.getTable().getClassName()) + "/login");
|
||||
map.put("templateName", PageTemplateUtils.LOGIN_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "login.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
}
|
||||
|
||||
public void generateUtils(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMPageTemplate.PAGE_UTILS_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "utils"));
|
||||
map.put("fileName", "PageUtils.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "utils"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateCommon(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMPageTemplate.PAGE_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
map.put("fileName", "Page.java");
|
||||
map.put("filePath", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDefined(Map<String, Object> map) {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,259 @@
|
||||
package cn.feast.coding.generator;
|
||||
|
||||
import cn.feast.coding.generator.utils.CodeGenerator;
|
||||
import cn.feast.coding.model.generator.ModuleProject;
|
||||
import cn.feast.coding.model.generator.PageTemplate;
|
||||
import cn.feast.coding.model.generator.Project;
|
||||
import cn.feast.coding.model.generator.Table;
|
||||
import cn.feast.coding.service.generator.PageTemplateService;
|
||||
import cn.feast.coding.tools.Contants;
|
||||
import cn.feast.coding.tools.PageTemplateUtils;
|
||||
import cn.feast.coding.tools.SSMMavenPageTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class SSMMavenGenerator extends BaseGenerator implements Generator {
|
||||
@Autowired
|
||||
private PageTemplateService pageTemplateService;
|
||||
|
||||
public void generateModel(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_MAVEN_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMMavenPageTemplate.MODEL_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + ".java");
|
||||
map.put("filePath", "src.main.java."+getPackName(((Project) map.get("project")).getPackName(), "model"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDao(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_MAVEN_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMMavenPageTemplate.MAPPER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "mapper"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Mapper.java");
|
||||
map.put("filePath", "src.main.java."+getPackName(((Project) map.get("project")).getPackName(), "mapper"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateDaoImpl(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_MAVEN_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMMavenPageTemplate.MAPPER_XML_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "mapping"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Mapper.xml");
|
||||
map.put("filePath", "src.main.resources.mapping");
|
||||
CodeGenerator.generator(map);
|
||||
|
||||
}
|
||||
|
||||
public void generateController(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_MAVEN_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMMavenPageTemplate.CONTROLLER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "controller"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Controller.java");
|
||||
map.put("filePath", "src.main.java."+getPackName(((Project) map.get("project")).getPackName(), "controller"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateIService(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_MAVEN_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMMavenPageTemplate.SERVICE_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "Service.java");
|
||||
map.put("filePath", "src.main.java."+getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateService(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_MAVEN_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMMavenPageTemplate.SERVICE_IMPL_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "service.impl"));
|
||||
map.put("fileName", ((Table) map.get("table")).getClassName() + "ServiceImpl.java");
|
||||
map.put("filePath", "src.main.java."+getPackName(((Project) map.get("project")).getPackName(), "service.impl"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateJsp(Map<String, Object> map) {
|
||||
//兼容有些页面模板,增加修改查询页面也存在导航的情况
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table t : tableList) {
|
||||
t.setUrl("<%=path %>/" + uncapFirst(t.getClassName()) + "/list");
|
||||
}
|
||||
map.put("tableList", tableList);
|
||||
PageTemplate pageTemplate = pageTemplateService.queryById(((Project) map.get("project")).getPageStyle());
|
||||
map.put("templatePath", pageTemplate.getPagePath());
|
||||
String className = uncapFirst(((Table) map.get("table")).getClassName());
|
||||
String list_url = "<%=path %>/" + className + "/list";
|
||||
String add_url = "<%=path %>/" + className + "/add";
|
||||
String update_url = "<%=path %>/" + className + "/update";
|
||||
String delete_url = "<%=path %>/" + className + "/delete";
|
||||
String detail_url = "<%=path %>/" + className + "/detail";
|
||||
map.put("list_url", list_url);
|
||||
map.put("add_url", add_url);
|
||||
map.put("edit_url", update_url);
|
||||
map.put("update_url", update_url);
|
||||
map.put("delete_url", delete_url);
|
||||
map.put("detail_url", detail_url);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("filePath", "src.main.webapp.views");
|
||||
//list页面
|
||||
map.put("templateName", PageTemplateUtils.LIST_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_list.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//add页面
|
||||
map.put("templateName", PageTemplateUtils.ADD_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_add.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//edit页面
|
||||
map.put("templateName", PageTemplateUtils.EDIT_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_edit.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
//detail页面
|
||||
map.put("templateName", PageTemplateUtils.DETAIL_PAGE);
|
||||
map.put("fileName", uncapFirst(((Table) map.get("table")).getClassName()) + "_detail.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateIndex(Map<String, Object> map) {
|
||||
//兼容有些页面模板,增加修改查询页面也存在导航的情况
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table t : tableList) {
|
||||
t.setUrl("<%=path %>/" + uncapFirst(t.getClassName()) + "/list");
|
||||
}
|
||||
map.put("tableList", tableList);
|
||||
PageTemplate pageTemplate = pageTemplateService.queryById(((Project) map.get("project")).getPageStyle());
|
||||
map.put("templatePath", pageTemplate.getPagePath());
|
||||
//主页
|
||||
map.put("templateName", PageTemplateUtils.INDEX_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "index.jsp");
|
||||
map.put("filePath", "src.main.webapp.views");
|
||||
CodeGenerator.generator(map);
|
||||
|
||||
//欢迎页面
|
||||
if(pageTemplate.getPagePath().equals("/template/page_maven") || pageTemplate.getPagePath().equals("/template/page_maven1")){
|
||||
map.put("templateName", PageTemplateUtils.WELCOME_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "welcome.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
//添加登录模块支持(登录页面)
|
||||
ModuleProject loginModule = (ModuleProject) map.get("loginModule");
|
||||
if (null != loginModule) {
|
||||
map.put("login_url", "<%=path %>/login");
|
||||
map.put("templateName", PageTemplateUtils.LOGIN_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "login.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
//添加注册模块支持(注册页面)
|
||||
ModuleProject registerModule = (ModuleProject) map.get("registerModule");
|
||||
if (null != registerModule) {
|
||||
map.put("register_url", "<%=path %>/register");
|
||||
map.put("templateName", PageTemplateUtils.REGISTER_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "register.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
//添加修改密码模块支持(修改密码页面)
|
||||
ModuleProject passwordModule = (ModuleProject) map.get("passwordModule");
|
||||
if (null != passwordModule) {
|
||||
map.put("password_url", "<%=path %>/password");
|
||||
map.put("templateName", PageTemplateUtils.PASSWORD_PAGE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "jsp"));
|
||||
map.put("fileName", "password.jsp");
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
}
|
||||
|
||||
public void generateUtils(Map<String, Object> map) {
|
||||
map.put("templatePath", Contants.SSM_MAVEN_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMMavenPageTemplate.PAGEUTILS_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "utils"));
|
||||
map.put("fileName", "PageUtils.java");
|
||||
map.put("filePath", "src.main.java."+getPackName(((Project) map.get("project")).getPackName(), "utils"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
|
||||
public void generateCommon(Map<String, Object> map) {
|
||||
//mapper接口
|
||||
map.put("templatePath", Contants.SSM_MAVEN_TEMPLATE_PATH);
|
||||
map.put("templateName", SSMMavenPageTemplate.IMAPPER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "mapper"));
|
||||
map.put("fileName", "IMapper.java");
|
||||
map.put("filePath", "src.main.java."+getPackName(((Project) map.get("project")).getPackName(), "mapper"));
|
||||
CodeGenerator.generator(map);
|
||||
//service接口
|
||||
map.put("templateName", SSMMavenPageTemplate.ISERVICE_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
map.put("fileName", "IService.java");
|
||||
map.put("filePath", "src.main.java."+getPackName(((Project) map.get("project")).getPackName(), "service"));
|
||||
CodeGenerator.generator(map);
|
||||
//baseController
|
||||
map.put("templateName", SSMMavenPageTemplate.BASE_CONTROLLER_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "controller"));
|
||||
map.put("fileName", "BaseController.java");
|
||||
map.put("filePath", "src.main.java."+getPackName(((Project) map.get("project")).getPackName(), "controller"));
|
||||
CodeGenerator.generator(map);
|
||||
//pom.xml
|
||||
map.put("templateName", SSMMavenPageTemplate.POM_XML_TEMPLATE);
|
||||
map.put("pack", ((Project) map.get("project")).getPackName());
|
||||
map.put("fileName", "pom.xml");
|
||||
map.put("filePath", "");
|
||||
CodeGenerator.generator(map);
|
||||
//web.xml
|
||||
map.put("templateName", SSMMavenPageTemplate.WEB_XML_TEMPLATE);
|
||||
map.put("pack", ((Project) map.get("project")).getPackName());
|
||||
map.put("fileName", "web.xml");
|
||||
map.put("filePath", "src.main.webapp.WEB-INF");
|
||||
CodeGenerator.generator(map);
|
||||
//spring-core.xml
|
||||
map.put("templateName", SSMMavenPageTemplate.SPRING_CORE_XML_TEMPLATE);
|
||||
map.put("pack", ((Project) map.get("project")).getPackName());
|
||||
map.put("fileName", "spring-core.xml");
|
||||
map.put("filePath", "src.main.resources");
|
||||
CodeGenerator.generator(map);
|
||||
//spring-mvc.xml
|
||||
map.put("templateName", SSMMavenPageTemplate.SPRING_WEB_XML_TEMPLATE);
|
||||
map.put("pack", ((Project) map.get("project")).getPackName());
|
||||
map.put("fileName", "spring-mvc.xml");
|
||||
map.put("filePath", "src.main.resources");
|
||||
CodeGenerator.generator(map);
|
||||
//mybatis-config.xml
|
||||
map.put("templateName", SSMMavenPageTemplate.MYBATIS_CONFIG_XML_TEMPLATE);
|
||||
map.put("pack", ((Project) map.get("project")).getPackName());
|
||||
map.put("fileName", "mybatis-config.xml");
|
||||
map.put("filePath", "src.main.resources");
|
||||
CodeGenerator.generator(map);
|
||||
//jdbc.properties
|
||||
map.put("templateName", SSMMavenPageTemplate.JDBC_PROPERTIES_TEMPLATE);
|
||||
map.put("pack", ((Project) map.get("project")).getPackName());
|
||||
map.put("fileName", "jdbc.properties");
|
||||
map.put("filePath", "src.main.resources");
|
||||
CodeGenerator.generator(map);
|
||||
//logback-spring.xml
|
||||
map.put("templateName", SSMMavenPageTemplate.LOGBACK_XML_TEMPLATE);
|
||||
map.put("pack", ((Project) map.get("project")).getPackName());
|
||||
map.put("fileName", "logback-spring.xml");
|
||||
map.put("filePath", "src.main.resources");
|
||||
CodeGenerator.generator(map);
|
||||
//添加登录模块支持(登录拦截器)
|
||||
ModuleProject loginModule = (ModuleProject) map.get("loginModule");
|
||||
if (null != loginModule) {
|
||||
map.put("templateName", SSMMavenPageTemplate.LOGIN_INTERCEPTOR_TEMPLATE);
|
||||
map.put("pack", getPackName(((Project) map.get("project")).getPackName(), "interceptor"));
|
||||
map.put("fileName", "LoginInterceptor.java");
|
||||
map.put("filePath", "src.main.java."+getPackName(((Project) map.get("project")).getPackName(), "interceptor"));
|
||||
CodeGenerator.generator(map);
|
||||
}
|
||||
}
|
||||
|
||||
public void generateDefined(Map<String, Object> map) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package cn.feast.coding.generator.factory;
|
||||
|
||||
import cn.feast.coding.generator.*;
|
||||
import cn.feast.coding.tools.Contants;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class GeneratorFactory {
|
||||
@Autowired
|
||||
private SSMGenerator ssmGenerator;
|
||||
@Autowired
|
||||
private SSHGenerator sshGenerator;
|
||||
@Autowired
|
||||
private JSPGenerator jspGenerator;
|
||||
@Autowired
|
||||
private SSMCustomGenerator ssmCustomGenerator;
|
||||
@Autowired
|
||||
private SSMMavenGenerator ssmMavenGenerator;
|
||||
|
||||
/**
|
||||
* 简单工厂模式 :根据类型选择不同的Generator实现类
|
||||
*
|
||||
* @param generatorType
|
||||
* @return
|
||||
*/
|
||||
public Generator getGenerator(String generatorType) {
|
||||
switch (generatorType) {
|
||||
case Contants.SSM_FRAME:
|
||||
return ssmGenerator;
|
||||
case Contants.SSH_FRAME:
|
||||
return sshGenerator;
|
||||
case Contants.JSP_FRAME:
|
||||
return jspGenerator;
|
||||
case Contants.SSM_CUSTOM_FRAME:
|
||||
return ssmCustomGenerator;
|
||||
case Contants.SSM_MAVEN_FRAME:
|
||||
return ssmMavenGenerator;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
package cn.feast.coding.generator.utils;
|
||||
|
||||
import cn.feast.coding.model.generator.Project;
|
||||
import freemarker.template.Configuration;
|
||||
import freemarker.template.DefaultObjectWrapper;
|
||||
import freemarker.template.Template;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.File;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.Writer;
|
||||
import java.util.Map;
|
||||
|
||||
public class CodeGenerator {
|
||||
/**
|
||||
* 根据模板生成
|
||||
*
|
||||
* @param map 数据
|
||||
*/
|
||||
public static void generator(Map<String, Object> map){
|
||||
Project project = (Project) map.get("project");
|
||||
String fileName = "OpenPark";
|
||||
if(StringUtils.isNotEmpty(project.getProjectFileName())){
|
||||
fileName = project.getProjectFileName();
|
||||
}
|
||||
//获取request
|
||||
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
||||
String root = request.getSession().getServletContext().getRealPath("/"+ fileName);
|
||||
generator(map, root, request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据模板生成
|
||||
*
|
||||
* @param map 数据
|
||||
* @param path 生成路径
|
||||
*/
|
||||
public static void generator(Map<String, Object> map, String path, HttpServletRequest request) {
|
||||
try {
|
||||
String templateName = map.get("templateName").toString();
|
||||
String filePath = map.get("filePath").toString();
|
||||
Configuration cfg = new Configuration();
|
||||
cfg.setDefaultEncoding("UTF-8");
|
||||
//自定义标签
|
||||
// cfg.setSharedVariable("role", myDirectiveModel);
|
||||
// cfg.setSharedVariable("modules", modulesDirectiveModel);
|
||||
cfg.setServletContextForTemplateLoading(request.getSession().getServletContext(), (String) map.get("templatePath"));
|
||||
cfg.setObjectWrapper(new DefaultObjectWrapper());
|
||||
// 获取模板文件
|
||||
Template template = cfg.getTemplate(templateName, "UTF-8");
|
||||
// // 生成输出到控制台
|
||||
// Writer out = new OutputStreamWriter(System.out);
|
||||
// template.process(map, out);
|
||||
// out.flush();
|
||||
|
||||
// 生成输出到文件
|
||||
String root = genPackStr(path, filePath);
|
||||
File fileDir = new File(root);
|
||||
// 创建文件夹,不存在则创建
|
||||
FileUtils.forceMkdir(fileDir);
|
||||
// 指定生成输出的文件
|
||||
File output = new File(fileDir + "/" + map.get("fileName"));
|
||||
Writer writer = new PrintWriter(output, "UTF-8");
|
||||
// Writer writer = new FileWriter(output);
|
||||
template.process(map, writer);
|
||||
writer.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据包名获取对应的路径名
|
||||
*
|
||||
* @param root 根路径
|
||||
* @param pack 包名
|
||||
* @return
|
||||
*/
|
||||
private static String genPackStr(String root, String pack) {
|
||||
String result = root;
|
||||
String[] dirs = pack.split("\\.");
|
||||
for (String dir : dirs) {
|
||||
result += "/" + dir;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.feast.coding.generator.utils;
|
||||
|
||||
public class GeneratorConstants {
|
||||
public static final Integer SSM_GENERATOR_TYPE = 1;
|
||||
|
||||
public static final Integer SSH_GENERATOR_TYPE = 2;
|
||||
|
||||
public static final Integer JSP_GENERATOR_TYPE = 3;
|
||||
|
||||
public static final Integer SSM_CUSTOM_GENERATOR_TYPE = 4;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package cn.feast.coding.service;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import java.util.List;
|
||||
|
||||
public interface IService<T> {
|
||||
int insert(T t);
|
||||
|
||||
int update(T t);
|
||||
|
||||
int deleteByPrimaryKey(Integer id);
|
||||
|
||||
List<T> selectAll(T t);
|
||||
|
||||
T selectByPrimaryKey(Integer id);
|
||||
|
||||
List<T> queryAll();
|
||||
|
||||
PageInfo<T> queryPage(T t, int pageNum, int pageSize);
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package cn.feast.coding.service.generator;
|
||||
|
||||
import cn.feast.coding.mapper.generator.ColunmMapper;
|
||||
import cn.feast.coding.model.generator.Colunm;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.tools.SysContants;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class ColunmService {
|
||||
|
||||
@Autowired
|
||||
private ColunmMapper mapper;
|
||||
|
||||
public Integer save(Colunm colunm) {
|
||||
return mapper.save(colunm);
|
||||
}
|
||||
|
||||
public Integer saveByBatch(List<Colunm> list){
|
||||
return mapper.saveByBatch(list);
|
||||
}
|
||||
|
||||
public void update(Colunm colunm) {
|
||||
mapper.update(colunm);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(Colunm colunm) {
|
||||
return mapper.queryByCount(colunm);
|
||||
}
|
||||
|
||||
public List<Colunm> queryByList(Page page, Colunm colunm) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("colunmName", colunm.getColunmName());
|
||||
paramsMap.put("filedName", colunm.getFiledName());
|
||||
paramsMap.put("colunmType", colunm.getColunmType());
|
||||
paramsMap.put("showName", colunm.getShowName());
|
||||
paramsMap.put("editStyle", colunm.getEditStyle());
|
||||
paramsMap.put("isPrimary", colunm.getIsPrimary());
|
||||
paramsMap.put("isShowed", colunm.getIsShowed());
|
||||
paramsMap.put("tableId", colunm.getTableId());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<Colunm> queryByColunm(Colunm colunm) {
|
||||
return mapper.queryByColunm(colunm);
|
||||
}
|
||||
|
||||
public Colunm queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public void deleteProjectRelatedData(Integer projectId) {
|
||||
mapper.deleteProjectRelatedData(projectId);
|
||||
}
|
||||
|
||||
public List<Colunm> queryByTable(Integer tableId) {
|
||||
return mapper.queryByTable(tableId);
|
||||
}
|
||||
|
||||
public PageInfo<Colunm> queryPage(Colunm colunm, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = SysContants.MAX_PAGE_ROWS;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Colunm> list = mapper.queryByColunm(colunm);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package cn.feast.coding.service.generator;
|
||||
|
||||
import cn.feast.coding.mapper.generator.DataSourceMapper;
|
||||
import cn.feast.coding.model.generator.Colunm;
|
||||
import cn.feast.coding.model.generator.DataSource;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.tools.DataBaseTools;
|
||||
import cn.feast.coding.tools.SysContants;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class DataSourceService {
|
||||
|
||||
@Autowired
|
||||
private DataSourceMapper mapper;
|
||||
|
||||
public Integer save(DataSource dataSource) {
|
||||
return mapper.save(dataSource);
|
||||
}
|
||||
|
||||
public void update(DataSource dataSource) {
|
||||
mapper.update(dataSource);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(DataSource dataSource) {
|
||||
return mapper.queryByCount(dataSource);
|
||||
}
|
||||
|
||||
public List<DataSource> queryByList(Page page, DataSource dataSource) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("name", dataSource.getName());
|
||||
paramsMap.put("jdbcUrl", dataSource.getJdbcUrl());
|
||||
paramsMap.put("jdbcUser", dataSource.getJdbcUser());
|
||||
paramsMap.put("jdbcPass", dataSource.getJdbcPass());
|
||||
paramsMap.put("isDefault", dataSource.getIsDefault());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<DataSource> queryByDataSource(DataSource dataSource) {
|
||||
return mapper.queryByDataSource(dataSource);
|
||||
}
|
||||
|
||||
public DataSource queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public List<DataSource> queryAll() {
|
||||
return mapper.queryAll();
|
||||
}
|
||||
|
||||
public boolean testConnection(DataSource dataSource) {
|
||||
int data = DataBaseTools.testConnection(dataSource);
|
||||
if (data == 0) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public PageInfo<DataSource> queryPage(DataSource dataSource, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = SysContants.MAX_PAGE_ROWS;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<DataSource> list = mapper.queryByDataSource(dataSource);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,202 @@
|
||||
package cn.feast.coding.service.generator;
|
||||
|
||||
import cn.feast.coding.generator.Generator;
|
||||
import cn.feast.coding.generator.factory.GeneratorFactory;
|
||||
import cn.feast.coding.mapper.generator.ColunmMapper;
|
||||
import cn.feast.coding.mapper.generator.ProjectMapper;
|
||||
import cn.feast.coding.mapper.generator.TableMapper;
|
||||
import cn.feast.coding.model.generator.*;
|
||||
import cn.feast.coding.tools.Contants;
|
||||
import cn.feast.coding.tools.ZipTools;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static cn.feast.coding.tools.StringUtils.uncapFirst;
|
||||
|
||||
|
||||
@Service
|
||||
public class GeneratorService {
|
||||
@Autowired
|
||||
private GeneratorFactory generatorFactory;
|
||||
private Generator generator;
|
||||
@Autowired
|
||||
private TableMapper tableMapper;
|
||||
@Autowired
|
||||
private ColunmMapper colunmMapper;
|
||||
@Autowired
|
||||
private ProjectMapper projectMapper;
|
||||
@Autowired
|
||||
private ModuleProjectService moduleProjectService;
|
||||
|
||||
public void generator(Project project, HttpServletRequest request) {
|
||||
project = projectMapper.queryById(project.getId());
|
||||
List<Table> tableList = tableMapper.queryByProject(project.getId());
|
||||
generator(project, tableList, request);
|
||||
}
|
||||
|
||||
public void generator(Project project, List<Table> tableList, HttpServletRequest request) {
|
||||
Map<String, Object> map = new Hashtable<>();
|
||||
map.put("project", project);
|
||||
map.put("tableList", tableList);
|
||||
generator(map, request);
|
||||
}
|
||||
|
||||
public void generator(Map<String, Object> map, HttpServletRequest request) {
|
||||
Project project = (Project) map.get("project");
|
||||
//获取项目框架
|
||||
String templateType = project.getTemplateType();
|
||||
//添加功能模块支持
|
||||
addModuleSupport(project, map);
|
||||
//生成代码
|
||||
generator = generatorFactory.getGenerator(templateType);
|
||||
generate(map, templateType);
|
||||
//打包生成文件
|
||||
packageGenerateFiles(project, request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 打包生成代码
|
||||
*
|
||||
* @param project
|
||||
* @param request
|
||||
*/
|
||||
public void packageGenerateFiles(Project project, HttpServletRequest request) {
|
||||
String fileName = "OpenPark";
|
||||
if(StringUtils.isNotEmpty(project.getProjectFileName())){
|
||||
fileName = project.getProjectFileName();
|
||||
}
|
||||
String path = request.getSession().getServletContext().getRealPath("/" + fileName);
|
||||
String zipFilPath = request.getSession().getServletContext().getRealPath("/zip") + "/" + project.getProjectName() + ".zip";
|
||||
ZipTools.zipMultiFile(path, zipFilPath, true);
|
||||
}
|
||||
|
||||
private void generate(Map<String, Object> map, String templateType) {
|
||||
List<Table> tableList = (List<Table>) map.get("tableList");
|
||||
for (Table table : tableList) {
|
||||
initMap(table, map, templateType);
|
||||
generator.generateController(map);
|
||||
generator.generateDao(map);
|
||||
generator.generateDaoImpl(map);
|
||||
generator.generateModel(map);
|
||||
generator.generateService(map);
|
||||
generator.generateIService(map);
|
||||
generator.generateJsp(map);
|
||||
}
|
||||
generator.generateIndex(map);
|
||||
generator.generateUtils(map);
|
||||
generator.generateCommon(map);
|
||||
generator.generateDefined(map);
|
||||
}
|
||||
|
||||
private void addModuleSupport(Project project, Map<String, Object> map) {
|
||||
Integer projectId = project.getId();
|
||||
String templateType = project.getTemplateType();
|
||||
//登录功能
|
||||
List<ModuleProject> loginList = addLoginModuleSupport(projectId, templateType);
|
||||
if (!loginList.isEmpty()) {
|
||||
map.put("loginModule", loginList.get(0));
|
||||
}
|
||||
//注册功能
|
||||
List<ModuleProject> registerList = addRegisterModuleSupport(projectId, templateType);
|
||||
if (!registerList.isEmpty()) {
|
||||
map.put("registerModule", registerList.get(0));
|
||||
}
|
||||
//修改密码功能
|
||||
List<ModuleProject> passwordList = addPasswordModuleSupport(projectId, templateType);
|
||||
if (!passwordList.isEmpty()) {
|
||||
map.put("passwordModule", passwordList.get(0));
|
||||
}
|
||||
//查询功能
|
||||
List<ModuleProject> queryList = addQueryModuleSupport(projectId, templateType);
|
||||
if (!queryList.isEmpty()) {
|
||||
map.put("queryModule", queryList);
|
||||
}
|
||||
}
|
||||
|
||||
private List<ModuleProject> addLoginModuleSupport(Integer projectId, String templateType) {
|
||||
List<ModuleProject> loginList = moduleProjectService.queryByProjectAndModule(projectId, Contants.LOGIN_MODULE);
|
||||
if (!loginList.isEmpty()) {
|
||||
for (ModuleProject mp : loginList) {
|
||||
//兼容ssh
|
||||
mp.frameAdapter(templateType);
|
||||
}
|
||||
}
|
||||
return loginList;
|
||||
}
|
||||
|
||||
private List<ModuleProject> addRegisterModuleSupport(Integer projectId, String templateType) {
|
||||
List<ModuleProject> registerList = moduleProjectService.queryByProjectAndModule(projectId, Contants.REGISTER_MODULE);
|
||||
if (!registerList.isEmpty()) {
|
||||
for (ModuleProject mp : registerList) {
|
||||
//兼容ssh
|
||||
mp.frameAdapter(templateType);
|
||||
}
|
||||
}
|
||||
return registerList;
|
||||
}
|
||||
|
||||
private List<ModuleProject> addPasswordModuleSupport(Integer projectId, String templateType) {
|
||||
List<ModuleProject> registerList = moduleProjectService.queryByProjectAndModule(projectId, Contants.PASSWORD_MODULE);
|
||||
if (!registerList.isEmpty()) {
|
||||
for (ModuleProject mp : registerList) {
|
||||
//兼容ssh
|
||||
mp.frameAdapter(templateType);
|
||||
}
|
||||
}
|
||||
return registerList;
|
||||
}
|
||||
|
||||
private List<ModuleProject> addQueryModuleSupport(Integer projectId, String templateType) {
|
||||
List<ModuleProject> queryList = moduleProjectService.queryByProjectAndModule(projectId, Contants.QUERY_MODULE);
|
||||
if (!queryList.isEmpty()) {
|
||||
for (ModuleProject mp : queryList) {
|
||||
//兼容ssh
|
||||
mp.frameAdapter(templateType);
|
||||
String query_url = null;
|
||||
//ssm
|
||||
if (templateType.equals(Contants.SSM_FRAME)) {
|
||||
query_url = "<%=path %>/" + uncapFirst(mp.getTable().getClassName()) + "/list";
|
||||
}
|
||||
//ssh
|
||||
else if (templateType.equals(Contants.SSH_FRAME)) {
|
||||
query_url = "<%=path %>/" + uncapFirst(mp.getTable().getClassName()) + "/" + uncapFirst(mp.getTable().getClassName()) + "-query.action";
|
||||
}
|
||||
//jsp
|
||||
else if (templateType.equals(Contants.JSP_FRAME)) {
|
||||
query_url = "<%=path %>/query" + mp.getTable().getClassName() + "SelectedServlet";
|
||||
}
|
||||
//ssm custom
|
||||
else if (templateType.equals(Contants.SSM_CUSTOM_FRAME)) {
|
||||
query_url = "<%=path %>/" + uncapFirst(mp.getTable().getClassName()) + "/list";
|
||||
}
|
||||
//ssm maven
|
||||
else if (templateType.equals(Contants.SSM_MAVEN_FRAME)) {
|
||||
query_url = "<%=path %>/" + uncapFirst(mp.getTable().getClassName()) + "/list";
|
||||
}
|
||||
mp.setModuleUrl(query_url);
|
||||
}
|
||||
}
|
||||
return queryList;
|
||||
}
|
||||
|
||||
|
||||
private Map<String, Object> initMap(Table table, Map<String, Object> map, String templateType) {
|
||||
List<Colunm> colunmList = colunmMapper.queryByTable(table.getId());
|
||||
Colunm primary = colunmMapper.queryPrimaryKey(table.getId());
|
||||
//为了兼容ssh表单name显示不一致问题
|
||||
primary.frameAdapter(templateType);
|
||||
for (Colunm c : colunmList) {
|
||||
c.frameAdapter(templateType);
|
||||
}
|
||||
map.put("table", table);
|
||||
map.put("colunmList", colunmList);
|
||||
map.put("primary", primary);
|
||||
return map;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package cn.feast.coding.service.generator;
|
||||
|
||||
import cn.feast.coding.mapper.generator.ModuleMapper;
|
||||
import cn.feast.coding.mapper.generator.ModuleProjectMapper;
|
||||
import cn.feast.coding.mapper.generator.TableMapper;
|
||||
import cn.feast.coding.model.generator.Colunm;
|
||||
import cn.feast.coding.model.generator.ModuleProject;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.tools.SysContants;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class ModuleProjectService {
|
||||
|
||||
@Autowired
|
||||
private ModuleProjectMapper mapper;
|
||||
@Autowired
|
||||
private ModuleMapper moduleMapper;
|
||||
@Autowired
|
||||
private TableMapper tableMapper;
|
||||
|
||||
public Integer save(ModuleProject moduleProject) {
|
||||
return mapper.save(moduleProject);
|
||||
}
|
||||
|
||||
public void update(ModuleProject moduleProject) {
|
||||
mapper.update(moduleProject);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(ModuleProject moduleProject) {
|
||||
return mapper.queryByCount(moduleProject);
|
||||
}
|
||||
|
||||
public List<ModuleProject> queryByList(Page page, ModuleProject moduleProject) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("moduleId", moduleProject.getModuleId());
|
||||
paramsMap.put("projectId", moduleProject.getProjectId());
|
||||
paramsMap.put("tableId", moduleProject.getTableId());
|
||||
paramsMap.put("moduleParam1", moduleProject.getModuleParam1());
|
||||
paramsMap.put("moduleParam1Type", moduleProject.getModuleParam1Type());
|
||||
paramsMap.put("moduleParam1Field", moduleProject.getModuleParam1Field());
|
||||
paramsMap.put("moduleParam2", moduleProject.getModuleParam2());
|
||||
paramsMap.put("moduleParam2Type", moduleProject.getModuleParam2Type());
|
||||
paramsMap.put("moduleParam2Field", moduleProject.getModuleParam2Field());
|
||||
paramsMap.put("moduleParam3", moduleProject.getModuleParam3());
|
||||
paramsMap.put("moduleParam3Type", moduleProject.getModuleParam3Type());
|
||||
paramsMap.put("moduleParam3Field", moduleProject.getModuleParam3Field());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<ModuleProject> queryByModuleProject(ModuleProject moduleProject) {
|
||||
return mapper.queryByModuleProject(moduleProject);
|
||||
}
|
||||
|
||||
public ModuleProject queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public List<ModuleProject> queryByProject(Integer projectId) {
|
||||
List<ModuleProject> list = mapper.queryByProject(projectId);
|
||||
for (ModuleProject mp : list) {
|
||||
mp.setModule(moduleMapper.queryById(mp.getModuleId()));
|
||||
mp.setTable(tableMapper.queryById(mp.getTableId()));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<ModuleProject> queryByModule(Integer moduleId) {
|
||||
return mapper.queryByModule(moduleId);
|
||||
}
|
||||
|
||||
public void deleteProjectRelatedData(Integer projectId) {
|
||||
mapper.deleteProjectRelatedData(projectId);
|
||||
}
|
||||
|
||||
public PageInfo<ModuleProject> queryPage(ModuleProject moduleProject, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = SysContants.MAX_PAGE_ROWS;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<ModuleProject> list = mapper.queryByModuleProject(moduleProject);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
public List<ModuleProject> queryByProjectAndModule(Integer projectId, String moduleName) {
|
||||
return mapper.queryByProjectAndModule(projectId, moduleName);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
package cn.feast.coding.service.generator;
|
||||
|
||||
import cn.feast.coding.mapper.generator.ModuleMapper;
|
||||
import cn.feast.coding.model.generator.Module;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.tools.SysContants;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class ModuleService {
|
||||
|
||||
@Autowired
|
||||
private ModuleMapper mapper;
|
||||
|
||||
public Integer save(Module module) {
|
||||
return mapper.save(module);
|
||||
}
|
||||
|
||||
public void update(Module module) {
|
||||
mapper.update(module);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(Module module) {
|
||||
return mapper.queryByCount(module);
|
||||
}
|
||||
|
||||
public List<Module> queryByList(Page page, Module module) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("moduleName", module.getModuleName());
|
||||
paramsMap.put("moduleDesc", module.getModuleDesc());
|
||||
paramsMap.put("moduleMethod", module.getModuleMethod());
|
||||
paramsMap.put("moduleDefault", module.getModuleDefault());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<Module> queryByModule(Module module) {
|
||||
return mapper.queryByModule(module);
|
||||
}
|
||||
|
||||
public Module queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public List<Module> queryAll() {
|
||||
return mapper.queryAll();
|
||||
}
|
||||
|
||||
public PageInfo<Module> queryPage(Module module, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = SysContants.MAX_PAGE_ROWS;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Module> list = mapper.queryByModule(module);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package cn.feast.coding.service.generator;
|
||||
|
||||
import cn.feast.coding.mapper.generator.PageTemplateMapper;
|
||||
import cn.feast.coding.model.generator.DataSource;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.model.generator.PageTemplate;
|
||||
import cn.feast.coding.tools.SysContants;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class PageTemplateService {
|
||||
|
||||
@Autowired
|
||||
private PageTemplateMapper mapper;
|
||||
|
||||
public Integer save(PageTemplate pageTemplate) {
|
||||
return mapper.save(pageTemplate);
|
||||
}
|
||||
|
||||
public void update(PageTemplate pageTemplate) {
|
||||
mapper.update(pageTemplate);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(PageTemplate pageTemplate) {
|
||||
return mapper.queryByCount(pageTemplate);
|
||||
}
|
||||
|
||||
public List<PageTemplate> queryByList(Page page, PageTemplate pageTemplate) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("pageName", pageTemplate.getPageName());
|
||||
paramsMap.put("pagePath", pageTemplate.getPagePath());
|
||||
paramsMap.put("pageImag", pageTemplate.getPageImag());
|
||||
paramsMap.put("pageDesc", pageTemplate.getPageDesc());
|
||||
paramsMap.put("pageDefault", pageTemplate.getPageDefault());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<PageTemplate> queryByPageTemplate(PageTemplate pageTemplate) {
|
||||
return mapper.queryByPageTemplate(pageTemplate);
|
||||
}
|
||||
|
||||
public PageTemplate queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public List<PageTemplate> queryByAll() {
|
||||
return mapper.queryAll();
|
||||
}
|
||||
|
||||
public PageInfo<PageTemplate> queryPage(PageTemplate pageTemplate, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = SysContants.MAX_PAGE_ROWS;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<PageTemplate> list = mapper.queryByPageTemplate(pageTemplate);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
public List<PageTemplate> getPage(String templateType) {
|
||||
return mapper.getPage(templateType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package cn.feast.coding.service.generator;
|
||||
|
||||
import cn.feast.coding.mapper.generator.ProjectMapper;
|
||||
import cn.feast.coding.model.generator.Colunm;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.model.generator.Project;
|
||||
import cn.feast.coding.tools.SysContants;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class ProjectService {
|
||||
|
||||
@Autowired
|
||||
private ProjectMapper mapper;
|
||||
|
||||
public Integer save(Project project) {
|
||||
return mapper.save(project);
|
||||
}
|
||||
|
||||
public void update(Project project) {
|
||||
mapper.update(project);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(Project project) {
|
||||
return mapper.queryByCount(project);
|
||||
}
|
||||
|
||||
public List<Project> queryByList(Page page, Project project) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("projectName", project.getProjectName());
|
||||
paramsMap.put("projectDesc", project.getProjectDesc());
|
||||
paramsMap.put("dataSourse", project.getDataSourse());
|
||||
paramsMap.put("packName", project.getPackName());
|
||||
paramsMap.put("pagePath", project.getPagePath());
|
||||
paramsMap.put("pageStyle", project.getPageStyle());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<Project> queryByProject(Project project) {
|
||||
return mapper.queryByProject(project);
|
||||
}
|
||||
|
||||
public Project queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public List<Project> queryByDataSource(Integer dataSourceId) {
|
||||
return mapper.queryByDataSource(dataSourceId);
|
||||
}
|
||||
|
||||
public List<Project> queryByPageTemplate(Integer pageTemplateId) {
|
||||
return mapper.queryByPageTemplate(pageTemplateId);
|
||||
}
|
||||
|
||||
public PageInfo<Project> queryPage(Project project, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = SysContants.MAX_PAGE_ROWS;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Project> list = mapper.queryByProject(project);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
public List<Project> queryAll() {
|
||||
return mapper.queryAll();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package cn.feast.coding.service.generator;
|
||||
|
||||
import cn.feast.coding.mapper.generator.TableMapper;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.model.generator.Project;
|
||||
import cn.feast.coding.model.generator.Table;
|
||||
import cn.feast.coding.tools.SysContants;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class TableService {
|
||||
|
||||
@Autowired
|
||||
private TableMapper mapper;
|
||||
|
||||
public Integer save(Table table) {
|
||||
return mapper.save(table);
|
||||
}
|
||||
|
||||
public void update(Table table) {
|
||||
mapper.update(table);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(Table table) {
|
||||
return mapper.queryByCount(table);
|
||||
}
|
||||
|
||||
public List<Table> queryByList(Page page, Table table) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("tableName", table.getTableName());
|
||||
paramsMap.put("className", table.getClassName());
|
||||
paramsMap.put("showStyle", table.getShowStyle());
|
||||
paramsMap.put("projectId", table.getProjectId());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<Table> queryByTable(Table table) {
|
||||
return mapper.queryByTable(table);
|
||||
}
|
||||
|
||||
public Table queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public void deleteProjectRelatedData(Integer projectId) {
|
||||
mapper.deleteProjectRelatedData(projectId);
|
||||
}
|
||||
|
||||
public List<Table> queryByProject(Integer projectId) {
|
||||
return mapper.queryByProject(projectId);
|
||||
}
|
||||
|
||||
public PageInfo<Table> queryPage(Table table, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = SysContants.MAX_PAGE_ROWS;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Table> list = mapper.queryByTable(table);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
public int saveByBatch(List<Table> tableList) {
|
||||
return mapper.saveByBatch(tableList);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package cn.feast.coding.service.links;
|
||||
|
||||
import cn.feast.coding.model.links.Link;
|
||||
import cn.feast.coding.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface LinkService extends IService<Link> {
|
||||
List queryByType(Integer linkType);
|
||||
|
||||
List queryByTypeTimes(Integer urlType);
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package cn.feast.coding.service.links.impl;
|
||||
|
||||
import cn.feast.coding.mapper.links.LinkMapper;
|
||||
import cn.feast.coding.model.links.Link;
|
||||
import cn.feast.coding.service.links.LinkService;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class LinkServiceImpl implements LinkService {
|
||||
@Autowired
|
||||
private LinkMapper mapper;
|
||||
|
||||
public int insert(Link model){
|
||||
return mapper.insert(model);
|
||||
}
|
||||
|
||||
public int update(Link model){
|
||||
return mapper.update(model);
|
||||
}
|
||||
|
||||
public int deleteByPrimaryKey(Integer id){
|
||||
return mapper.deleteByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public List<Link> selectAll(Link model){
|
||||
return mapper.selectAll(model);
|
||||
}
|
||||
|
||||
public PageInfo<Link> queryPage(Link model, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Link> list = mapper.selectAll(model);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
public Link selectByPrimaryKey(Integer id){
|
||||
return mapper.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public List<Link> queryAll(){
|
||||
return mapper.queryAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List queryByType(Integer linkType) {
|
||||
Link link = new Link();
|
||||
link.setTypeid(linkType);
|
||||
return mapper.selectAll(link);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List queryByTypeTimes(Integer urlType) {
|
||||
return mapper.queryByTypeTimes(urlType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package cn.feast.coding.service.order;
|
||||
|
||||
import cn.feast.coding.model.order.MonthStatis;
|
||||
import cn.feast.coding.model.order.Order;
|
||||
import cn.feast.coding.model.order.OrderStatis;
|
||||
import cn.feast.coding.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface OrderService extends IService<Order> {
|
||||
List<OrderStatis> statisOrderMoney(String year);
|
||||
|
||||
List<OrderStatis> statisOrderCount(String year);
|
||||
|
||||
List<MonthStatis> statisOrderMonthCount(String year, String shop);
|
||||
|
||||
List<MonthStatis> statisOrderMonthMoney(String year, String shop);
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package cn.feast.coding.service.order.impl;
|
||||
|
||||
import cn.feast.coding.mapper.order.OrderMapper;
|
||||
import cn.feast.coding.model.order.MonthStatis;
|
||||
import cn.feast.coding.model.order.Order;
|
||||
import cn.feast.coding.model.order.OrderStatis;
|
||||
import cn.feast.coding.service.order.OrderService;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class OrderServiceImpl implements OrderService {
|
||||
@Autowired
|
||||
private OrderMapper mapper;
|
||||
|
||||
public int insert(Order model){
|
||||
return mapper.insert(model);
|
||||
}
|
||||
|
||||
public int update(Order model){
|
||||
return mapper.update(model);
|
||||
}
|
||||
|
||||
public int deleteByPrimaryKey(Integer id){
|
||||
return mapper.deleteByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public List<Order> selectAll(Order model){
|
||||
return mapper.selectAll(model);
|
||||
}
|
||||
|
||||
public PageInfo<Order> queryPage(Order model, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Order> list = mapper.selectAll(model);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
public Order selectByPrimaryKey(Integer id){
|
||||
return mapper.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public List<Order> queryAll(){
|
||||
return mapper.queryAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderStatis> statisOrderMoney(String year) {
|
||||
return mapper.statisOrderMoney(year);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderStatis> statisOrderCount(String year) {
|
||||
return mapper.statisOrderCount(year);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MonthStatis> statisOrderMonthCount(String year, String shop) {
|
||||
return mapper.statisOrderMonthCount(year, shop);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MonthStatis> statisOrderMonthMoney(String year, String shop) {
|
||||
return mapper.statisOrderMonthMoney(year, shop);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package cn.feast.coding.service.stock;
|
||||
|
||||
import cn.feast.coding.model.stock.StockAnalyse;
|
||||
import cn.feast.coding.service.IService;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface StockAnalyseService extends IService<StockAnalyse> {
|
||||
PageInfo<Map<String, Object>> queryAnalyse(StockAnalyse stockAnalyse, int pageNum, int pageSize);
|
||||
|
||||
PageInfo<Map<String, Object>> queryAnalyse1(StockAnalyse stockAnalyse, int pageNum, int pageSize);
|
||||
|
||||
PageInfo<Map<String, Object>> queryAnalyse2(StockAnalyse stockAnalyse, int pageNum, int pageSize);
|
||||
|
||||
PageInfo<Map<String, Object>> sortByTurn(StockAnalyse stockAnalyse, int pageNum, int pageSize);
|
||||
|
||||
PageInfo<Map<String, Object>> sortByPrice(StockAnalyse stockAnalyse, int pageNum, int pageSize);
|
||||
|
||||
PageInfo<Map<String, Object>> querySentiment(StockAnalyse stockAnalyse, int pageNum, int pageSize);
|
||||
|
||||
PageInfo<Map<String, Object>> queryConcept(StockAnalyse stockAnalyse, int pageNum, int pageSize);
|
||||
|
||||
PageInfo<Map<String, Object>> queryStockConcept(String stockCode, int pageNum, int pageSize);
|
||||
|
||||
List<Map<String, Object>> queryConceptStocks(String conceptName);
|
||||
|
||||
List<Map<String, Object>> getKLineData(String stockCode);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package cn.feast.coding.service.stock;
|
||||
|
||||
import cn.feast.coding.model.stock.Stock;
|
||||
import cn.feast.coding.service.IService;
|
||||
|
||||
public interface StockService extends IService<Stock> {
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
package cn.feast.coding.service.stock.impl;
|
||||
|
||||
import cn.feast.coding.mapper.stock.StockAnalyseMapper;
|
||||
import cn.feast.coding.model.stock.StockAnalyse;
|
||||
import cn.feast.coding.service.stock.StockAnalyseService;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class StockAnalyseServiceImpl implements StockAnalyseService {
|
||||
@Autowired
|
||||
private StockAnalyseMapper mapper;
|
||||
|
||||
public int insert(StockAnalyse model){
|
||||
return mapper.insert(model);
|
||||
}
|
||||
|
||||
public int update(StockAnalyse model){
|
||||
return mapper.update(model);
|
||||
}
|
||||
|
||||
public int deleteByPrimaryKey(Integer id){
|
||||
return mapper.deleteByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public List<StockAnalyse> selectAll(StockAnalyse model){
|
||||
return mapper.selectAll(model);
|
||||
}
|
||||
|
||||
public PageInfo<StockAnalyse> queryPage(StockAnalyse model, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<StockAnalyse> list = mapper.selectAll(model);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
public PageInfo<Map<String, Object>> queryAnalyse(StockAnalyse model, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Map<String, Object>> list = mapper.queryAnalyse(model.getDate());
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<Map<String, Object>> queryAnalyse1(StockAnalyse model, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Map<String, Object>> list = mapper.queryAnalyse1();
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<Map<String, Object>> queryAnalyse2(StockAnalyse model, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Map<String, Object>> list = mapper.queryAnalyse2(model.getDate());
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<Map<String, Object>> sortByTurn(StockAnalyse stockAnalyse, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Map<String, Object>> list = mapper.sortByTurn();
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<Map<String, Object>> sortByPrice(StockAnalyse stockAnalyse, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Map<String, Object>> list = mapper.sortByPrice();
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<Map<String, Object>> querySentiment(StockAnalyse stockAnalyse, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Map<String, Object>> list = mapper.querySentiment();
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<Map<String, Object>> queryConcept(StockAnalyse stockAnalyse, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Map<String, Object>> list = mapper.queryConcept();
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
public StockAnalyse selectByPrimaryKey(Integer id){
|
||||
return mapper.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public List<StockAnalyse> queryAll(){
|
||||
return mapper.queryAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<Map<String, Object>> queryStockConcept(String stockCode, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Map<String, Object>> list = mapper.queryStockConcept(stockCode);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> queryConceptStocks(String conceptName) {
|
||||
return mapper.queryConceptStocks(conceptName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getKLineData(String stockCode) {
|
||||
return mapper.getKLineData(stockCode);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package cn.feast.coding.service.stock.impl;
|
||||
|
||||
import cn.feast.coding.mapper.stock.StockMapper;
|
||||
import cn.feast.coding.model.stock.Stock;
|
||||
import cn.feast.coding.service.stock.StockService;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class StockServiceImpl implements StockService {
|
||||
@Autowired
|
||||
private StockMapper mapper;
|
||||
|
||||
public int insert(Stock model){
|
||||
return mapper.insert(model);
|
||||
}
|
||||
|
||||
public int update(Stock model){
|
||||
return mapper.update(model);
|
||||
}
|
||||
|
||||
public int deleteByPrimaryKey(Integer id){
|
||||
return mapper.deleteByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public List<Stock> selectAll(Stock model){
|
||||
return mapper.selectAll(model);
|
||||
}
|
||||
|
||||
public PageInfo<Stock> queryPage(Stock model, int pageNum, int pageSize) {
|
||||
if (pageSize < 1)
|
||||
pageSize = 10;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<Stock> list = mapper.selectAll(model);
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
public Stock selectByPrimaryKey(Integer id){
|
||||
return mapper.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public List<Stock> queryAll(){
|
||||
return mapper.queryAll();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package cn.feast.coding.service.system;
|
||||
|
||||
import cn.feast.coding.model.system.User;
|
||||
import org.apache.shiro.crypto.RandomNumberGenerator;
|
||||
import org.apache.shiro.crypto.SecureRandomNumberGenerator;
|
||||
import org.apache.shiro.crypto.hash.SimpleHash;
|
||||
import org.apache.shiro.util.ByteSource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PasswordHelper {
|
||||
|
||||
private RandomNumberGenerator randomNumberGenerator = new SecureRandomNumberGenerator();
|
||||
|
||||
private String algorithmName = "md5";
|
||||
private int hashIterations = 2;
|
||||
|
||||
public void setRandomNumberGenerator(RandomNumberGenerator randomNumberGenerator) {
|
||||
this.randomNumberGenerator = randomNumberGenerator;
|
||||
}
|
||||
|
||||
public void setAlgorithmName(String algorithmName) {
|
||||
this.algorithmName = algorithmName;
|
||||
}
|
||||
|
||||
public void setHashIterations(int hashIterations) {
|
||||
this.hashIterations = hashIterations;
|
||||
}
|
||||
|
||||
public void encryptPassword(User user) {
|
||||
|
||||
user.setUserSalt(randomNumberGenerator.nextBytes().toHex());
|
||||
|
||||
String newPassword = new SimpleHash(
|
||||
algorithmName,
|
||||
user.getUserPass(),
|
||||
ByteSource.Util.bytes(user.getUserSalt()),
|
||||
hashIterations).toHex();
|
||||
|
||||
user.setUserPass(newPassword);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
User user = new User();
|
||||
user.setUserName("admin");
|
||||
user.setUserPass("admin");
|
||||
PasswordHelper passwordHelper = new PasswordHelper();
|
||||
passwordHelper.encryptPassword(user);
|
||||
System.out.println(user.getUserPass());
|
||||
System.out.println(user.getUserSalt());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package cn.feast.coding.service.system;
|
||||
|
||||
import cn.feast.coding.mapper.system.PermissionMapper;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.model.system.Permission;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class PermissionService {
|
||||
|
||||
@Autowired
|
||||
private PermissionMapper mapper;
|
||||
|
||||
public Integer save(Permission permission) {
|
||||
return mapper.save(permission);
|
||||
}
|
||||
|
||||
public void update(Permission permission) {
|
||||
mapper.update(permission);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(Permission permission) {
|
||||
return mapper.queryByCount(permission);
|
||||
}
|
||||
|
||||
public List<Permission> queryByList(Page page, Permission permission) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("name", permission.getName());
|
||||
paramsMap.put("type", permission.getType());
|
||||
paramsMap.put("url", permission.getUrl());
|
||||
paramsMap.put("permission", permission.getPermission());
|
||||
paramsMap.put("parentid", permission.getParentid());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<Permission> queryByPermission(Permission permission) {
|
||||
return mapper.queryByPermission(permission);
|
||||
}
|
||||
|
||||
public Permission queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public List<Permission> queryByMenuPermission() {
|
||||
Permission permission = new Permission();
|
||||
permission.setType(1);
|
||||
return mapper.queryByPermission(permission);
|
||||
}
|
||||
|
||||
public List<Permission> queryBySubPermission() {
|
||||
Permission permission = new Permission();
|
||||
permission.setType(2);
|
||||
return mapper.queryByPermission(permission);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package cn.feast.coding.service.system;
|
||||
|
||||
import cn.feast.coding.mapper.system.RolePermissionMapper;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.model.system.RolePermission;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class RolePermissionService {
|
||||
|
||||
@Autowired
|
||||
private RolePermissionMapper mapper;
|
||||
|
||||
public Integer save(RolePermission rolePermission) {
|
||||
return mapper.save(rolePermission);
|
||||
}
|
||||
|
||||
public void update(RolePermission rolePermission) {
|
||||
mapper.update(rolePermission);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(RolePermission rolePermission) {
|
||||
return mapper.queryByCount(rolePermission);
|
||||
}
|
||||
|
||||
public List<RolePermission> queryByList(Page page, RolePermission rolePermission) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("roleid", rolePermission.getRoleid());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<RolePermission> queryByRolePermission(RolePermission rolePermission) {
|
||||
return mapper.queryByRolePermission(rolePermission);
|
||||
}
|
||||
|
||||
public RolePermission queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public void deleteByRole(Integer roleid) {
|
||||
mapper.deleteByRole(roleid);
|
||||
}
|
||||
|
||||
public List<RolePermission> queryByRole(Integer roleid) {
|
||||
return mapper.queryByRole(roleid);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package cn.feast.coding.service.system;
|
||||
|
||||
import cn.feast.coding.mapper.system.RoleMapper;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.model.system.Role;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class RoleService {
|
||||
|
||||
@Autowired
|
||||
private RoleMapper mapper;
|
||||
|
||||
public Integer save(Role role) {
|
||||
return mapper.save(role);
|
||||
}
|
||||
|
||||
public void update(Role role) {
|
||||
mapper.update(role);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(Role role) {
|
||||
return mapper.queryByCount(role);
|
||||
}
|
||||
|
||||
public List<Role> queryByList(Page page, Role role) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("role", role.getRole());
|
||||
paramsMap.put("description", role.getDescription());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<Role> queryByRole(Role role) {
|
||||
return mapper.queryByRole(role);
|
||||
}
|
||||
|
||||
public Role queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public List<Role> queryAll() {
|
||||
return mapper.queryByRole(new Role());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package cn.feast.coding.service.system;
|
||||
|
||||
import cn.feast.coding.mapper.system.UserRoleMapper;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.model.system.UserRole;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class UserRoleService {
|
||||
|
||||
@Autowired
|
||||
private UserRoleMapper mapper;
|
||||
|
||||
public Integer save(UserRole userRole) {
|
||||
return mapper.save(userRole);
|
||||
}
|
||||
|
||||
public void update(UserRole userRole) {
|
||||
mapper.update(userRole);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(UserRole userRole) {
|
||||
return mapper.queryByCount(userRole);
|
||||
}
|
||||
|
||||
public List<UserRole> queryByList(Page page, UserRole userRole) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("userid", userRole.getUserid());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<UserRole> queryByUserRole(UserRole userRole) {
|
||||
return mapper.queryByUserRole(userRole);
|
||||
}
|
||||
|
||||
public UserRole queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public void deleteByUser(Integer userid) {
|
||||
mapper.deleteByUser(userid);
|
||||
}
|
||||
|
||||
public List<UserRole> queryByUser(Integer userid) {
|
||||
return mapper.queryByUser(userid);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package cn.feast.coding.service.system;
|
||||
|
||||
import cn.feast.coding.mapper.system.UserMapper;
|
||||
import cn.feast.coding.model.generator.Page;
|
||||
import cn.feast.coding.model.system.Permission;
|
||||
import cn.feast.coding.model.system.Role;
|
||||
import cn.feast.coding.model.system.User;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Created By FeastCoding.
|
||||
*/
|
||||
@Service
|
||||
public class UserService {
|
||||
|
||||
@Autowired
|
||||
private UserMapper mapper;
|
||||
|
||||
public Integer save(User user) {
|
||||
return mapper.save(user);
|
||||
}
|
||||
|
||||
public void update(User user) {
|
||||
mapper.update(user);
|
||||
}
|
||||
|
||||
public void deleteById(Integer id) {
|
||||
mapper.deleteById(id);
|
||||
}
|
||||
|
||||
public int queryByCount(User user) {
|
||||
return mapper.queryByCount(user);
|
||||
}
|
||||
|
||||
public List<User> queryByList(Page page, User user) {
|
||||
String pageQueryCondition = " limit " + page.getStart() + " , " + page.getMaxRows();
|
||||
Map<String, Object> paramsMap = new HashMap<String, Object>();
|
||||
paramsMap.put("userName", user.getUserName());
|
||||
paramsMap.put("userPass", user.getUserPass());
|
||||
paramsMap.put("userSalt", user.getUserSalt());
|
||||
paramsMap.put("userReal", user.getUserReal());
|
||||
paramsMap.put("userGender", user.getUserGender());
|
||||
paramsMap.put("userPhone", user.getUserPhone());
|
||||
paramsMap.put("userEmail", user.getUserEmail());
|
||||
paramsMap.put("pageQueryCondition", pageQueryCondition);
|
||||
return mapper.queryByList(paramsMap);
|
||||
}
|
||||
|
||||
public List<User> queryByUser(User user) {
|
||||
return mapper.queryByUser(user);
|
||||
}
|
||||
|
||||
public User queryById(Integer id) {
|
||||
return mapper.queryById(id);
|
||||
}
|
||||
|
||||
public User findByUsername(String username) {
|
||||
User user = mapper.findByUsername(username);
|
||||
return user;
|
||||
}
|
||||
|
||||
public Set<String> findRoles(String username) {
|
||||
Set<String> roles = new HashSet<String>();
|
||||
List<Role> roleList = mapper.findRoles(username);
|
||||
for (Role r : roleList) {
|
||||
roles.add(r.getRole());
|
||||
}
|
||||
return roles;
|
||||
}
|
||||
|
||||
public Set<String> findPermissions(String username) {
|
||||
Set<String> permissions = new HashSet<String>();
|
||||
List<Permission> permissionList = mapper.findPermissions(username);
|
||||
for (Permission p : permissionList) {
|
||||
permissions.add(p.getPermission());
|
||||
}
|
||||
return permissions;
|
||||
}
|
||||
|
||||
public boolean checkName(String userName) {
|
||||
User user = new User();
|
||||
user.setUserName(userName);
|
||||
List<User> list = mapper.queryByUser(user);
|
||||
if(list.size() > 0){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
10
op-service/src/main/resources/spring-service.xml
Normal file
10
op-service/src/main/resources/spring-service.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:context="http://www.springframework.org/schema/context"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
|
||||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">
|
||||
|
||||
<context:component-scan base-package="cn.feast.coding"/>
|
||||
|
||||
</beans>
|
||||
Reference in New Issue
Block a user