This commit is contained in:
王鹏
2025-08-14 14:32:37 +08:00
commit 48822a3444
925 changed files with 352599 additions and 0 deletions

31
op-service/pom.xml Normal file
View 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>

View File

@@ -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;
}
}

View File

@@ -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);
}

View File

@@ -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();
}
}

View File

@@ -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) {
}
}

View File

@@ -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) {
}
}

View File

@@ -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) {
}
}

View File

@@ -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) {
}
}

View File

@@ -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;
}
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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();
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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> {
}

View File

@@ -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);
}
}

View File

@@ -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();
}
}

View File

@@ -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());
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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());
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}
}

View 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>