From 90a996d33162dae0be8e30db0479e07afda65b4a Mon Sep 17 00:00:00 2001 From: icanci Date: Fri, 11 Nov 2022 15:57:02 +0800 Subject: [PATCH 1/3] MongoDataSourceDAO --- .../mongodb/daointerface/DataSourceDAO.java | 13 +++- .../dal/mongodb/mongo/MongoDataSourceDAO.java | 71 +++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoDataSourceDAO.java 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 14b1277..96706e9 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/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 0000000..740e3df --- /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); + + } +} -- Gitee From 4a4e05cdbac0f2ba153dbefca9561be3e85ab06f Mon Sep 17 00:00:00 2001 From: icanci Date: Fri, 11 Nov 2022 16:03:59 +0800 Subject: [PATCH 2/3] MongoMetadataDAO --- .../dal/mongodb/daointerface/MetadataDAO.java | 11 ++- .../dal/mongodb/mongo/MongoMetadataDAO.java | 67 +++++++++++++++++++ 2 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoMetadataDAO.java 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 4175c61..9c8de07 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/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 0000000..77a5991 --- /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); + + } +} -- Gitee From 4a6d152b6015842d22f964392c256532212d6bbe Mon Sep 17 00:00:00 2001 From: icanci Date: Fri, 11 Nov 2022 16:20:25 +0800 Subject: [PATCH 3/3] MongoSceneDAO --- .../mongodb/daointerface/LogOperateDAO.java | 73 ++++++++++++++++++- .../dal/mongodb/daointerface/SceneDAO.java | 7 +- .../dal/mongodb/dateobject/LogOperateDO.java | 19 ++++- .../dal/mongodb/mongo/MongoLogOperateDAO.java | 61 ++++++++++++++++ .../dal/mongodb/mongo/MongoSceneDAO.java | 64 ++++++++++++++++ .../rec/common/enums/LogOperatorTypeEnum.java | 48 ++++++++++++ .../rec/common/model/log/LogOperateVO.java | 33 ++++++--- 7 files changed, 289 insertions(+), 16 deletions(-) create mode 100644 rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoLogOperateDAO.java create mode 100644 rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoSceneDAO.java create mode 100644 rec-common/src/main/java/cn/icanci/rec/common/enums/LogOperatorTypeEnum.java 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 5099e2b..c570f66 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/SceneDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/SceneDAO.java index 14ed7f3..5ff2ca7 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 75a1877..2a678d8 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/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 0000000..bc1b082 --- /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/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 0000000..4a96ad5 --- /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 0000000..88b27c7 --- /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 9c0eeeb..64ec590 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; + } } -- Gitee