From 5b0d4f8d37083f3c974eab4b4affa01259deb9c6 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Mon, 8 Apr 2019 16:23:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=83=E7=B4=A0=E5=A2=9E=E5=88=A0=E6=94=B9?= =?UTF-8?q?=E6=9F=A5=20=20DAO=E5=B1=82=E6=8E=A5=E5=8F=A3=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/dynamic/DynamicEntity.java | 39 +++++++---- .../pojo/base/enumutil/BlockFormEnumUtil.java | 80 ++++++++++++++++++++++ .../estsh/i3plus/pojo/model/form/ElementModel.java | 3 + .../i3plus/pojo/model/form/SqlColumnModel.java | 4 ++ .../i3plus/pojo/model/form/SqlScriptModel.java | 37 ++++++++++ .../pojo/model/report/BeanBrPojoAttrModel.java | 2 +- 6 files changed, 152 insertions(+), 13 deletions(-) create mode 100644 modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/SqlScriptModel.java diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/dynamic/DynamicEntity.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/dynamic/DynamicEntity.java index ac21b0b..3a5b93e 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/dynamic/DynamicEntity.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/dynamic/DynamicEntity.java @@ -1,8 +1,11 @@ package cn.estsh.i3plus.pojo.base.dynamic; import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import com.google.common.base.CaseFormat; import lombok.Getter; import lombok.Setter; +import lombok.val; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -239,8 +242,18 @@ public class DynamicEntity extends BaseBean implements Serializable { return result; } + + public void setDynProperty(Map params) { + if (params != null && params.size() > 0){ + params.forEach((k,v)->{{ + setDynProperty(k,v); + }}); + } + } + /** * 根据属性名,设置属性值 + * //TODO wei.peng 设置为空时会无效 * @param propName * @param val * @throws InvocationTargetException @@ -248,19 +261,21 @@ public class DynamicEntity extends BaseBean implements Serializable { * @throws NoSuchMethodException */ public void setDynProperty(String propName,Object val){ - //初始化set方法 - String setMethodName = "set" + propName.substring(0, 1).toUpperCase() + propName.substring(1); + if(StringUtils.isNotBlank(propName) && val != null){ + //初始化set方法 + String setMethodName = "set" + CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, propName); //获取方法 - Method setMethod = null; - try { - setMethod = this.getClass().getDeclaredMethod(setMethodName, new Class[]{val.getClass()}); - setMethod.invoke(this, val); - } catch (NoSuchMethodException e) { - LOGGER.error("没有方法:{}",setMethodName,e); - } catch (IllegalAccessException e) { - LOGGER.error("入参出错:{}:{}",val,val.getClass(),e); - } catch (InvocationTargetException e) { - LOGGER.error("方法返回出错:{}",setMethodName,e); + Method setMethod = null; + try { + setMethod = this.getClass().getDeclaredMethod(setMethodName, new Class[]{val.getClass()}); + setMethod.invoke(this, val); + } catch (NoSuchMethodException e) { + LOGGER.error("没有方法:{}",setMethodName,e); + } catch (IllegalAccessException e) { + LOGGER.error("入参出错:{}:{}",val,val.getClass(),e); + } catch (InvocationTargetException e) { + LOGGER.error("方法返回出错:{}",setMethodName,e); + } } } diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java index 11363f8..52507e8 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java @@ -334,6 +334,86 @@ public class BlockFormEnumUtil { return tmp; } } + /** + * 元素显示状态信息 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum ELEMENT_SHOW_STATUS { + ON(1, "ON", "开启"), + OFF(2, "OFF", "关闭"); + + private int value; + private String code; + private String description; + + private ELEMENT_SHOW_STATUS(int value, String code, String description) { + this.value = value; + this.code = code; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getCode() { + return code; + } + + public String getDescription() { + return description; + } + + public static String valueOfCode(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].code; + } + } + return tmp; + } + + public static int codeOfValue(String code) { + int tmp = 1; + for (int i = 0; i < values().length; i++) { + if (values()[i].code.equals(code)) { + tmp = values()[i].value; + } + } + return tmp; + } + + public static String valueOfDescription(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + + public static ELEMENT_SHOW_STATUS valueOf(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + return values()[i]; + } + } + return null; + } + + 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; + } + } /** * 元素新增信息 diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/ElementModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/ElementModel.java index b87214e..ec48bf9 100644 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/ElementModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/ElementModel.java @@ -31,6 +31,9 @@ public class ElementModel{ @ApiParam(value = "元素基础虚拟属性信息") private List virtualList; + @ApiParam(value = "动态对象Class") + private Class dynClass; + @ApiParam(value = "数据对象信息") private BfDataObject dataObject; diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/SqlColumnModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/SqlColumnModel.java index 9c50dec..0ea73ba 100644 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/SqlColumnModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/SqlColumnModel.java @@ -52,6 +52,10 @@ public class SqlColumnModel { @ApiParam(value = "枚举:BlockFormEnumUtil.PROPERTY_TYPE") private Integer columnClassType; + @ApiParam(value = "属性值") + private Object value; + @ApiParam(value = "属性默认值") + private Object defaultValue; } diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/SqlScriptModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/SqlScriptModel.java new file mode 100644 index 0000000..90d9313 --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/form/SqlScriptModel.java @@ -0,0 +1,37 @@ +package cn.estsh.i3plus.pojo.model.form; + +import cn.estsh.i3plus.pojo.base.dynamic.DynamicEntity; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2019-04-03 17:30 + * @Modify: + **/ +@Data +public class SqlScriptModel { + + @ApiParam(value = "对象元素ID") + @JsonSerialize(using = ToStringSerializer.class) + private Long elementId; + + @ApiParam(value = "元素内容") + private String elementContent ; + + @ApiParam(value = "动态对象Class") + private Class dynClass; + + @ApiParam(value = "动态对象") + private DynamicEntity dynObj; + + @ApiParam(value = "封装数据", example = "-1") + private List params; + +} diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/report/BeanBrPojoAttrModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/report/BeanBrPojoAttrModel.java index 49e1cc3..83aeee0 100644 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/report/BeanBrPojoAttrModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/report/BeanBrPojoAttrModel.java @@ -10,7 +10,7 @@ import lombok.Data; import java.util.List; /** - * @Description ://TODO 提交注意修改 临时使用 带改动 + * @Description :// * @Reference : * @Author : Adair Peng * @CreateDate : 2019-01-25 18:19