From 8d17cfcec00c1f80142ed40c67a01cd1eaeab3ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Tue, 11 Aug 2020 11:43:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=94=A8=E6=88=B7=E5=AE=9A=E5=88=B6?= =?UTF-8?q?=E5=8C=96=E9=85=8D=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/ImppEnumUtil.java | 45 ++++++++++++++ .../pojo/platform/bean/SysUserCustomizeConfig.java | 69 ++++++++++++++++++++++ .../SysUserCustomizeConfigRepository.java | 14 +++++ .../i3plus/pojo/platform/sqlpack/CoreHqlPack.java | 20 +++++++ 4 files changed, 148 insertions(+) create mode 100644 modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUserCustomizeConfig.java create mode 100644 modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/repository/SysUserCustomizeConfigRepository.java diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ImppEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ImppEnumUtil.java index f6eb1ae..76f1b9b 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ImppEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ImppEnumUtil.java @@ -1331,4 +1331,49 @@ public class ImppEnumUtil { return null; } } + + /** + * 用户定制化配置类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum USER_CUSTOMIZE_CONFIG_TYPE { + WEB_TABLE_SHOW_COL(10, "前端表格显示列"); + + private int value; + private String description; + + USER_CUSTOMIZE_CONFIG_TYPE(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOf(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 Integer descriptionOfValue(String desc) { + Integer tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].description.equals(desc)) { + tmp = values()[i].value; + } + } + return tmp; + } + } } diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUserCustomizeConfig.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUserCustomizeConfig.java new file mode 100644 index 0000000..68a5917 --- /dev/null +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUserCustomizeConfig.java @@ -0,0 +1,69 @@ +package cn.estsh.i3plus.pojo.platform.bean; + +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.StringUtils; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2020-08-10 15:13 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="SYS_USER_CUSTOMIZE_CONFIG") +@ApiModel(value="用户定制化配置",description = "用户定制化配置") +public class SysUserCustomizeConfig extends BaseBean { + + private static final long serialVersionUID = -3757585990009089233L; + + @Column(name="USER_ID") + @ApiModelProperty(value ="用户id" , example = "-1") + @JsonSerialize(using = ToStringSerializer.class) + private Long userId; + + @Column(name="CUSTOMIZE_CONFIG_TYPE") + @ApiModelProperty(value ="定制化配置类型" , example = "-1") + @AnnoOutputColumn(refClass = ImppEnumUtil.USER_CUSTOMIZE_CONFIG_TYPE.class) + private Integer customizeConfigType; + + public String getCustomizeConfigTypeTxt() { + return customizeConfigType == null ? "无" : ImppEnumUtil.USER_CUSTOMIZE_CONFIG_TYPE.valueOf(customizeConfigType); + } + + @Column(name="CONFIG_KEY") + @ApiModelProperty(value ="定制化配置类型" , example = "-1") + private String configKey; + + @Column(name="CONFIG_VALUE") + @ApiModelProperty(value ="配置值" , example = "-1") + private String configValue; + + public String getRedisKey(String keyPrefix) { + String redisKey = this.getUserId() + ":" + this.getCustomizeConfigType() + ":" + this.getConfigKey(); + if (StringUtils.isNotBlank(keyPrefix)) { + return keyPrefix + ":" + redisKey; + } else { + return redisKey; + } + } + +} diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/repository/SysUserCustomizeConfigRepository.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/repository/SysUserCustomizeConfigRepository.java new file mode 100644 index 0000000..5093383 --- /dev/null +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/repository/SysUserCustomizeConfigRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.platform.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.platform.bean.SysUserCustomizeConfig; + +/** + * @Description : 用户定制化配置 + * @Reference : + * @Author : yunhao + * @CreateDate : 2020-08-10 15:34 + * @Modify: + **/ +public interface SysUserCustomizeConfigRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/sqlpack/CoreHqlPack.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/sqlpack/CoreHqlPack.java index e00e6e9..0da42ea 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/sqlpack/CoreHqlPack.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/sqlpack/CoreHqlPack.java @@ -1149,4 +1149,24 @@ public class CoreHqlPack { return ddlPackBean; } + public static DdlPackBean packHqlSysUserCustomizeConfigOnly(SysUserCustomizeConfig sysUserCustomizeConfig){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(sysUserCustomizeConfig); + + DdlPreparedPack.getNumNOEqualPack(sysUserCustomizeConfig.getId(),"id",ddlPackBean); + DdlPreparedPack.getNumEqualPack(sysUserCustomizeConfig.getUserId(),"userId",ddlPackBean); + DdlPreparedPack.getStringEqualPack(sysUserCustomizeConfig.getConfigKey(),"configKey",ddlPackBean); + DdlPreparedPack.getNumEqualPack(sysUserCustomizeConfig.getCustomizeConfigType(),"customizeConfigType",ddlPackBean); + + return ddlPackBean; + } + + public static DdlPackBean packHqlGetSysUserCustomizeConfig(SysUserCustomizeConfig sysUserCustomizeConfig){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(sysUserCustomizeConfig); + + DdlPreparedPack.getNumEqualPack(sysUserCustomizeConfig.getUserId(),"userId",ddlPackBean); + DdlPreparedPack.getStringEqualPack(sysUserCustomizeConfig.getConfigKey(),"configKey",ddlPackBean); + DdlPreparedPack.getNumEqualPack(sysUserCustomizeConfig.getCustomizeConfigType(),"customizeConfigType",ddlPackBean); + + return ddlPackBean; + } } \ No newline at end of file