From 87684fff2797e1b52ec4a6166156c9f751bcde78 Mon Sep 17 00:00:00 2001
From: wanggeng888 <450292408@qq.com>
Date: Thu, 11 Mar 2021 16:47:30 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=A8=A1=E6=9D=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 16 +
.../controller/GenerateController.java | 27 +-
.../factory/controller/MainController.java | 3 +-
.../factory/ButtonTableCellFactory.java | 36 +-
.../code/factory/service/FieldService.java | 82 +++-
.../code/factory/service/GenerateService.java | 354 +++++++++++++-
.../wgink/code/factory/utils/DateUtil.java | 448 ++++++++++++++++++
.../ink/wgink/code/factory/vos/FieldVO.java | 6 +-
src/main/resources/route/generate.fxml | 37 +-
.../template/controller/api-controller.ftl | 113 +++++
.../template/controller/app-controller.ftl | 121 +++++
.../controller/resource-controller.ftl | 121 +++++
src/main/resources/template/dao/i-dao.ftl | 120 +++++
.../template/mapper/mysql-mapper.ftl | 327 +++++++++++++
src/main/resources/template/pojo/bo.ftl | 72 +++
src/main/resources/template/pojo/dto.ftl | 74 +++
src/main/resources/template/pojo/po.ftl | 73 +++
src/main/resources/template/pojo/vo.ftl | 99 ++++
.../resources/template/service/i-service.ftl | 191 ++++++++
.../template/service/service-impl.ftl | 171 +++++++
20 files changed, 2442 insertions(+), 49 deletions(-)
create mode 100644 src/main/java/ink/wgink/code/factory/utils/DateUtil.java
create mode 100644 src/main/resources/template/controller/api-controller.ftl
create mode 100644 src/main/resources/template/controller/app-controller.ftl
create mode 100644 src/main/resources/template/controller/resource-controller.ftl
create mode 100644 src/main/resources/template/dao/i-dao.ftl
create mode 100644 src/main/resources/template/mapper/mysql-mapper.ftl
create mode 100644 src/main/resources/template/pojo/bo.ftl
create mode 100644 src/main/resources/template/pojo/dto.ftl
create mode 100644 src/main/resources/template/pojo/po.ftl
create mode 100644 src/main/resources/template/pojo/vo.ftl
create mode 100644 src/main/resources/template/service/i-service.ftl
create mode 100644 src/main/resources/template/service/service-impl.ftl
diff --git a/pom.xml b/pom.xml
index 5d4826a..237fcf3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,6 +40,22 @@
+
+
+ joda-time
+ joda-time
+ 2.9.4
+
+
+
+
+
+ org.freemarker
+ freemarker
+ 2.3.31
+
+
+
org.slf4j
slf4j-api
diff --git a/src/main/java/ink/wgink/code/factory/controller/GenerateController.java b/src/main/java/ink/wgink/code/factory/controller/GenerateController.java
index 968a0ff..a077b09 100644
--- a/src/main/java/ink/wgink/code/factory/controller/GenerateController.java
+++ b/src/main/java/ink/wgink/code/factory/controller/GenerateController.java
@@ -1,8 +1,9 @@
package ink.wgink.code.factory.controller;
+import freemarker.template.TemplateException;
+import ink.wgink.code.factory.factory.ButtonTableCellFactory;
import ink.wgink.code.factory.factory.CheckBoxTableCellFactory;
import ink.wgink.code.factory.factory.ChoiceBoxTableCellFactory;
-import ink.wgink.code.factory.factory.RadioButtonTableCellFactory;
import ink.wgink.code.factory.service.FieldService;
import ink.wgink.code.factory.service.GenerateService;
import ink.wgink.code.factory.utils.MsgUtil;
@@ -20,6 +21,8 @@ import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import org.apache.commons.lang3.StringUtils;
+import java.io.IOException;
+import java.net.URISyntaxException;
import java.net.URL;
import java.util.ResourceBundle;
@@ -70,6 +73,7 @@ public class GenerateController implements Initializable {
@Override
public void initialize(URL location, ResourceBundle resources) {
+ fieldService = new FieldService();
initTableView();
}
@@ -87,18 +91,20 @@ public class GenerateController implements Initializable {
tableColumns.get(9).setCellValueFactory(new CheckBoxTableCellFactory("isListShow"));
tableColumns.get(10).setCellValueFactory(new CheckBoxTableCellFactory("isNotNull"));
tableColumns.get(11).setCellValueFactory(new ChoiceBoxTableCellFactory("formFieldType"));
+ tableColumns.get(12).setCellValueFactory(new ButtonTableCellFactory("option", fieldService));
}
- public void setTableVO(TableVO tableVO) {
+ public void setTableVO(TableVO tableVO) throws IOException, URISyntaxException {
this.tablePrefixTextField.setText(tableVO.getTableName().split("\\_")[0] + "_");
this.tableVO = tableVO;
- fieldService = new FieldService(fieldTableView, tableVO.getTableName());
- generateService = new GenerateService(fieldTableView);
- fieldService.showField();
+ this.generateService = new GenerateService(fieldTableView);
+ this.fieldService.setTableView(fieldTableView);
+ this.fieldService.setTableName(tableVO.getTableName());
+ this.fieldService.showField();
}
@FXML
- public void onGenerateClick(ActionEvent actionEvent) {
+ public void onGenerateClick(ActionEvent actionEvent) throws IOException, TemplateException {
ObservableList items = fieldTableView.getItems();
for (FieldVO fieldVO : items) {
if (StringUtils.isBlank(fieldVO.getFormFieldValue())) {
@@ -108,7 +114,7 @@ public class GenerateController implements Initializable {
}
GenerateVO generateVO = new GenerateVO();
generateVO.setHasApi(apiCheckBox.isSelected());
- generateVO.setHasApi(appCheckBox.isSelected());
+ generateVO.setHasApp(appCheckBox.isSelected());
generateVO.setHasResource(resourceCheckBox.isSelected());
generateVO.setHasIService(iServiceCheckBox.isSelected());
generateVO.setHasServiceImpl(serviceImplCheckBox.isSelected());
@@ -120,7 +126,12 @@ public class GenerateController implements Initializable {
generateVO.setTablePrefix(tablePrefixTextField.getText());
generateVO.setContext(contextTextField.getText());
generateVO.setCodePackage(packageTextField.getText());
- generateService.generateCode(generateVO);
+ generateService.generateCode(tableVO, generateVO);
+ }
+
+ @FXML
+ public void onRefreshClick(ActionEvent actionEvent) {
+ this.fieldService.showField();
}
}
diff --git a/src/main/java/ink/wgink/code/factory/controller/MainController.java b/src/main/java/ink/wgink/code/factory/controller/MainController.java
index f010de7..ec5969f 100644
--- a/src/main/java/ink/wgink/code/factory/controller/MainController.java
+++ b/src/main/java/ink/wgink/code/factory/controller/MainController.java
@@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import java.io.IOException;
+import java.net.URISyntaxException;
import java.net.URL;
import java.util.ResourceBundle;
@@ -102,7 +103,7 @@ public class MainController implements Initializable {
}
@FXML
- public void onTableRowClick(MouseEvent event) throws IOException {
+ public void onTableRowClick(MouseEvent event) throws IOException, URISyntaxException {
if (event.getClickCount() == 2) {
TableVO tableVO = (TableVO) this.dbTableTableView.getSelectionModel().getSelectedItem();
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/route/generate.fxml"));
diff --git a/src/main/java/ink/wgink/code/factory/factory/ButtonTableCellFactory.java b/src/main/java/ink/wgink/code/factory/factory/ButtonTableCellFactory.java
index d7f696d..5efdd23 100644
--- a/src/main/java/ink/wgink/code/factory/factory/ButtonTableCellFactory.java
+++ b/src/main/java/ink/wgink/code/factory/factory/ButtonTableCellFactory.java
@@ -1,5 +1,21 @@
package ink.wgink.code.factory.factory;
+import ink.wgink.code.factory.service.FieldService;
+import ink.wgink.code.factory.vos.FieldVO;
+import javafx.beans.property.ReadOnlyObjectWrapper;
+import javafx.beans.value.ObservableValue;
+import javafx.collections.ObservableList;
+import javafx.concurrent.Service;
+import javafx.concurrent.Task;
+import javafx.scene.control.Button;
+import javafx.scene.control.CheckBox;
+import javafx.scene.control.TableColumn;
+import javafx.scene.control.TableView;
+import javafx.util.Callback;
+import org.apache.commons.lang3.StringUtils;
+
+import java.lang.reflect.Field;
+
/**
* When you feel like quitting. Think about why you started
* 当你想要放弃的时候,想想当初你为何开始
@@ -10,5 +26,23 @@ package ink.wgink.code.factory.factory;
* @Date: 2021/3/8 22:07
* @Version: 1.0
**/
-public class ButtonTableCellFactory {
+public class ButtonTableCellFactory implements Callback, ObservableValue