diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java index 36858cc..a517b70 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java @@ -25,6 +25,7 @@ import java.util.Map; **/ @Data @MappedSuperclass +@EntityListeners(BaseBeanListener.class) //对象状态监听 //@Entity //以子类table为准 //@javax.persistence.Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBeanListener.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBeanListener.java new file mode 100644 index 0000000..95889dc --- /dev/null +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBeanListener.java @@ -0,0 +1,90 @@ +package cn.estsh.i3plus.pojo.base.bean; + +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import org.apache.commons.lang3.StringUtils; + +import javax.persistence.PrePersist; +import javax.persistence.PreUpdate; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * @Description : 实体对象监听 + * @Reference : + * @Author : alwaysfrin + * @CreateDate : 2020-08-24 22:28 + * @Modify: + **/ +public class BaseBeanListener { + + //实体保存前 + @PrePersist + public void prePersist(BaseBean baseBean) { + // 创建用户 + if (StringUtils.isBlank(baseBean.getCreateUser())) { + if(StringUtils.isNotBlank(BaseThreadLocal.getThreadEmpName())) { + baseBean.setCreateUser(BaseThreadLocal.getThreadEmpName()); + baseBean.setModifyUser(BaseThreadLocal.getThreadEmpName()); + } + } + //组织代码 + if (StringUtils.isBlank(baseBean.getOrganizeCode())) { + if(StringUtils.isNotBlank(BaseThreadLocal.getThreadOrganizeCode())) { + baseBean.setOrganizeCode(BaseThreadLocal.getThreadOrganizeCode()); + } + } + // 创建时间 + if (StringUtils.isBlank(baseBean.getCreateDatetime())){ + baseBean.setCreateDatetime((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date())); + baseBean.setModifyDatetime((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date())); + } + //有效性 + if(baseBean.getIsValid() == null || + (baseBean.getIsValid() != CommonEnumUtil.IS_VAILD.VAILD.getValue() && baseBean.getIsValid() != CommonEnumUtil.IS_VAILD.INVAILD.getValue())){ + baseBean.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); //有效 + } + //是否删除 + if(baseBean.getIsDeleted() == null || + (baseBean.getIsDeleted() != CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() && baseBean.getIsDeleted() != CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue())){ + baseBean.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); //未删除 + } + } + + //实体对象保存之后 + /*@PostPersist + public void afterPersist(){ + }*/ + + //实体对象修改之前 + @PreUpdate + public void preUpdate(BaseBean baseBean) { + // 修改用户 + if (StringUtils.isBlank(baseBean.getModifyUser())) { + if(StringUtils.isNotBlank(BaseThreadLocal.getThreadEmpName())) { + baseBean.setModifyUser(BaseThreadLocal.getThreadEmpName()); + } + } + + // 修改时间 + if (StringUtils.isEmpty(baseBean.getModifyDatetime())){ + baseBean.setModifyDatetime((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date())); + } + + //组织代码 + if (StringUtils.isBlank(baseBean.getOrganizeCode())) { + if(StringUtils.isNotBlank(BaseThreadLocal.getThreadOrganizeCode())) { + baseBean.setOrganizeCode(BaseThreadLocal.getThreadOrganizeCode()); + } + } + //有效性 + if(baseBean.getIsValid() == null || + (baseBean.getIsValid() != CommonEnumUtil.IS_VAILD.VAILD.getValue() && baseBean.getIsValid() != CommonEnumUtil.IS_VAILD.INVAILD.getValue())){ + baseBean.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); //有效 + } + //是否删除 + if(baseBean.getIsDeleted() == null || + (baseBean.getIsDeleted() != CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() && baseBean.getIsDeleted() != CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue())){ + baseBean.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); //未删除 + } + } +} diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseThreadLocal.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseThreadLocal.java new file mode 100644 index 0000000..0a4d24b --- /dev/null +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseThreadLocal.java @@ -0,0 +1,142 @@ +package cn.estsh.i3plus.pojo.base.bean; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; + +/** + * @Description : 本地线程,用于保存用户临时数据(按线程生命周期保存) + * 需要在线程结束的地方调用removeThreadLocal(),防止内存泄漏 + * @Reference : 生命周期:一次controller请求 + * @Author : alwaysfrin + * @CreateDate : 2020-08-24 20:49 + * @Modify: + **/ +public class BaseThreadLocal { + public static final Logger LOGGER = LoggerFactory.getLogger(BaseThreadLocal.class); + + /*private static final ThreadLocal> dataThredLocal = new ThreadLocal(){ + @Override + protected HashMap initialValue() { + //每个线程初始化map + return new HashMap(); + } + };*/ + private static final ThreadLocal> DATA_THREAD_LOCAL = ThreadLocal.withInitial(() -> new HashMap<>()); + + public static Object getData(String key) { + if(DATA_THREAD_LOCAL.get() != null) { + return DATA_THREAD_LOCAL.get().get(key); + }else{ + return null; + } + } + + public static String getDataStr(String key) { + Object data = getData(key); + if(data != null){ + return data.toString(); + }else{ + return null; + } + } + + public static int getDataInt(String key) { + Object data = getData(key); + if(data != null){ + return Integer.parseInt(data.toString()); + }else{ + return 0; + } + } + + public static long getDataLong(String key) { + Object data = getData(key); + if(data != null){ + return Long.parseLong(data.toString()); + }else{ + return 0L; + } + } + + public static double getDataDouble(String key) { + Object data = getData(key); + if(data != null){ + return Double.parseDouble(data.toString()); + }else{ + return 0.0; + } + } + + public static void setData(String name, Object value) { + //不需要主数据源开始,则自动切换 + DATA_THREAD_LOCAL.get().put(name, value); + } + + /** + * 手动再次清除线程变量 + * 需要在方法后调用,或者通过ascept拦截后进行清空 + */ + public static void removeThreadLocal(){ + if(DATA_THREAD_LOCAL != null) { + if (DATA_THREAD_LOCAL.get() != null) { + //清空数据 + DATA_THREAD_LOCAL.get().clear(); + } + //移除当前线程信息 + DATA_THREAD_LOCAL.remove(); + } + } + + public static String getInfo(){ + Thread thread = Thread.currentThread(); + return "thead-id:" + thread.getId() + ",thread:" + thread; + } + + public static void printDetail(){ + LOGGER.info("========本地线程临时数据======="); + LOGGER.info("数据数量:{}", DATA_THREAD_LOCAL.get().size()); + for(String key : DATA_THREAD_LOCAL.get().keySet()){ + LOGGER.info("key:{},value:{}",key, DATA_THREAD_LOCAL.get().get(key)); + } + } + + /********* 用户信息 **********/ + public static final String INIT_INFO = "INIT_INFO"; //初始化数据 + public static final String EMP_NAME = "USER_NAME"; //用户名 + public static final String ORGANIZE_CODE = "ORGANIZE_CODE"; //组织代码 + + public static boolean isInit(){ + Object data = getData(INIT_INFO); + if(data != null){ + return Boolean.parseBoolean(data.toString()); + }else{ + return false; + } + } + + //初始化用户数据 + public static void initSessionUserThreadLocal(String empName, String organizeCode){ + setData(BaseThreadLocal.EMP_NAME, empName); + setData(BaseThreadLocal.ORGANIZE_CODE, organizeCode); + setData(BaseThreadLocal.INIT_INFO, true); + } + + //获取线程中的人员姓名 + public static String getThreadEmpName(){ + String empName = getDataStr(EMP_NAME); + if(empName == null){ + empName = "系统"; + } + return empName; + } + //获取线程中的组织代码 + public static String getThreadOrganizeCode(){ + String organizeCode = getDataStr(ORGANIZE_CODE); + if(organizeCode == null){ + organizeCode = "-1"; + } + return organizeCode; + } +} diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java index 5e6fc6d..b53822b 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java @@ -1047,6 +1047,9 @@ public class CommonEnumUtil { } return tmp; } + public static String valueOfDescription(int val) { + return valueOf(val); + } public static int descOf(String desc) { int tmp = -1; 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 699ccde..c18a856 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 @@ -483,7 +483,8 @@ public class ImppEnumUtil { MAIL(1, "邮件", "邮件"), LETTER(2, "站内信", "站内信"), SWEB_NOTICE(3, "SWEB通知", "SWEB通知"), - SWEB_PUBLIC_NOTICE(4, "SWEB公告", "SWEB公告"); + SWEB_PUBLIC_NOTICE(4, "SWEB公告", "SWEB公告"), + WORK_WECHAT_TASK_CARD(5, "企业微信任务卡片", "企业微信任务卡片"); private int value; private String name; @@ -1079,7 +1080,8 @@ public class ImppEnumUtil { CONTACT(4, "联系人"), BASIS(5, "基础"), CONFIG(6, "系统配置"), - LOG(7, "日志配置"); + LOG(7, "日志配置"), + WORK_WECHAT(8, "企业微信配置"); private int value; private String description; @@ -1376,4 +1378,97 @@ public class ImppEnumUtil { return tmp; } } + + /** + * 用户外部关系 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum USER_EXTERNAL_REF { + WORK_WECHAT(10, "企业微信"); + + private int value; + private String description; + + USER_EXTERNAL_REF(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; + } + } + + /** + * 用户绑定属性 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum USER_BIND_PROPERTY{ + USER_LOGIN_NAME("userId", "登录名称"), + USER_NAME("userName", "用户名称"), + EMAIL("email", "邮箱"), + USER_PHONE("phone", "手机号"), + USER_EMP_NO("empNo", "工号"), + USER_WECHAT_NO("userWeChatNo", "微信号"); + + private String value; + private String description; + + private USER_BIND_PROPERTY(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOfDescription(String val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value.equals(val)) { + tmp = values()[i].description; + } + } + return tmp; + } + + public static USER_BIND_PROPERTY valueOfEnum(String val) { + for (int i = 0; i < values().length; i++) { + if (values()[i].value.equals(val)) { + return values()[i]; + } + } + return null; + } + } } diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysLogUserLogin.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysLogUserLogin.java index f1a39bf..e0d0faa 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysLogUserLogin.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysLogUserLogin.java @@ -1,8 +1,10 @@ package cn.estsh.i3plus.pojo.platform.bean; +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; import cn.estsh.i3plus.pojo.base.bean.BaseBean; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiParam; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.annotations.DynamicInsert; @@ -25,36 +27,39 @@ import javax.persistence.Table; @DynamicUpdate @EqualsAndHashCode(callSuper = true) @Table(name="SYS_LOG_USER_LOGIN") -@Api(value="用户登录记录",description = "用户登录记录") +@ApiModel(value="用户登录记录",description = "用户登录记录") public class SysLogUserLogin extends BaseBean { private static final long serialVersionUID = 4665598896654312569L; @Column(name="USER_ID") - @ApiParam(value ="用户ID" , access ="用户ID") + @ApiModelProperty(value ="用户ID" , access ="用户ID") + @AnnoOutputColumn(hidden = true) private Long userId; @Column(name="LOG_LOGIN_NAME") - @ApiParam(value ="登录名称" , access ="登录名称") + @ApiModelProperty(value ="登录名称" , access ="登录名称") private String logLoginName; @Column(name="LOG_LOGIN_STATUS") - @ApiParam(value ="登录状态(枚举:1.成功,2.失败,3锁定)" , example ="1") + @ApiModelProperty(value ="登录状态(枚举:1.成功,2.失败,3锁定)" , example ="1") + @AnnoOutputColumn(refClass = CommonEnumUtil.USER_LOGIN_STATUS.class) private Integer logLoginStatus; @Column(name="LOG_LOGIN_PLATFORM") - @ApiParam(value ="登录平台ID(枚举)" , example ="1") + @ApiModelProperty(value ="登录平台ID(枚举)" , example ="1") + @AnnoOutputColumn(hidden = true) private Integer logLoginPlatform; @Column(name="LOG_LOGIN_HOST") - @ApiParam(value ="登录IP" , access ="登录IP") + @ApiModelProperty(value ="登录IP" , access ="登录IP") private String logLoginHost; @Column(name="LOG_LOGIN_BROWSER") - @ApiParam(value ="登录浏览器" , access ="登录的浏览器") + @ApiModelProperty(value ="登录浏览器" , access ="登录的浏览器") private String logLoginBrowser; @Column(name="LOG_LOGIN_DATE_TIME") - @ApiParam(value ="登录时间" , access ="登录时间") + @ApiModelProperty(value ="登录时间" , access ="登录时间") private String logLoginDateTime; } diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysMessage.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysMessage.java index e41ee5c..394088d 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysMessage.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysMessage.java @@ -42,7 +42,8 @@ public class SysMessage extends BaseBean { private Integer messageSoftType; @Column(name = "MESSAGE_TYPE") - @ApiParam(value = "消息类型(枚举:ImppEnumUtil.MESSAGE_TYPE)", example = "-1") + @ApiParam(value = "消息类型(枚举:)", example = "-1") + @AnnoOutputColumn(refClass = ImppEnumUtil.MESSAGE_TYPE.class) private Integer messageType; public int getMessageTypeValue() { diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysOrderNoRecord.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysOrderNoRecord.java new file mode 100644 index 0000000..6bcbff7 --- /dev/null +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysOrderNoRecord.java @@ -0,0 +1,50 @@ +package cn.estsh.i3plus.pojo.platform.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +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 : 2018-11-21 15:12 + * @Modify: Dev 2018-12-12 09:41:07 + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "SYS_ORDER_NO_RECORD") +@ApiModel(value = "单号记录", description = "单号记录") +public class SysOrderNoRecord extends BaseBean { + + private static final long serialVersionUID = 2749057829943250024L; + + @Column(name = "RULE_CODE") + @ApiModelProperty(value = "规则代码") + private String ruleCode; + + @Column(name = "ORDER_NO") + @ApiModelProperty(value = "单号") + private String orderNo; + + + public SysOrderNoRecord() { + } + + public SysOrderNoRecord(String ruleCode,String orderNo) { + this.ruleCode = ruleCode; + this.orderNo = orderNo; + } + +} diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysPojoVersion.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysPojoVersion.java index 8c7a6cb..14f0a1d 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysPojoVersion.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysPojoVersion.java @@ -13,6 +13,7 @@ import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import javax.persistence.*; +import java.util.Map; /** * @Description : @@ -81,6 +82,11 @@ public class SysPojoVersion extends BaseBean { @ApiParam(value ="记录对象对比差异") private String pojoCompare; + @Lob + @Column(name="POJO_COMPARE_TXT") + @ApiParam(value ="记录对象对比差异") + private String pojoCompareTxt; + @Transient @ApiParam(value ="用户部门信息") private SysPojoVersionDetail versionDetail; @@ -88,4 +94,8 @@ public class SysPojoVersion extends BaseBean { @Transient @ApiParam(value ="操作对象本身") private String bean; + + @Transient + @ApiParam(value ="操作对象属性描述") + private Map pojoPropDesc; } diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysPojoVersionDetail.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysPojoVersionDetail.java index 9831c18..4c305e4 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysPojoVersionDetail.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysPojoVersionDetail.java @@ -44,12 +44,27 @@ public class SysPojoVersionDetail extends BaseBean { private String pojoBefore; @Lob + @Column(name="POJO_BEFORE_TXT",length = 5000) + @ApiParam(value ="原始对象信息转换后") + private String pojoBeforeTxt; + + @Lob @Column(name="POJO_AFTER",length = 5000) @ApiParam(value ="修改之后对象信息") private String pojoAfter; @Lob + @Column(name="POJO_AFTER_TXT",length = 5000) + @ApiParam(value ="修改之后对象信息转换后") + private String pojoAfterTxt; + + @Lob @Column(name="POJO_COMPARE",length = 5000) @ApiParam(value ="记录对象对比差异") private String pojoCompare; + + @Lob + @Column(name="POJO_COMPARE_TXT",length = 5000) + @ApiParam(value ="记录对象对比差异") + private String pojoCompareTxt; } diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysRefUserExternal.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysRefUserExternal.java new file mode 100644 index 0000000..df659b6 --- /dev/null +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysRefUserExternal.java @@ -0,0 +1,49 @@ +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.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +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-09-03 13:32 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="SYS_REF_USER_EXTERNAL") +@Api(value="用户外部关系",description = "用户外部关系") +public class SysRefUserExternal extends BaseBean { + + @Column(name="USER_ID") + @ApiParam(value ="用户id" ,example = "-1") + @JsonSerialize(using = ToStringSerializer.class) + private Long userId; + + @Column(name="EXTERNAL_REF") + @ApiParam(value ="对象id" ,example = "-1") + @AnnoOutputColumn(refClass = ImppEnumUtil.USER_EXTERNAL_REF.class) + private Integer externalRef; + + @Column(name="REF_VALUE") + @ApiParam(value ="对象id" ,example = "-1") + private String refValue; + +} diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysRefUserMessage.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysRefUserMessage.java index 6caccdc..5acecdd 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysRefUserMessage.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysRefUserMessage.java @@ -1,5 +1,6 @@ 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; @@ -72,6 +73,7 @@ public class SysRefUserMessage extends BaseBean { @Column(name="MESSAGE_STATUS") @ApiParam(value = "消息状态") + @AnnoOutputColumn(refClass = ImppEnumUtil.MESSAGE_STATUS.class) private Integer messageStatus; public int getMessageStatusValue() { @@ -81,4 +83,8 @@ public class SysRefUserMessage extends BaseBean { return messageStatus.intValue(); } } + + public String getMessageStatusTxt() { + return ImppEnumUtil.MESSAGE_STATUS.valueOfDescription(getMessageStatusValue()); + } } diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUser.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUser.java index 643cb74..835b626 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUser.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUser.java @@ -9,9 +9,9 @@ import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; + import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.Lob; import javax.persistence.Table; import javax.persistence.Transient; import java.util.List; @@ -76,6 +76,10 @@ public class SysUser extends BaseBean { @ApiParam(value ="手机号" , access ="手机号") private String userPhone; + @Column(name="USER_WECHAT_NO") + @ApiParam(value ="微信号") + private String userWeChatNo; + @Column(name="USER_STATUS") @ApiParam(value ="账号状态(枚举:1正常,2冻结使用,3账号异常,4离职,5服务到期)" , example ="-1") private Integer userStatus; diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUserInfo.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUserInfo.java index fded310..a11bded 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUserInfo.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysUserInfo.java @@ -3,6 +3,7 @@ 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.bean.BaseConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.Api; @@ -140,7 +141,7 @@ public class SysUserInfo extends BaseBean { @Column(name="USER_INFO_STATUS") @ApiParam(value ="用户状态" , example ="-1") - @AnnoOutputColumn(hidden = true) + @AnnoOutputColumn(refClass = CommonEnumUtil.USER_STATUS.class) private Integer userInfoStatus; @Column(name="USER_LOGIN_NUM") diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/repository/SysOrderNoRecordRepository.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/repository/SysOrderNoRecordRepository.java new file mode 100644 index 0000000..146591d --- /dev/null +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/repository/SysOrderNoRecordRepository.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.SysOrderNoRecord; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2020-09-03 22:01 + * @Modify: + **/ +public interface SysOrderNoRecordRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/repository/SysRefUserExternalRepository.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/repository/SysRefUserExternalRepository.java new file mode 100644 index 0000000..d6ae840 --- /dev/null +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/repository/SysRefUserExternalRepository.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.SysRefUserExternal; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2020-09-03 13:44 + * @Modify: + **/ +public interface SysRefUserExternalRepository 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 0da42ea..a92c56f 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 @@ -846,6 +846,7 @@ public class CoreHqlPack { public static String packHqlSysRefUserMessage(SysRefUserMessage sysRefUserMessage) { StringBuffer result = new StringBuffer(); + HqlPack.getNumEqualPack(sysRefUserMessage.getMessageId(), "messageId", result); HqlPack.getNumEqualPack(sysRefUserMessage.getMessageTypeRdd(), "messageTypeRdd", result); HqlPack.getNumEqualPack(sysRefUserMessage.getMessageSoftType(), "messageSoftType", result); HqlPack.getStringLikerPack(sysRefUserMessage.getMessageTitleRdd(), "messageTitleRdd", result); @@ -1169,4 +1170,44 @@ public class CoreHqlPack { return ddlPackBean; } + + public static DdlPackBean packHqlQuerySysLogUserLogin(SysLogUserLogin sysLogUserLogin){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(sysLogUserLogin); + + DdlPreparedPack.getNumEqualPack(sysLogUserLogin.getLogLoginStatus(),"logLoginStatus",ddlPackBean); + DdlPreparedPack.getNumEqualPack(sysLogUserLogin.getLogLoginPlatform(),"logLoginPlatform",ddlPackBean); + DdlPreparedPack.getStringLikerPack(sysLogUserLogin.getLogLoginName(),"logLoginName",ddlPackBean); + DdlPreparedPack.getStringLikerPack(sysLogUserLogin.getLogLoginHost(), "logLoginHost", ddlPackBean); + DdlPreparedPack.timeBuilder(sysLogUserLogin.getLogLoginDateTime(), "logLoginDateTime", ddlPackBean, false, true); + + return ddlPackBean; + } + + public static DdlPackBean packHqlFindUserIdByExternalRef(Integer externalRef,List valueList){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); + + DdlPreparedPack.getNumEqualPack(externalRef,"externalRef",ddlPackBean); + DdlPreparedPack.getInPackList(valueList,"valueList",ddlPackBean); + + return ddlPackBean; + } + public static DdlPackBean packHqlFindExternalRefByUserId(Integer externalRef,List userIdList){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); + + DdlPreparedPack.getNumEqualPack(externalRef,"externalRef",ddlPackBean); + DdlPreparedPack.getInPackList(userIdList,"userId",ddlPackBean); + + return ddlPackBean; + } + + public static DdlPackBean packHqlGetSysRefUserExternal(SysRefUserExternal sysRefUserExternal){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(sysRefUserExternal); + + DdlPreparedPack.getNumEqualPack(sysRefUserExternal.getUserId(), "userId", ddlPackBean); + DdlPreparedPack.getNumEqualPack(sysRefUserExternal.getExternalRef(), "externalRef", ddlPackBean); + DdlPreparedPack.getStringEqualPack(sysRefUserExternal.getRefValue(), "refValue", ddlPackBean); + + return ddlPackBean; + } + } \ No newline at end of file