diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/DataSourceDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/DataSourceDAO.java index 14b1277e45ae8b6654f4b6200f081c002ada2c17..96706e9743aaad02aa4f705c0a056bad24d67d96 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/DataSourceDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/DataSourceDAO.java @@ -17,6 +17,17 @@ public interface DataSourceDAO extends BaseDAO { Class COLLECTION_CLASS = DataSourceDO.class; interface DataSourceColumn extends BaseColumn { - + /** + * 数据源名称 + */ + String dataSourceName = "dataSourceName"; + /** + * 数据源Code + */ + String dataSourceCode = "dataSourceCode"; + /** + * 数据源类型 + */ + String dataSourceType = "dataSourceType"; } } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/LogOperateDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/LogOperateDAO.java index 5099e2b0765636915f01d2db9b4c7a7fd92c9f3f..c570f66b5bb13830df99c2ab73ea61f29fae7fd8 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/LogOperateDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/LogOperateDAO.java @@ -1,23 +1,88 @@ package cn.icanci.rec.admin.dal.mongodb.daointerface; -import cn.icanci.rec.admin.dal.mongodb.dateobject.DomainDO; +import cn.icanci.rec.admin.dal.mongodb.common.PageList; import cn.icanci.rec.admin.dal.mongodb.dateobject.LogOperateDO; +import java.util.List; + /** * @author icanci * @since 1.0 Created in 2022/11/11 14:05 */ -public interface LogOperateDAO extends BaseDAO { +public interface LogOperateDAO { /** * 文档对应的名字 */ - String COLLECTION_NAME = "rec-log"; + String COLLECTION_NAME = "rec-log"; /** * 文档对应的Class */ Class COLLECTION_CLASS = LogOperateDO.class; - interface LogColumn extends BaseColumn { + /** + * 默认环境 + */ + String DEFAULT_ENV = "test"; + + /** + * 插入文档一条记录 + * + * @param t t + */ + void insert(LogOperateDO t); + + /** + * 更新文档一条记录 + * + * @param t t + * @return 更新结果 + */ + void update(LogOperateDO t); + + /** + * 查询文档所有记录 + * + * @return 返回查询的结果 + */ + List queryAll(); + + /** + * 查询文档所有记录 + * + * @param t 请求参数 + * @param pageNum pageNum + * @param pageSize pageSize + * @return 返回查询的结果 + */ + PageList pageQuery(LogOperateDO t, int pageNum, int pageSize); + + /** + * 根据 _id 查询一条信息 + * + * @param _id _id + * @return 返回查询的结果 + */ + LogOperateDO queryOneById(String _id); + + interface LogColumn { + String _id = "id"; + + /** 操作模块 */ + String module = "module"; + + /** 对象编号 */ + String targetId = "targetId"; + + /** 操作类型*/ + String operatorType = "operatorType"; + + /** 操作内容 */ + String content = "content"; + + /** 创建时间 */ + String createTime = "createTime"; + /** 环境 */ + String env = "env"; } } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/MetadataDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/MetadataDAO.java index 4175c61574bd4e20b8d102f386abc3c132b28ec8..9c8de07cacb4456b6cc44a1a0a1ee51d3b9905c6 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/MetadataDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/MetadataDAO.java @@ -16,7 +16,14 @@ public interface MetadataDAO extends BaseDAO { */ Class COLLECTION_CLASS = MetadataDO.class; - interface LogColumn extends BaseColumn { - + interface MetadataColumn extends BaseColumn { + /** + * 域Code + */ + String domainCode = "domainCode"; + /** + * 元数据名称 + */ + String metadataName = "metadataName"; } } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/SceneDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/SceneDAO.java index 14ed7f37ce076b0fb0a5b2fa774792fadeb9f542..5ff2ca79f98e82a7be8685878d9db126812d17d9 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/SceneDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/SceneDAO.java @@ -16,7 +16,10 @@ public interface SceneDAO extends BaseDAO { */ Class COLLECTION_CLASS = SceneDO.class; - interface LogColumn extends BaseColumn { - + interface SceneColumn extends BaseColumn { + /** + * 域Code + */ + String domainCode = "domainCode"; } } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/dateobject/LogOperateDO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/dateobject/LogOperateDO.java index 75a18771ba1c6b95bdfc2e43f6326761b96a54d2..2a678d8dd6bd00242c91c6f452c9dc4923db267e 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/dateobject/LogOperateDO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/dateobject/LogOperateDO.java @@ -1,5 +1,7 @@ package cn.icanci.rec.admin.dal.mongodb.dateobject; +import cn.icanci.rec.common.enums.LogOperatorTypeEnum; + import java.util.Date; import org.springframework.data.annotation.Id; @@ -19,7 +21,11 @@ public class LogOperateDO { /** 对象编号 */ private String targetId; - /** 操作类型*/ + /** + * 操作类型 + * + * @see LogOperatorTypeEnum#name() + */ private String operatorType; /** 操作内容 */ @@ -28,6 +34,9 @@ public class LogOperateDO { /** 创建时间 */ private Date createTime; + /** 环境 */ + private String env; + public String getId() { return id; } @@ -75,4 +84,12 @@ public class LogOperateDO { public void setCreateTime(Date createTime) { this.createTime = createTime; } + + public String getEnv() { + return env; + } + + public void setEnv(String env) { + this.env = env; + } } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoDataSourceDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoDataSourceDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..740e3df355c89542d9d84c0a31b75565eb09e9a6 --- /dev/null +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoDataSourceDAO.java @@ -0,0 +1,71 @@ +package cn.icanci.rec.admin.dal.mongodb.mongo; + +import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.admin.dal.mongodb.daointerface.DataSourceDAO; +import cn.icanci.rec.admin.dal.mongodb.dateobject.DataSourceDO; + +import java.util.List; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Service; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 15:52 + */ +@Service("dataSourceDAO") +public class MongoDataSourceDAO extends AbstractBaseDAO implements DataSourceDAO { + + @Override + public void insert(DataSourceDO dataSourceDO) { + super.insert(dataSourceDO); + mongoTemplate.insert(dataSourceDO, COLLECTION_NAME); + } + + @Override + public void update(DataSourceDO dataSourceDO) { + super.update(dataSourceDO); + mongoTemplate.save(dataSourceDO, COLLECTION_NAME); + } + + @Override + public List queryAll() { + Criteria criteria = Criteria.where(DataSourceColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.find(query, COLLECTION_CLASS, COLLECTION_NAME); + + } + + @Override + public PageList pageQuery(DataSourceDO dataSourceDO, int pageNum, int pageSize) { + Criteria criteria = Criteria.where(DataSourceColumn.env).is(DEFAULT_ENV); + if (StringUtils.isNotBlank(dataSourceDO.getDataSourceCode())) { + // 不分区大小写查询,其中操作符"i":表示不分区大小写 + criteria.and(DataSourceColumn.dataSourceCode).regex("^.*" + dataSourceDO.getDataSourceCode() + ".*$", "i"); + } + if (StringUtils.isNotBlank(dataSourceDO.getDataSourceName())) { + // 不分区大小写查询,其中操作符"i":表示不分区大小写 + criteria.and(DataSourceColumn.dataSourceName).regex("^.*" + dataSourceDO.getDataSourceName() + ".*$", "i"); + } + if (StringUtils.isNotBlank(dataSourceDO.getDataSourceType())) { + criteria.and(DataSourceColumn.dataSourceType).is(dataSourceDO.getDataSourceType()); + } + Query query = new Query(criteria); + query.with(Sort.by(Sort.Direction.DESC, DataSourceColumn.createTime)); + + return pageQuery(query, COLLECTION_CLASS, pageSize, pageNum, COLLECTION_NAME); + + } + + @Override + public DataSourceDO queryOneById(String _id) { + Criteria criteria = Criteria.where(DataSourceColumn._id).is(_id); + criteria.and(DataSourceColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); + + } +} diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoLogOperateDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoLogOperateDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..bc1b082b17e3cd657f7d586d3845c721d8e8a4c3 --- /dev/null +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoLogOperateDAO.java @@ -0,0 +1,61 @@ +package cn.icanci.rec.admin.dal.mongodb.mongo; + +import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.admin.dal.mongodb.daointerface.LogOperateDAO; +import cn.icanci.rec.admin.dal.mongodb.dateobject.LogOperateDO; + +import java.util.List; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Service; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 16:06 + */ +@Service("logOperateDAO") +public class MongoLogOperateDAO extends MongoPageHelper implements LogOperateDAO { + @Override + public void insert(LogOperateDO t) { + mongoTemplate.insert(t); + } + + @Override + public void update(LogOperateDO t) { + throw new RuntimeException("Not Support Update!"); + } + + @Override + public List queryAll() { + Criteria criteria = Criteria.where(LogColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.find(query, COLLECTION_CLASS, COLLECTION_NAME); + + } + + @Override + public PageList pageQuery(LogOperateDO t, int pageNum, int pageSize) { + Criteria criteria = Criteria.where(LogColumn.env).is(DEFAULT_ENV); + if (StringUtils.isNotBlank(t.getModule())) { + // 不分区大小写查询,其中操作符"i":表示不分区大小写 + criteria.and(LogColumn.module).is(t.getModule()); + } + + Query query = new Query(criteria); + query.with(Sort.by(Sort.Direction.DESC, LogColumn.createTime)); + + return pageQuery(query, COLLECTION_CLASS, pageSize, pageNum, COLLECTION_NAME); + + } + + @Override + public LogOperateDO queryOneById(String _id) { + Criteria criteria = Criteria.where(LogColumn._id).is(_id); + criteria.and(LogColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); + } +} diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoMetadataDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoMetadataDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..77a59916829018d22e1a1eb9f85730ccc8859d9f --- /dev/null +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoMetadataDAO.java @@ -0,0 +1,67 @@ +package cn.icanci.rec.admin.dal.mongodb.mongo; + +import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.admin.dal.mongodb.daointerface.MetadataDAO; +import cn.icanci.rec.admin.dal.mongodb.dateobject.MetadataDO; + +import java.util.List; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Service; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 15:57 + */ +@Service("metadataDAO") +public class MongoMetadataDAO extends AbstractBaseDAO implements MetadataDAO { + @Override + public void insert(MetadataDO metadataDO) { + super.insert(metadataDO); + mongoTemplate.insert(metadataDO, COLLECTION_NAME); + } + + @Override + public void update(MetadataDO metadataDO) { + super.update(metadataDO); + mongoTemplate.save(metadataDO, COLLECTION_NAME); + } + + @Override + public List queryAll() { + Criteria criteria = Criteria.where(MetadataColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.find(query, COLLECTION_CLASS, COLLECTION_NAME); + + } + + @Override + public PageList pageQuery(MetadataDO metadataDO, int pageNum, int pageSize) { + Criteria criteria = Criteria.where(MetadataColumn.env).is(DEFAULT_ENV); + if (StringUtils.isNotBlank(metadataDO.getDomainCode())) { + criteria.and(MetadataColumn.domainCode).is(metadataDO.getDomainCode()); + } + if (StringUtils.isNotBlank(metadataDO.getMetadataName())) { + // 不分区大小写查询,其中操作符"i":表示不分区大小写 + criteria.and(MetadataColumn.metadataName).regex("^.*" + metadataDO.getMetadataName() + ".*$", "i"); + } + + Query query = new Query(criteria); + query.with(Sort.by(Sort.Direction.DESC, MetadataColumn.createTime)); + + return pageQuery(query, COLLECTION_CLASS, pageSize, pageNum, COLLECTION_NAME); + + } + + @Override + public MetadataDO queryOneById(String _id) { + Criteria criteria = Criteria.where(MetadataColumn._id).is(_id); + criteria.and(MetadataColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); + + } +} diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoSceneDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoSceneDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..4a96ad5cc13d1bfe433f77da820dbc917625556f --- /dev/null +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoSceneDAO.java @@ -0,0 +1,64 @@ +package cn.icanci.rec.admin.dal.mongodb.mongo; + +import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.admin.dal.mongodb.daointerface.SceneDAO; +import cn.icanci.rec.admin.dal.mongodb.dateobject.SceneDO; + +import java.util.List; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Service; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 16:04 + */ +@Service("sceneDAO") +public class MongoSceneDAO extends AbstractBaseDAO implements SceneDAO { + @Override + public void insert(SceneDO sceneDO) { + super.insert(sceneDO); + mongoTemplate.insert(sceneDO, COLLECTION_NAME); + } + + @Override + public void update(SceneDO sceneDO) { + super.update(sceneDO); + mongoTemplate.save(sceneDO, COLLECTION_NAME); + } + + @Override + public List queryAll() { + Criteria criteria = Criteria.where(SceneColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.find(query, COLLECTION_CLASS, COLLECTION_NAME); + + } + + @Override + public PageList pageQuery(SceneDO sceneDO, int pageNum, int pageSize) { + Criteria criteria = Criteria.where(SceneColumn.env).is(DEFAULT_ENV); + if (StringUtils.isNotBlank(sceneDO.getDomainCode())) { + // 不分区大小写查询,其中操作符"i":表示不分区大小写 + criteria.and(SceneColumn.domainCode).is(sceneDO.getDomainCode()); + } + + Query query = new Query(criteria); + query.with(Sort.by(Sort.Direction.DESC, SceneColumn.createTime)); + + return pageQuery(query, COLLECTION_CLASS, pageSize, pageNum, COLLECTION_NAME); + + } + + @Override + public SceneDO queryOneById(String _id) { + Criteria criteria = Criteria.where(SceneColumn._id).is(_id); + criteria.and(SceneColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); + + } +} diff --git a/rec-common/src/main/java/cn/icanci/rec/common/enums/LogOperatorTypeEnum.java b/rec-common/src/main/java/cn/icanci/rec/common/enums/LogOperatorTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..88b27c74f5cfde87ec7e9cca22868ec69755d16f --- /dev/null +++ b/rec-common/src/main/java/cn/icanci/rec/common/enums/LogOperatorTypeEnum.java @@ -0,0 +1,48 @@ +package cn.icanci.rec.common.enums; + +/** + * 日志操作类型 + * + * @author icanci + * @since 1.0 Created in 2022/11/11 16:15 + */ +public enum LogOperatorTypeEnum { + /** + * CREATE + */ + CREATE("CREATE", "创建"), + /** + * UPDATE + */ + UPDATE("UPDATE", "更新"), + /** + * 删除 + */ + DELETE("DELETE", "删除"), + + ; + + LogOperatorTypeEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + + private String code; + private String desc; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/rec-common/src/main/java/cn/icanci/rec/common/model/log/LogOperateVO.java b/rec-common/src/main/java/cn/icanci/rec/common/model/log/LogOperateVO.java index 9c0eeeb6a1caece41ca4f68a15b5197b620a6bc6..64ec5902854f114acdf03048c90739dd20ac4d3f 100644 --- a/rec-common/src/main/java/cn/icanci/rec/common/model/log/LogOperateVO.java +++ b/rec-common/src/main/java/cn/icanci/rec/common/model/log/LogOperateVO.java @@ -1,5 +1,7 @@ package cn.icanci.rec.common.model.log; +import cn.icanci.rec.common.enums.LogOperatorTypeEnum; + import java.util.Date; /** @@ -8,22 +10,27 @@ import java.util.Date; */ public class LogOperateVO { /** 编号 */ - private String id; + private String id; /** 操作模块 */ - private String module; + private String module; /** 对象编号 */ - private String targetId; + private String targetId; - /** 操作类型*/ - private String operatorType; + /** + * 操作类型 + */ + private LogOperatorTypeEnum operatorType; /** 操作内容 */ - private String content; + private String content; /** 创建时间 */ - private Date createTime; + private Date createTime; + + /** 环境 */ + String env; public String getId() { return id; @@ -49,11 +56,11 @@ public class LogOperateVO { this.targetId = targetId; } - public String getOperatorType() { + public LogOperatorTypeEnum getOperatorType() { return operatorType; } - public void setOperatorType(String operatorType) { + public void setOperatorType(LogOperatorTypeEnum operatorType) { this.operatorType = operatorType; } @@ -72,4 +79,12 @@ public class LogOperateVO { public void setCreateTime(Date createTime) { this.createTime = createTime; } + + public String getEnv() { + return env; + } + + public void setEnv(String env) { + this.env = env; + } }