From 5e812fd32f5a3e36b9026890f2385d70c3ebadc5 Mon Sep 17 00:00:00 2001 From: icanci Date: Fri, 11 Nov 2022 16:51:54 +0800 Subject: [PATCH 1/2] model --- .../rec/admin/biz/mapper/DomainMapper.java | 10 + .../admin/web/auth/UserAccountController.java | 8 +- .../AdminLoginVO.java => AdminLogin.java} | 4 +- .../cn/icanci/rec/admin/web/model/Base.java | 112 +++++++ .../icanci/rec/admin/web/model/BaseData.java | 92 ++++++ .../rec/admin/web/model/DataSource.java | 227 ++++++++++++++ .../cn/icanci/rec/admin/web/model/Domain.java | 32 ++ .../rec/admin/web/model/LogOperate.java | 95 ++++++ .../icanci/rec/admin/web/model/Metadata.java | 76 +++++ .../cn/icanci/rec/admin/web/model/Scene.java | 64 ++++ .../icanci/rec/admin/web/model/Strategy.java | 285 ++++++++++++++++++ 11 files changed, 999 insertions(+), 6 deletions(-) rename rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/{request/AdminLoginVO.java => AdminLogin.java} (95%) create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Base.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/BaseData.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/DataSource.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Domain.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/LogOperate.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Metadata.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Scene.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Strategy.java diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java index 21fc9ef..62c5a98 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java @@ -1,6 +1,10 @@ package cn.icanci.rec.admin.biz.mapper; import ch.qos.logback.classic.pattern.DateConverter; +import cn.icanci.rec.admin.dal.mongodb.dateobject.DomainDO; +import cn.icanci.rec.common.model.config.DomainVO; + +import java.util.List; import org.mapstruct.Mapper; import org.mapstruct.NullValueMappingStrategy; @@ -11,5 +15,11 @@ import org.mapstruct.NullValueMappingStrategy; */ @Mapper(componentModel = "spring", uses = { DateConverter.class }, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) public interface DomainMapper { + DomainVO do2vo(DomainDO domain); + + List dos2vos(List domains); + + DomainDO vo2do(DomainVO domain); + List vos2dos(List domains); } diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/auth/UserAccountController.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/auth/UserAccountController.java index 94b37ba..b8ea318 100644 --- a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/auth/UserAccountController.java +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/auth/UserAccountController.java @@ -1,6 +1,6 @@ package cn.icanci.rec.admin.web.auth; -import cn.icanci.rec.admin.web.model.request.AdminLoginVO; +import cn.icanci.rec.admin.web.model.AdminLogin; import cn.icanci.rec.common.result.R; import cn.icanci.rec.common.result.ResultCodes; @@ -24,9 +24,9 @@ public class UserAccountController { private Logger logger = LoggerFactory.getLogger(UserAccountController.class); @PostMapping("/login") - public R login(@RequestBody(required = false) AdminLoginVO loginVO) { + public R login(@RequestBody(required = false) AdminLogin loginVO) { try { - AdminLoginVO vo = new AdminLoginVO(); + AdminLogin vo = new AdminLogin(); vo.setId(1); vo.setUsername("admin"); vo.setPassword("admin"); @@ -45,7 +45,7 @@ public class UserAccountController { if (StringUtils.isEmpty(username)) { return R.builderOk().code(ResultCodes.LOGIN_TIME_OUT).message("用户已经退出").build(); } - AdminLoginVO vo = new AdminLoginVO(); + AdminLogin vo = new AdminLogin(); vo.setId(1); vo.setUsername("admin"); vo.setPassword("admin"); diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/request/AdminLoginVO.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/AdminLogin.java similarity index 95% rename from rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/request/AdminLoginVO.java rename to rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/AdminLogin.java index 95fb798..90b399f 100644 --- a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/request/AdminLoginVO.java +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/AdminLogin.java @@ -1,4 +1,4 @@ -package cn.icanci.rec.admin.web.model.request; +package cn.icanci.rec.admin.web.model; import java.util.Date; @@ -8,7 +8,7 @@ import java.util.Date; * @author icanci * @since 1.0 Created in 2022/04/25 16:42 */ -public class AdminLoginVO { +public class AdminLogin { /** * 主键 */ diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Base.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Base.java new file mode 100644 index 0000000..753f755 --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Base.java @@ -0,0 +1,112 @@ +package cn.icanci.rec.admin.web.model; + +import java.util.Date; +import java.util.StringJoiner; + +import org.springframework.data.annotation.Id; + +/** + * 基础存储模型 Base + * + * @author icanci(1205068) + * @version Id: BaseDO, v 0.1 2022/10/24 11:26 icanci Exp $ + */ +public class Base { + /** + * 文档id + */ + @Id + private String id; + + /** + * 雪花算法随机UUID + */ + private String uuid; + + /** + * 功能描述 + */ + private String desc; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 状态 0有效,1无效 + */ + private int isDelete; + + /** + * 环境 + */ + private String env; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public int getIsDelete() { + return isDelete; + } + + public void setIsDelete(int isDelete) { + this.isDelete = isDelete; + } + + public String getEnv() { + return env; + } + + public void setEnv(String env) { + this.env = env; + } + + @Override + public String toString() { + return new StringJoiner(",").add("id=" + id).add("uuid=" + uuid).add("desc=" + desc).add("createTime=" + createTime).add("updateTime=" + updateTime) + .add("isDelete=" + isDelete).add("env=" + env).toString(); + } +} \ No newline at end of file diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/BaseData.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/BaseData.java new file mode 100644 index 0000000..1bf25b3 --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/BaseData.java @@ -0,0 +1,92 @@ +package cn.icanci.rec.admin.web.model; + +import cn.icanci.rec.common.enums.DataTypeEnum; +import cn.icanci.rec.common.enums.ResultTypeEnum; +import cn.icanci.rec.common.enums.ScriptTypeEnum; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 11:41 + */ +public class BaseData extends Base { + /** + * 域Code + */ + private String domainCode; + /** + * 基础数据名称 + */ + private String fieldName; + /** + * 数据类型(布尔、字符串、数值、日期、元数据等) + * + * @see DataTypeEnum#name() + */ + private String dataType; + /** + * 脚本执行类型 + * + * @see ScriptTypeEnum#name() + */ + private String scriptType; + /** + * 脚本内容 + */ + private String scriptContent; + /** + * TODO 是否有必要 + * 脚本执行返回类型(只能是基本数据类型) + * + * @see ResultTypeEnum#name() + */ + @Deprecated + private String resultType; + + public String getDomainCode() { + return domainCode; + } + + public void setDomainCode(String domainCode) { + this.domainCode = domainCode; + } + + public String getFieldName() { + return fieldName; + } + + public void setFieldName(String fieldName) { + this.fieldName = fieldName; + } + + public String getDataType() { + return dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + + public String getScriptType() { + return scriptType; + } + + public void setScriptType(String scriptType) { + this.scriptType = scriptType; + } + + public String getScriptContent() { + return scriptContent; + } + + public void setScriptContent(String scriptContent) { + this.scriptContent = scriptContent; + } + + public String getResultType() { + return resultType; + } + + public void setResultType(String resultType) { + this.resultType = resultType; + } +} diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/DataSource.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/DataSource.java new file mode 100644 index 0000000..e069a10 --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/DataSource.java @@ -0,0 +1,227 @@ +package cn.icanci.rec.admin.web.model; + +import cn.icanci.rec.common.enums.DataSourceTypeEnum; +import cn.icanci.rec.common.enums.HttpRequestTypeEnum; +import cn.icanci.rec.common.enums.ScriptTypeEnum; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 11:43 + */ +public class DataSource extends Base { + + /** + * 数据源名称 + */ + private String dataSourceName; + /** + * 数据源Code + */ + private String dataSourceCode; + /** + * 数据源类型 + * @see DataSourceTypeEnum@name() + */ + private String dataSourceType; + /** + * 数据源为脚本的执行数据集 + */ + private ScriptInfo scriptInfo; + /** + * 数据源为HTTP的执行数据集 + */ + private HttpInfo httpInfo; + /** + * 数据源为SQL的执行数据集 + */ + private SqlInfo sqlInfo; + + /** + * 数据源为脚本的执行数据集 + */ + public static class ScriptInfo { + /** + * 脚本执行类型 + * + * @see ScriptTypeEnum#name() + * + */ + private String scriptType; + /** + * 脚本内容 + */ + private String scriptContent; + + /** + * 执行超时时间,秒 + * 为0则不做限制 + */ + private int timeout; + + public String getScriptType() { + return scriptType; + } + + public void setScriptType(String scriptType) { + this.scriptType = scriptType; + } + + public String getScriptContent() { + return scriptContent; + } + + public void setScriptContent(String scriptContent) { + this.scriptContent = scriptContent; + } + + public int getTimeout() { + return timeout; + } + + public void setTimeout(int timeout) { + this.timeout = timeout; + } + } + + /** + * 数据源为HTTP的执行数据集 + */ + public static class HttpInfo { + /** + * 请求数据类型 + * + * @see HttpRequestTypeEnum#name() + */ + private String httpRequestType; + /** + * 请求接口 + */ + private String reqUrl; + /** + * 请求参数 + * + * @see HttpRequestTypeEnum#POST 时有效 + */ + private String reqParam; + + /** + * 请求超时时间,秒 + * 为0则不做限制,则最大超时时间为5s + */ + private int timeout; + + public String getHttpRequestType() { + return httpRequestType; + } + + public void setHttpRequestType(String httpRequestType) { + this.httpRequestType = httpRequestType; + } + + public String getReqUrl() { + return reqUrl; + } + + public void setReqUrl(String reqUrl) { + this.reqUrl = reqUrl; + } + + public String getReqParam() { + return reqParam; + } + + public void setReqParam(String reqParam) { + this.reqParam = reqParam; + } + + public int getTimeout() { + return timeout; + } + + public void setTimeout(int timeout) { + this.timeout = timeout; + } + } + + /** + * 数据源为SQL的执行数据集 + */ + public static class SqlInfo { + /** + * SQL 语句,只支持查询语句 + * + * 查询默认数据库 rec_ext + */ + private String sql; + + /** + * 执行超时时间,秒 + * 为0则不作限制 + */ + private int timeout; + + public String getSql() { + return sql; + } + + public void setSql(String sql) { + this.sql = sql; + } + + public int getTimeout() { + return timeout; + } + + public void setTimeout(int timeout) { + this.timeout = timeout; + } + } + + public String getDataSourceName() { + return dataSourceName; + } + + public void setDataSourceName(String dataSourceName) { + this.dataSourceName = dataSourceName; + } + + public String getDataSourceCode() { + return dataSourceCode; + } + + public void setDataSourceCode(String dataSourceCode) { + this.dataSourceCode = dataSourceCode; + } + + public String getDataSourceType() { + return dataSourceType; + } + + public void setDataSourceType(String dataSourceType) { + this.dataSourceType = dataSourceType; + } + + public ScriptInfo getScriptInfo() { + return scriptInfo; + } + + public void setScriptInfo(ScriptInfo scriptInfo) { + this.scriptInfo = scriptInfo; + } + + public HttpInfo getHttpInfo() { + return httpInfo; + } + + public void setHttpInfo(HttpInfo httpInfo) { + this.httpInfo = httpInfo; + } + + public SqlInfo getSqlInfo() { + return sqlInfo; + } + + public void setSqlInfo(SqlInfo sqlInfo) { + this.sqlInfo = sqlInfo; + } +} diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Domain.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Domain.java new file mode 100644 index 0000000..25f8a24 --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Domain.java @@ -0,0 +1,32 @@ +package cn.icanci.rec.admin.web.model; + +/** + * @author icanci + * @since 1.0 Created in 2022/10/30 15:14 + */ +public class Domain extends Base { + /** + * 域名称 + */ + private String domainName; + /** + * 域Code + */ + private String domainCode; + + public String getDomainName() { + return domainName; + } + + public void setDomainName(String domainName) { + this.domainName = domainName; + } + + public String getDomainCode() { + return domainCode; + } + + public void setDomainCode(String domainCode) { + this.domainCode = domainCode; + } +} diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/LogOperate.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/LogOperate.java new file mode 100644 index 0000000..aa15322 --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/LogOperate.java @@ -0,0 +1,95 @@ +package cn.icanci.rec.admin.web.model; + +import cn.icanci.rec.common.enums.LogOperatorTypeEnum; + +import java.util.Date; + +import org.springframework.data.annotation.Id; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 13:39 + */ +public class LogOperate { + /** 编号 */ + @Id + private String id; + + /** 操作模块 */ + private String module; + + /** 对象编号 */ + private String targetId; + + /** + * 操作类型 + * + * @see LogOperatorTypeEnum#name() + */ + private String operatorType; + + /** 操作内容 */ + private String content; + + /** 创建时间 */ + private Date createTime; + + /** 环境 */ + private String env; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getModule() { + return module; + } + + public void setModule(String module) { + this.module = module; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getOperatorType() { + return operatorType; + } + + public void setOperatorType(String operatorType) { + this.operatorType = operatorType; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public Date getCreateTime() { + return createTime; + } + + 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-web/src/main/java/cn/icanci/rec/admin/web/model/Metadata.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Metadata.java new file mode 100644 index 0000000..52fdef5 --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Metadata.java @@ -0,0 +1,76 @@ +package cn.icanci.rec.admin.web.model; + +import java.util.List; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 13:33 + */ +public class Metadata extends Base { + /** + * 域Code + */ + private String domainCode; + /** + * 元数据名称 + */ + private String metadataName; + /** + * 元数据对 + */ + private List metadataPairs; + + public String getDomainCode() { + return domainCode; + } + + public void setDomainCode(String domainCode) { + this.domainCode = domainCode; + } + + public String getMetadataName() { + return metadataName; + } + + public void setMetadataName(String metadataName) { + this.metadataName = metadataName; + } + + public List getMetadataPairs() { + return metadataPairs; + } + + public void setMetadataPairs(List metadataPairs) { + this.metadataPairs = metadataPairs; + } + + /** + * 元数据对 + */ + public static class MetadataPair { + /** + * key + */ + private String key; + /** + * value + */ + private String value; + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Scene.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Scene.java new file mode 100644 index 0000000..a281c83 --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Scene.java @@ -0,0 +1,64 @@ +package cn.icanci.rec.admin.web.model; + +import java.util.List; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 13:34 + */ +public class Scene extends Base { + /** + * 域Code + */ + private String domainCode; + /** + * 场景对 + */ + private List scenePairs; + + public String getDomainCode() { + return domainCode; + } + + public void setDomainCode(String domainCode) { + this.domainCode = domainCode; + } + + public List getScenePairs() { + return scenePairs; + } + + public void setScenePairs(List scenePairs) { + this.scenePairs = scenePairs; + } + + /** + * 场景对 + */ + public static class ScenePair { + /** + * 场景名称 + */ + private String sceneName; + /** + * 场景Code + */ + private String sceneCode; + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSceneCode() { + return sceneCode; + } + + public void setSceneCode(String sceneCode) { + this.sceneCode = sceneCode; + } + } +} diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Strategy.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Strategy.java new file mode 100644 index 0000000..a443066 --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/model/Strategy.java @@ -0,0 +1,285 @@ +package cn.icanci.rec.admin.web.model; + +import cn.icanci.rec.common.enums.*; + +import java.util.List; + +/** + * @author icanci(1205068) + * @version Id: StrategyDO, v 0.1 2022/10/29 21:26 icanci Exp $ + */ +public class Strategy extends Base { + /** + * 域Code + */ + private String domainCode; + /** + * 场景Code + */ + private String sceneCode; + /** + * 策略组名称 + */ + private String strategyName; + /** + * 数据源类型(脚本、接口、SQL) + * + * @see DataSourceTypeEnum#name() + */ + private String dataSourceType; + /** + * 数据源关联Code + */ + private String dataSourceCode; + /** + * 规则配置类型(默认为List) + * + * @see RuleTypeEnum#name() + */ + private String ruleType; + /** + * 规则配置类型为List时候的规则数据 + */ + private RuleListInfo ruleListInfo; + /** + * 规则配置类型为Tree时候的规则数据 + */ + private RuleTreeInfo ruleTreeInfo; + + public String getDomainCode() { + return domainCode; + } + + public void setDomainCode(String domainCode) { + this.domainCode = domainCode; + } + + public String getSceneCode() { + return sceneCode; + } + + public void setSceneCode(String sceneCode) { + this.sceneCode = sceneCode; + } + + public String getStrategyName() { + return strategyName; + } + + public void setStrategyName(String strategyName) { + this.strategyName = strategyName; + } + + public String getDataSourceType() { + return dataSourceType; + } + + public void setDataSourceType(String dataSourceType) { + this.dataSourceType = dataSourceType; + } + + public String getDataSourceCode() { + return dataSourceCode; + } + + public void setDataSourceCode(String dataSourceCode) { + this.dataSourceCode = dataSourceCode; + } + + public String getRuleType() { + return ruleType; + } + + public void setRuleType(String ruleType) { + this.ruleType = ruleType; + } + + public RuleListInfo getRuleListInfo() { + return ruleListInfo; + } + + public void setRuleListInfo(RuleListInfo ruleListInfo) { + this.ruleListInfo = ruleListInfo; + } + + public RuleTreeInfo getRuleTreeInfo() { + return ruleTreeInfo; + } + + public void setRuleTreeInfo(RuleTreeInfo ruleTreeInfo) { + this.ruleTreeInfo = ruleTreeInfo; + } + + /** + * 规则配置类型为List时候的规则数据 + */ + public static class RuleListInfo { + /** + * 平级结构 + * + * 多个conditions为或的关系 + */ + private List conditions; + + public List getConditions() { + return conditions; + } + + public void setConditions(List conditions) { + this.conditions = conditions; + } + } + + /** + * 平级结构 + */ + public static class Condition { + /** + * 组集合 + * 每一组内为且的关系 + */ + private List group; + + public List getGroup() { + return group; + } + + public void setGroup(List group) { + this.group = group; + } + } + + /** + * 单元结构 + */ + public static class SingleCondition { + + /** 单元名称 */ + private String name; + + /** 左值:基础数据uuid */ + private String leftValue; + + /** + * 操作符 + * + * @see OperatorEnum#name() + */ + private String operator; + + /** 右值 */ + private String rightValue; + + /** + * 是否中断执行 + * + * @see InterruptEnum#name() + */ + private String interrupt; + + /** + * 命中到当前条件的返回值类型 + * + * 满足 {@link InterruptEnum#TRUE } 时候返回值 + * @see ResultTypeEnum#name() + */ + private String resultType; + /** + * 命中到当前条件的返回值 + * + * 满足 {@link InterruptEnum#TRUE } 时候返回值 + */ + private String returnVal; + + /** + * 当前规则的子配置项 + * 一个规则自配置可以有多组,每组可能有多个,每组的每个也是一个配置项 + * + * Tree 结构的 SingleCondition#children 会存储值 + * 非Tree结构则为空数组 + */ + List children; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getLeftValue() { + return leftValue; + } + + public void setLeftValue(String leftValue) { + this.leftValue = leftValue; + } + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + public String getRightValue() { + return rightValue; + } + + public void setRightValue(String rightValue) { + this.rightValue = rightValue; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public String getInterrupt() { + return interrupt; + } + + public void setInterrupt(String interrupt) { + this.interrupt = interrupt; + } + + public String getResultType() { + return resultType; + } + + public void setResultType(String resultType) { + this.resultType = resultType; + } + + public String getReturnVal() { + return returnVal; + } + + public void setReturnVal(String returnVal) { + this.returnVal = returnVal; + } + } + + /** + * 规则配置类型为Tree时候的规则数据 + */ + public static class RuleTreeInfo { + /** + * 多个conditions为或的关系 + */ + private List conditions; + + public List getConditions() { + return conditions; + } + + public void setConditions(List conditions) { + this.conditions = conditions; + } + } +} \ No newline at end of file -- Gitee From eb6a3f647ee5f2319c67fd1355000a80c9cd2044 Mon Sep 17 00:00:00 2001 From: icanci Date: Fri, 11 Nov 2022 17:56:24 +0800 Subject: [PATCH 2/2] convertor & mapper --- .../rec/admin/biz/mapper/BaseDataMapper.java | 19 ++++++++ .../rec/admin/biz/mapper/BaseMapper.java | 18 +++++++ .../admin/biz/mapper/DataSourceMapper.java | 31 ++++++++++++ .../rec/admin/biz/mapper/DomainMapper.java | 14 +----- .../rec/admin/biz/mapper/MetadataMapper.java | 18 +++++++ .../rec/admin/biz/mapper/SceneMapper.java | 19 ++++++++ .../rec/admin/biz/mapper/StrategyMapper.java | 33 +++++++++++++ .../convertor/AbstractBaseConverter.java | 48 +++++++++++++++++++ .../biz/mapper/convertor/BaseConverter.java | 23 +++++++++ .../DataSourceTypeEnumConverter.java | 13 +++++ .../convertor/DataTypeEnumConverter.java | 14 ++++++ .../HttpRequestTypeEnumConverter.java | 13 +++++ .../convertor/InterruptEnumConverter.java | 13 +++++ .../LogOperatorTypeEnumConverter.java | 13 +++++ .../convertor/OperatorEnumConverter.java | 13 +++++ .../convertor/ResultTypeEnumConverter.java | 13 +++++ .../convertor/RuleTypeEnumConverter.java | 13 +++++ .../convertor/ScriptTypeEnumConverter.java | 13 +++++ .../rec/admin/web/mapper/DomainWebMapper.java | 25 ++++++++++ 19 files changed, 354 insertions(+), 12 deletions(-) create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseDataMapper.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DataSourceMapper.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/MetadataMapper.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/SceneMapper.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/StrategyMapper.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/AbstractBaseConverter.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/BaseConverter.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/DataSourceTypeEnumConverter.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/DataTypeEnumConverter.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/HttpRequestTypeEnumConverter.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/InterruptEnumConverter.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/LogOperatorTypeEnumConverter.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/OperatorEnumConverter.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/ResultTypeEnumConverter.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/RuleTypeEnumConverter.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/ScriptTypeEnumConverter.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/mapper/DomainWebMapper.java diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseDataMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseDataMapper.java new file mode 100644 index 0000000..be0d74f --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseDataMapper.java @@ -0,0 +1,19 @@ +package cn.icanci.rec.admin.biz.mapper; + +import cn.icanci.rec.admin.biz.mapper.convertor.DataTypeEnumConverter; +import cn.icanci.rec.admin.biz.mapper.convertor.ResultTypeEnumConverter; +import cn.icanci.rec.admin.biz.mapper.convertor.ScriptTypeEnumConverter; +import cn.icanci.rec.admin.dal.mongodb.dateobject.BaseDataDO; +import cn.icanci.rec.common.model.config.BaseDataVO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:19 + */ +@Mapper(componentModel = "spring", uses = { DataTypeEnumConverter.class, ScriptTypeEnumConverter.class, + ResultTypeEnumConverter.class }, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface BaseDataMapper extends BaseMapper { +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java new file mode 100644 index 0000000..08cfbe6 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java @@ -0,0 +1,18 @@ +package cn.icanci.rec.admin.biz.mapper; + +import java.util.List; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:20 + */ +public interface BaseMapper { + + R do2vo(T t); + + List dos2vos(List ts); + + T vo2do(R r); + + List vos2dos(List rs); +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DataSourceMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DataSourceMapper.java new file mode 100644 index 0000000..a293526 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DataSourceMapper.java @@ -0,0 +1,31 @@ +package cn.icanci.rec.admin.biz.mapper; + +import cn.icanci.rec.admin.biz.mapper.convertor.DataSourceTypeEnumConverter; +import cn.icanci.rec.admin.biz.mapper.convertor.HttpRequestTypeEnumConverter; +import cn.icanci.rec.admin.biz.mapper.convertor.ScriptTypeEnumConverter; +import cn.icanci.rec.admin.dal.mongodb.dateobject.DataSourceDO; +import cn.icanci.rec.common.model.config.DataSourceVO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:29 + */ +@Mapper(componentModel = "spring", uses = { DataSourceTypeEnumConverter.class, ScriptTypeEnumConverter.class, + HttpRequestTypeEnumConverter.class }, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface DataSourceMapper extends BaseMapper { + + DataSourceVO.ScriptInfo do2vo(DataSourceDO.ScriptInfo scriptInfo); + + DataSourceDO.ScriptInfo vo2do(DataSourceVO.ScriptInfo scriptInfo); + + DataSourceVO.HttpInfo do2vo(DataSourceDO.HttpInfo httpInfo); + + DataSourceDO.HttpInfo vo2do(DataSourceVO.HttpInfo httpInfo); + + DataSourceVO.SqlInfo do2vo(DataSourceDO.SqlInfo sqlInfo); + + DataSourceDO.SqlInfo vo2do(DataSourceVO.SqlInfo sqlInfo); +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java index 62c5a98..e72e954 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java @@ -1,11 +1,8 @@ package cn.icanci.rec.admin.biz.mapper; -import ch.qos.logback.classic.pattern.DateConverter; import cn.icanci.rec.admin.dal.mongodb.dateobject.DomainDO; import cn.icanci.rec.common.model.config.DomainVO; -import java.util.List; - import org.mapstruct.Mapper; import org.mapstruct.NullValueMappingStrategy; @@ -13,13 +10,6 @@ import org.mapstruct.NullValueMappingStrategy; * @author icanci * @since 1.0 Created in 2022/10/30 21:16 */ -@Mapper(componentModel = "spring", uses = { DateConverter.class }, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) -public interface DomainMapper { - DomainVO do2vo(DomainDO domain); - - List dos2vos(List domains); - - DomainDO vo2do(DomainVO domain); - - List vos2dos(List domains); +@Mapper(componentModel = "spring", nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface DomainMapper extends BaseMapper { } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/MetadataMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/MetadataMapper.java new file mode 100644 index 0000000..7151404 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/MetadataMapper.java @@ -0,0 +1,18 @@ +package cn.icanci.rec.admin.biz.mapper; + +import cn.icanci.rec.admin.dal.mongodb.dateobject.MetadataDO; +import cn.icanci.rec.common.model.config.MetadataVO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:40 + */ +@Mapper(componentModel = "spring", nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface MetadataMapper extends BaseMapper { + MetadataVO.MetadataPair do2vo(MetadataDO.MetadataPair metadataPair); + + MetadataDO.MetadataPair vo2do(MetadataVO.MetadataPair metadataPair); +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/SceneMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/SceneMapper.java new file mode 100644 index 0000000..fc7c306 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/SceneMapper.java @@ -0,0 +1,19 @@ +package cn.icanci.rec.admin.biz.mapper; + +import cn.icanci.rec.admin.dal.mongodb.dateobject.SceneDO; +import cn.icanci.rec.common.model.config.SceneVO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:43 + */ +@Mapper(componentModel = "spring", nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface SceneMapper extends BaseMapper { + + SceneVO.ScenePair do2vo(SceneDO.ScenePair scenePair); + + SceneDO.ScenePair vo2do(SceneVO.ScenePair scenePair); +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/StrategyMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/StrategyMapper.java new file mode 100644 index 0000000..57d4fcd --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/StrategyMapper.java @@ -0,0 +1,33 @@ +package cn.icanci.rec.admin.biz.mapper; + +import cn.icanci.rec.admin.biz.mapper.convertor.*; +import cn.icanci.rec.admin.dal.mongodb.dateobject.StrategyDO; +import cn.icanci.rec.common.model.config.StrategyVO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:49 + */ +@Mapper(componentModel = "spring", uses = { DataSourceTypeEnumConverter.class, RuleTypeEnumConverter.class, OperatorEnumConverter.class, InterruptEnumConverter.class, + ResultTypeEnumConverter.class }, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface StrategyMapper extends BaseMapper { + StrategyVO.RuleListInfo do2vo(StrategyVO.RuleListInfo ruleListInfo); + + StrategyDO.RuleListInfo vo2do(StrategyVO.RuleListInfo ruleListInfo); + + StrategyVO.RuleTreeInfo do2vo(StrategyVO.RuleTreeInfo ruleTreeInfo); + + StrategyDO.RuleTreeInfo vo2do(StrategyVO.RuleTreeInfo ruleTreeInfo); + + StrategyVO.Condition do2vo(StrategyDO.Condition condition); + + StrategyDO.Condition vo2do(StrategyVO.Condition condition); + + StrategyVO.SingleCondition do2vo(StrategyDO.SingleCondition singleCondition); + + StrategyDO.SingleCondition vo2do(StrategyVO.SingleCondition singleCondition); + +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/AbstractBaseConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/AbstractBaseConverter.java new file mode 100644 index 0000000..762ff93 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/AbstractBaseConverter.java @@ -0,0 +1,48 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; + +import org.apache.commons.lang3.StringUtils; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:03 + */ +public abstract class AbstractBaseConverter implements BaseConverter { + @Override + public String asString(T t) { + if (t != null) { + return t.name(); + } + return null; + } + + @SuppressWarnings("all") + @Override + public T asEnum(String str) { + if (StringUtils.isBlank(str)) { + return null; + } + Class clazz = getClass(); + Class actualTypeArgument = (Class) GenericSuperclassUtil.getActualTypeArgument(clazz); + return (T) T.valueOf(actualTypeArgument, str); + } + + /** + * 获取泛型类Class对象,不是泛型类则返回null + */ + private static final class GenericSuperclassUtil { + public static Class getActualTypeArgument(Class clazz) { + Class entityClass = null; + Type genericSuperclass = clazz.getGenericSuperclass(); + if (genericSuperclass instanceof ParameterizedType) { + Type[] actualTypeArguments = ((ParameterizedType) genericSuperclass).getActualTypeArguments(); + if (actualTypeArguments != null && actualTypeArguments.length > 0) { + entityClass = (Class) actualTypeArguments[0]; + } + } + return entityClass; + } + } +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/BaseConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/BaseConverter.java new file mode 100644 index 0000000..9f21120 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/BaseConverter.java @@ -0,0 +1,23 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:00 + */ +public interface BaseConverter { + /** + * 枚举转编码 + * + * @param t 枚举 + * @return 编码 + */ + String asString(T t); + + /** + * 编码转枚举 + * + * @param str 编码 + * @return 枚举 + */ + public T asEnum(String str); +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/DataSourceTypeEnumConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/DataSourceTypeEnumConverter.java new file mode 100644 index 0000000..3b185a9 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/DataSourceTypeEnumConverter.java @@ -0,0 +1,13 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +import cn.icanci.rec.common.enums.DataSourceTypeEnum; + +import org.springframework.stereotype.Component; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 16:59 + */ +@Component +public class DataSourceTypeEnumConverter extends AbstractBaseConverter { +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/DataTypeEnumConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/DataTypeEnumConverter.java new file mode 100644 index 0000000..2742e8e --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/DataTypeEnumConverter.java @@ -0,0 +1,14 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +import cn.icanci.rec.common.enums.DataTypeEnum; + +import org.springframework.stereotype.Component; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:00 + */ +@Component +public class DataTypeEnumConverter extends AbstractBaseConverter { + +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/HttpRequestTypeEnumConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/HttpRequestTypeEnumConverter.java new file mode 100644 index 0000000..fee74f4 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/HttpRequestTypeEnumConverter.java @@ -0,0 +1,13 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +import cn.icanci.rec.common.enums.HttpRequestTypeEnum; + +import org.springframework.stereotype.Component; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:12 + */ +@Component +public class HttpRequestTypeEnumConverter extends AbstractBaseConverter { +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/InterruptEnumConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/InterruptEnumConverter.java new file mode 100644 index 0000000..781176e --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/InterruptEnumConverter.java @@ -0,0 +1,13 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +import cn.icanci.rec.common.enums.InterruptEnum; + +import org.springframework.stereotype.Component; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:14 + */ +@Component +public class InterruptEnumConverter extends AbstractBaseConverter { +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/LogOperatorTypeEnumConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/LogOperatorTypeEnumConverter.java new file mode 100644 index 0000000..621da74 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/LogOperatorTypeEnumConverter.java @@ -0,0 +1,13 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +import cn.icanci.rec.common.enums.LogOperatorTypeEnum; + +import org.springframework.stereotype.Component; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:14 + */ +@Component +public class LogOperatorTypeEnumConverter extends AbstractBaseConverter { +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/OperatorEnumConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/OperatorEnumConverter.java new file mode 100644 index 0000000..52d5cd8 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/OperatorEnumConverter.java @@ -0,0 +1,13 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +import cn.icanci.rec.common.enums.OperatorEnum; + +import org.springframework.stereotype.Component; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:15 + */ +@Component +public class OperatorEnumConverter extends AbstractBaseConverter { +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/ResultTypeEnumConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/ResultTypeEnumConverter.java new file mode 100644 index 0000000..ae16a17 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/ResultTypeEnumConverter.java @@ -0,0 +1,13 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +import cn.icanci.rec.common.enums.ResultTypeEnum; + +import org.springframework.stereotype.Component; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:15 + */ +@Component +public class ResultTypeEnumConverter extends AbstractBaseConverter { +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/RuleTypeEnumConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/RuleTypeEnumConverter.java new file mode 100644 index 0000000..4d8c67c --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/RuleTypeEnumConverter.java @@ -0,0 +1,13 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +import cn.icanci.rec.common.enums.RuleTypeEnum; + +import org.springframework.stereotype.Component; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:16 + */ +@Component +public class RuleTypeEnumConverter extends AbstractBaseConverter { +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/ScriptTypeEnumConverter.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/ScriptTypeEnumConverter.java new file mode 100644 index 0000000..3a33e27 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/convertor/ScriptTypeEnumConverter.java @@ -0,0 +1,13 @@ +package cn.icanci.rec.admin.biz.mapper.convertor; + +import cn.icanci.rec.common.enums.ScriptTypeEnum; + +import org.springframework.stereotype.Component; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 17:16 + */ +@Component +public class ScriptTypeEnumConverter extends AbstractBaseConverter { +} diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/mapper/DomainWebMapper.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/mapper/DomainWebMapper.java new file mode 100644 index 0000000..47e3491 --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/mapper/DomainWebMapper.java @@ -0,0 +1,25 @@ +package cn.icanci.rec.admin.web.mapper; + +import cn.icanci.rec.admin.web.model.Domain; +import cn.icanci.rec.common.model.config.DomainVO; + +import java.util.List; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/11 16:55 + */ +@Mapper(componentModel = "spring", uses = {}, imports = {}, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface DomainWebMapper { + + DomainVO do2vo(Domain domain); + + List dos2vos(List domains); + + Domain vo2do(DomainVO domain); + + List vos2dos(List domains); +} -- Gitee