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