From 95ac5f0ee3a01bd42893c12eac305f17d586757d Mon Sep 17 00:00:00 2001 From: wynne1005 Date: Mon, 17 May 2021 19:09:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(screen):=20jdbc=E6=8B=BC=E6=8E=A5=E5=88=9D?= =?UTF-8?q?=E6=AD=A5=E5=AE=8C=E6=88=90=20=E5=BE=85=E6=95=B4=E7=90=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit jdbc拼接初步完成 待整理代码 --- .../i3plus/pojo/base/enumutil/ScreenEnumUtil.java | 47 ++++++++++++++ modules/i3plus-pojo-screen/pom.xml | 5 +- .../estsh/i3plus/pojo/screen/bean/ScrAction.java | 6 +- .../i3plus/pojo/screen/bean/ScrModelField.java | 9 +-- .../pojo/screen/bean/ScrModelFieldIndex.java | 10 +++ .../pojo/screen/model/ScrDataObjectIndexModel.java | 4 +- ...elDataObjectModel.java => ScrExecuteModel.java} | 29 +++++++-- .../i3plus/pojo/screen/model/ScrRequestModel.java | 71 ++++++++++++++++++++++ .../pojo/screen/model/ScrRowColumnModel.java | 4 +- .../i3plus/pojo/screen/model/ScrSqlDdlModel.java | 2 +- .../i3plus/pojo/screen/model/ScrSqlDmlModel.java | 9 ++- 11 files changed, 178 insertions(+), 18 deletions(-) rename modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/{ScrModelDataObjectModel.java => ScrExecuteModel.java} (63%) create mode 100644 modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrRequestModel.java diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ScreenEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ScreenEnumUtil.java index c4f794e..2a1a32a 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ScreenEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ScreenEnumUtil.java @@ -105,6 +105,43 @@ public class ScreenEnumUtil { } } + public enum ACTION_TYPE { + FRONT(10, "FRONT", "前端"), + BACKEND(20, "BACKEND", "后端"); + + private Integer value; + private String code; + private String description; + + ACTION_TYPE(Integer value, String code, String description) { + this.value = value; + this.code = code; + this.description = description; + } + + public Integer getValue() { + return value; + } + + public String getCode() { + return code; + } + + public String getDescription() { + return description; + } + + public static String codeOfDescription(String code) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].code.equals(code)) { + tmp = values()[i].description; + } + } + return tmp; + } + } + public enum NULLABLE { YES(10, "YES", "允许为空"), NO(20, "NO", "不允许为空"); @@ -351,6 +388,16 @@ public class ScreenEnumUtil { return tmp; } + public static ACTION codeOfEnum(String code) { + ACTION tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].code.equalsIgnoreCase(code)) { + tmp = values()[i]; + } + } + return tmp; + } + public static String codeOfDescription(String code) { String tmp = null; for (int i = 0; i < values().length; i++) { diff --git a/modules/i3plus-pojo-screen/pom.xml b/modules/i3plus-pojo-screen/pom.xml index 79bae9c..b926256 100644 --- a/modules/i3plus-pojo-screen/pom.xml +++ b/modules/i3plus-pojo-screen/pom.xml @@ -17,7 +17,10 @@ i3plus.pojo i3plus-pojo-base - + + org.springframework + spring-web + diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrAction.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrAction.java index a7d22c0..25e3878 100644 --- a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrAction.java +++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrAction.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.pojo.screen.bean; import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.ScreenEnumUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -13,6 +14,8 @@ import lombok.NoArgsConstructor; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; import javax.persistence.Table; import java.io.Serializable; @@ -42,6 +45,7 @@ public class ScrAction extends BaseBean implements Serializable { @Column(name = "ACTION_TYPE") @ApiModelProperty("动作类型") - private String actionType; + @Enumerated(EnumType.STRING) + private ScreenEnumUtil.ACTION_TYPE actionType; } \ No newline at end of file diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelField.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelField.java index f98312b..67b3e8f 100644 --- a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelField.java +++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelField.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.pojo.screen.bean; import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ScreenEnumUtil; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -15,6 +16,7 @@ import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.Table; +import javax.persistence.Transient; import java.io.Serializable; /** @@ -89,10 +91,6 @@ public class ScrModelField extends BaseBean implements Serializable { @ApiModelProperty("是否是虚拟的") private Boolean isVirtual; - @Column(name = "VIRTUAL_SPEL") - @ApiModelProperty("SPEL表达式虚拟属性") - private String virtualSpel; - @Column(name = "MODEL_FIELD_DATASOURCE") @ApiModelProperty("字段数据来源") @Enumerated(EnumType.STRING) @@ -106,5 +104,8 @@ public class ScrModelField extends BaseBean implements Serializable { @ApiModelProperty("数据列权限") private String dataRowAuth; + @Transient + private Object fieldValue; + } diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelFieldIndex.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelFieldIndex.java index 0bea2b4..3e4130e 100644 --- a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelFieldIndex.java +++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelFieldIndex.java @@ -55,4 +55,14 @@ public class ScrModelFieldIndex extends BaseBean implements Serializable { @ApiModelProperty("是否是用户创建的") @Enumerated(EnumType.STRING) private CommonEnumUtil.TRUE_OR_FALSE isUserCreated; + + @Column(name = "PRIMARY_KEY_SWITCH") + @ApiModelProperty("model主键唯一检查开关") + @Enumerated(EnumType.STRING) + private CommonEnumUtil.TRUE_OR_FALSE primaryKeySwitch; + + @Column(name = "UNIQUE_KEY_SWITCH") + @ApiModelProperty("model唯一键唯一检查开关") + @Enumerated(EnumType.STRING) + private CommonEnumUtil.TRUE_OR_FALSE uniqueKeySwitch; } diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrDataObjectIndexModel.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrDataObjectIndexModel.java index a301394..7b9f2b7 100644 --- a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrDataObjectIndexModel.java +++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrDataObjectIndexModel.java @@ -6,6 +6,7 @@ import cn.estsh.i3plus.pojo.screen.bean.ScrDatasource; import lombok.Builder; import lombok.Data; +import java.io.Serializable; import java.util.List; /** @@ -15,7 +16,8 @@ import java.util.List; */ @Data @Builder -public class ScrDataObjectIndexModel { +public class ScrDataObjectIndexModel implements Serializable { + private static final long serialVersionUID = -5784177094937410041L; private ScrDatasource datasource; diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrModelDataObjectModel.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrExecuteModel.java similarity index 63% rename from modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrModelDataObjectModel.java rename to modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrExecuteModel.java index 089c5e1..567eb5e 100644 --- a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrModelDataObjectModel.java +++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrExecuteModel.java @@ -1,6 +1,8 @@ package cn.estsh.i3plus.pojo.screen.model; +import cn.estsh.i3plus.pojo.screen.bean.ScrAction; import cn.estsh.i3plus.pojo.screen.bean.ScrDataObject; +import cn.estsh.i3plus.pojo.screen.bean.ScrDataObjectIndex; import cn.estsh.i3plus.pojo.screen.bean.ScrDatasource; import cn.estsh.i3plus.pojo.screen.bean.ScrModel; import cn.estsh.i3plus.pojo.screen.bean.ScrModelField; @@ -11,6 +13,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.List; @@ -24,25 +27,39 @@ import java.util.List; @Builder @AllArgsConstructor @ApiModel("model,modelFields与数据对象,数据源的关系") -public class ScrModelDataObjectModel implements Serializable { +public class ScrExecuteModel implements Serializable { private static final long serialVersionUID = -7305897999888994870L; - @ApiModelProperty("Model") + @ApiModelProperty("动作") + private ScrAction action; + + @ApiModelProperty("模型") private ScrModel model; @ApiModelProperty("数据源") private ScrDatasource datasource; + @ApiModelProperty("model对应的数据对象") + private List dataObjects; + + @ApiModelProperty("model对应的数据对象索引") + private List dataObjectIndices; + @ApiModelProperty("model字段") private List modelFields; - @ApiModelProperty("model字段约束") - private List modelFieldConstraints; + @ApiModelProperty("model字段索引") + private List modelFieldIndices; @ApiModelProperty("model虚拟字段") private List modelFieldVirtuals; - @ApiModelProperty("model对应的数据对象") - private List dataObjects; + private List insertCondition; + + private List queryCondition; + + private List updateCondition; + + private List deleteCondition; } diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrRequestModel.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrRequestModel.java new file mode 100644 index 0000000..4fe5aaa --- /dev/null +++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrRequestModel.java @@ -0,0 +1,71 @@ +package cn.estsh.i3plus.pojo.screen.model; + +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.screen.bean.ScrModelField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import java.io.Serializable; +import java.util.List; + +/** + * @author Wynne.Lu + * @date 2021/5/14 09:58 + * @desc + */ +@Data +@ApiModel("请求model") +public class ScrRequestModel implements Serializable { + private static final long serialVersionUID = -4119744678742689856L; + + @ApiModelProperty("工厂代码") + private String organizeCode; + + @ApiModelProperty("用户名") + private String userName; + + @ApiModelProperty("页面代码") + private String screenCode; + + @ApiModelProperty("容器代码") + private String panelCode; + + @ApiModelProperty("模型") + private String modelCode; + + @ApiModelProperty("动作") + private String actionCode; + + @ApiModelProperty("分页") + private Pager pager; + + @ApiModelProperty("下载文件Id") + private Long downloadFileId; + + @ApiModelProperty("跳转参数") + private String redirectUrl; + + @ApiModelProperty("跳转参数") + private String enumName; + + @ApiModelProperty("目标系统") + private CommonEnumUtil.SOFT_TYPE targetSystem; + + @ApiModelProperty("包名") + private String packageName; + + @ApiModelProperty("类名") + private String className; + + @ApiModelProperty("方法名") + private String methodName; + + @ApiModelProperty("上传文件") + private MultipartFile file; + + @ApiModelProperty("模型字段") + private List modelFields; +} diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrRowColumnModel.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrRowColumnModel.java index 03bebb0..12f782b 100644 --- a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrRowColumnModel.java +++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrRowColumnModel.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.io.Serializable; import java.util.List; /** @@ -15,7 +16,8 @@ import java.util.List; */ @Data @ApiModel("行列Model") -public class ScrRowColumnModel { +public class ScrRowColumnModel implements Serializable { + private static final long serialVersionUID = 7450630220924238356L; @ApiModelProperty("行") private ScrLayoutRow row; diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrSqlDdlModel.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrSqlDdlModel.java index c7dd9bf..bce824f 100644 --- a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrSqlDdlModel.java +++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrSqlDdlModel.java @@ -14,8 +14,8 @@ import java.util.List; **/ @Data public class ScrSqlDdlModel implements Serializable { - private static final long serialVersionUID = -1294648161172538340L; + private String tableCat; private String tableSchem; private String tableName; diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrSqlDmlModel.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrSqlDmlModel.java index 50fa59d..85c65cf 100644 --- a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrSqlDmlModel.java +++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/ScrSqlDmlModel.java @@ -35,6 +35,9 @@ public class ScrSqlDmlModel implements Serializable { @ApiModelProperty("表名或视图名") private String table; + @ApiModelProperty("字段") + private List fields; + @ApiModelProperty("查询参数") private Map searchParams; @@ -59,8 +62,8 @@ public class ScrSqlDmlModel implements Serializable { @ApiModelProperty("数据源") private ScrDatasource datasource; - @Deprecated - @ApiModelProperty("model与数据对象的model") - private ScrModelDataObjectModel modelDataObjectModel; + @ApiModelProperty("主键") + private Map primaryKeys; + }