diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/annotation/AnnoIgnoreLog.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/annotation/AnnoIgnoreLog.java new file mode 100644 index 0000000..fc3a4ee --- /dev/null +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/annotation/AnnoIgnoreLog.java @@ -0,0 +1,18 @@ +package cn.estsh.i3plus.pojo.base.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @Description : 忽略生成日志 + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-02-14 10:35 + * @Modify: + **/ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface AnnoIgnoreLog { +} 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 2284856..36b6510 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 @@ -2,6 +2,7 @@ package cn.estsh.i3plus.pojo.base.bean; import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -50,9 +51,18 @@ public abstract class BaseBean implements Serializable { } } + /** + * MonogoDB _id映射 + * @param id + */ + @JSONField(name="_id") + public void setId(Long id) { + this.id = id; + } + @Column(name="ORGANIZE_CODE") @ApiParam(value ="组织代码") - private String organizeCode; + public String organizeCode; @Column(name="is_valid") @ApiParam(value = "有效性",example = "1") diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/ListPager.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/ListPager.java index 9859eb4..a77ea31 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/ListPager.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/ListPager.java @@ -13,6 +13,9 @@ import java.util.List; **/ public class ListPager { + public ListPager() { + } + public ListPager(List objectList, Pager objectPager) { this.objectList = objectList; this.objectPager = objectPager; diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/dynamic/DynamicBean.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/dynamic/DynamicBean.java new file mode 100644 index 0000000..577139e --- /dev/null +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/dynamic/DynamicBean.java @@ -0,0 +1,87 @@ +package cn.estsh.i3plus.pojo.base.dynamic; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +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 org.springframework.cglib.beans.BeanGenerator; +import org.springframework.cglib.beans.BeanMap; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.util.Map; + +/** + * @Description : 动态转换对象,用于配合dynamicEntity进行动态属性添加 + * @Reference : + * @Author : alwaysfrin + * @CreateDate : 2019-01-23 13:45 + * @Modify: + **/ +public class DynamicBean { + + @ApiParam(value ="目标对象") + private Object target; + + @ApiParam(value ="属性集合") + private BeanMap beanMap; + + public DynamicBean(){ + } + + public DynamicBean(Class superclass, Map propertyMap) { + this.target = generateBean(superclass, propertyMap); + this.beanMap = BeanMap.create(this.target); + } + + + /** + * bean 添加属性和值 + * + * @param property + * @param value + */ + public void setValue(String property, Object value) { + beanMap.put(property, value); + } + + /** + * 获取属性值 + * + * @param property + * @return + */ + public Object getValue(String property) { + return beanMap.get(property); + } + + /** + * 获取对象 + * + * @return + */ + public Object getTarget() { + return this.target; + } + + + /** + * 根据属性生成对象 + * + * @param superclass + * @param propertyMap + * @return + */ + private Object generateBean(Class superclass, Map propertyMap) { + BeanGenerator generator =new BeanGenerator(); + if(null != superclass) { + generator.setSuperclass(superclass); + } + BeanGenerator.addProperties(generator, propertyMap); + return generator.create(); + } +} 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 new file mode 100644 index 0000000..2fcee00 --- /dev/null +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/dynamic/DynamicEntity.java @@ -0,0 +1,93 @@ +package cn.estsh.i3plus.pojo.base.dynamic; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import org.apache.commons.lang3.builder.ReflectionToStringBuilder; + +/** + * @Description : 基础动态对象,包含方法、参数等 + * @Reference : + * @Author : alwaysfrin + * @CreateDate : 2019-01-24 15:56 + * @Modify: + **/ +public class DynamicEntity extends BaseBean { + + private String method; + private String uri; + private Object[] args; + private Object result; + private String operator; + private String appName; + + /** + * 获取当前对象 + * + * @param method + * @param uri + * @param args + * @param result + * @return + */ + public DynamicEntity get(String method, String uri, Object[] args, Object result, String operator, String appName) { + setMethod(method); + setUri(uri); + setArgs(args); + setResult(result); + setOperator(operator); + setAppName(appName); + return this; + } + + public String getMethod() { + return method; + } + + public void setMethod(String method) { + this.method = method; + } + + public String getUri() { + return uri; + } + + public void setUri(String uri) { + this.uri = uri; + } + + public Object[] getArgs() { + return args; + } + + public void setArgs(Object[] args) { + this.args = args; + } + + public Object getResult() { + return result; + } + + public void setResult(Object result) { + this.result = result; + } + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + public String getAppName() { + return appName; + } + + public void setAppName(String appName) { + this.appName = appName; + } + + @Override + public String toString() { + return ReflectionToStringBuilder.toString(this); + } +} diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseMongoRepository.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseMongoRepository.java index fd1a7b4..04c9a2d 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseMongoRepository.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseMongoRepository.java @@ -47,4 +47,8 @@ public interface BaseMongoRepository extends MongoRe List listPager(Pager pager); List listPager(Pager pager,String orderByParam, int ascOrDesc); + + long deleteByProperty(Bson bson); + long deleteByPropertyIn(String propName, Object[] propValues); + long deleteByIds(ID[] ids); } diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java index 3ccc1c8..cd67174 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java @@ -104,7 +104,7 @@ public class BaseMongoRepositoryImpl extends SimpleM Object val = idField.get(item); if((type == long.class || type == Long.class) && (val == null || Long.parseLong(val.toString()) == 0)){ // long类型主键,以snowflake为主键 - idField.set(item, snowflakeIdMaker.nextId()); + idField.set(item, snowflakeIdMaker.nextId() + System.currentTimeMillis()); } else if(type == String.class && (val==null || "".equals(val))){ // String类型主键,以UUID为主键 idField.set(item, UUID.randomUUID().toString().replace("-", "").toLowerCase()); @@ -324,4 +324,23 @@ public class BaseMongoRepositoryImpl extends SimpleM findIter.forEach(saveBlock); return packObjectListFromDocument(dList); } + + @Override + public long deleteByProperty(Bson bson) { + return mongoOperations.getCollection(this.entityInformation.getCollectionName()).deleteMany(bson).getDeletedCount(); + } + + @Override + public long deleteByPropertyIn(String propName, Object[] propValues) { + Bson bson = Filters.and( + Filters.in(propName, propValues) + ); + return deleteByProperty(bson); + } + + @Override + public long deleteByIds(ID[] ids) { + return deleteByPropertyIn("id",ids); + } + } diff --git a/modules/i3plus-pojo-form/pom.xml b/modules/i3plus-pojo-form/pom.xml index f58676d..90e744d 100644 --- a/modules/i3plus-pojo-form/pom.xml +++ b/modules/i3plus-pojo-form/pom.xml @@ -13,5 +13,11 @@ i3plus-pojo-form jar + + + i3plus.pojo + i3plus-pojo-base + + \ No newline at end of file diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysConfig.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysConfig.java index 6d42cd3..32d44bc 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysConfig.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysConfig.java @@ -34,29 +34,29 @@ public class SysConfig extends BaseBean { private String name; @Column(name="CONFIG_TYPE") - @ApiParam(value ="配置类型ID(枚举:1.系统配置...)" , example ="-1") + @ApiParam(value ="参数类型ID(枚举:1.系统配置...)" , example ="-1") private Integer configType; @Column(name="CONFIG_CODE") - @ApiParam(value ="配置代码") + @ApiParam(value ="参数代码") private String configCode; // 枚举 ImppEnumUtil.SYS_CONFIG_GROUP @Column(name="CONFIG_GROUP") - @ApiParam(value ="配置组") + @ApiParam(value ="参数组") private Integer configGroup; // 枚举 ImppEnumUtil.SYS_VALUE_TYPE @Column(name="CONFIG_VALUE_TYPE") - @ApiParam(value ="配置值类型") + @ApiParam(value ="参数值类型") private String configValueType; @Column(name="CONFIG_VALUE") - @ApiParam(value ="配置值") + @ApiParam(value ="参数值") private String configValue; @Column(name="CONFIG_DESCRIPTION") - @ApiParam(value ="配置描述") + @ApiParam(value ="参数描述") private String configDescription; } diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysMenu.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysMenu.java index fd5393e..da33264 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysMenu.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysMenu.java @@ -10,10 +10,7 @@ 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; -import javax.persistence.Transient; +import javax.persistence.*; import java.util.ArrayList; import java.util.List; @@ -29,6 +26,7 @@ import java.util.List; @DynamicInsert @DynamicUpdate @EqualsAndHashCode(callSuper = true) +//@Table(name="SYS_MENU",indexes = {@Index(name="索引名称",columnList = "列名1,列名2")}) @Table(name="SYS_MENU") @Api(value="系统功能",description = "系统功能") public class SysMenu extends BaseBean { diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysTaskPlan.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysTaskPlan.java index 76e310a..4a3d8de 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysTaskPlan.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysTaskPlan.java @@ -83,11 +83,31 @@ public class SysTaskPlan extends BaseBean { @ApiParam(value ="任务计划描述" , access ="任务计划描述") private String taskPlanDescription; + // 枚举 CommonEnumUtil.TRUE_OR_FALSE @Column(name="TASK_PLAN_STATUS") - @ApiParam(value ="任务状态(1.正常,2.禁用)" , example ="1") + @ApiParam(value ="任务状态" , example ="1") private Integer taskPlanStatus; @Column(name="LAST_RUN_DATE_TIME") @ApiParam(value ="最后运行时间" , access ="最后运行时间") private String lastRunDateTime; + + // 枚举 CommonEnumUtil.TRUE_OR_FALSE + @Column(name = "IS_NOTICE") + @ApiParam(value = "是否通知", example = "1") + private Integer isNotice; + + // 枚举 CommonEnumUtil.TRUE_OR_FALSE + @Column(name = "IS_INTERNAL_USER") + @ApiParam(value = "是否内部用户", example = "1") + private Integer isInternalUser; + + // 枚举 ImppEnumUtil.MESSAGE_TYPE + @Column(name = "NOTICE_METHOD") + @ApiParam(value = "通知方式", example = "1") + private Integer noticeMethod; + + @Column(name = "NOTICE_CHANNEL", columnDefinition = "TEXT") + @ApiParam(value = "通知渠道") + private String noticeChannel; } diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/TestInfo.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/TestInfo.java new file mode 100644 index 0000000..e9daa0f --- /dev/null +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/TestInfo.java @@ -0,0 +1,33 @@ +package cn.estsh.i3plus.pojo.platform.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; + +/** + * @Description : 测试类 + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-02-24 16:21 + * @Modify: + **/ +public class TestInfo extends BaseBean { + + /** + * 内存信息 + */ + private double ram; + + /** + * cpu信息 + */ + private double cpu; + + /** + * 线程id + */ + private String threadId; + + /** + * 方法名 + */ + private String method; +} diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/platbean/SysLogOperate.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/platbean/SysLogOperate.java index 1080a6c..543dac6 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/platbean/SysLogOperate.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/platbean/SysLogOperate.java @@ -57,6 +57,10 @@ public class SysLogOperate extends BaseBean { @ApiParam(value ="操作信息" , access ="操作信息") private String operateMessage; + @Column(name="USER_LOGIN_NAME") + @ApiParam(value ="登录用户名称" , access ="登录用户名称") + private String userLoginName; + @Column(name="REMOTE_IP") @ApiParam(value ="请求IP" , access ="请求IP") private String remoteIp; 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 179f9b2..8f8cab8 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 @@ -592,4 +592,13 @@ public class CoreHqlPack { return result.toString(); } + + public static String packHqlSysLocaleLanguageExistDefaultByIds(Long[] ids){ + StringBuffer result = new StringBuffer(); + + HqlPack.getInPack(StringUtils.join(ids,","),"id",result); + HqlPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(),"isDefault",result); + + return result.toString(); + } } \ No newline at end of file