diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseService.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseService.java index bea481a2b24d40221991467fda8b59b2d5ab7a9d..29aa00f4481da76b1e595a9291852ac0e5e2c64f 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseService.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/BaseService.java @@ -14,6 +14,12 @@ import org.apache.commons.lang3.StringUtils; * @since 1.0 Created in 2022/11/12 08:51 */ public interface BaseService { + /** label 格式化 */ + String DELETED_FORMAT = "[无效] %s"; + + /** label 格式化 */ + String NOT_DELETED_FORMAT = "[有效] %s"; + /** * 查询所有 T * diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/MetadataService.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/MetadataService.java index 54c32152dd7b9ff88752a1296e3b33a80c2fb398..ce1f42839ea3c3f89327bef06592d3d8de839c2f 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/MetadataService.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/MetadataService.java @@ -1,6 +1,7 @@ package cn.icanci.rec.admin.biz.service; import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.common.model.TextValue; import cn.icanci.rec.common.model.config.MetadataVO; import java.util.List; @@ -22,4 +23,21 @@ public interface MetadataService extends BaseService { @Override PageList queryPage(MetadataVO metadataVO, int pageNum, int pageSize); + /** + * 加载元数据 + * + * @param domainCode domainCode + * @return 返回元数据 + */ + List loadSelector(String domainCode); + + /** + * 根据metadataName查询元数据 + * + * + * @param metadataName metadataName + * @param domainCode domainCode + * @return 返回元数据 + */ + MetadataVO queryByMetadataName(String metadataName, String domainCode); } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/SceneService.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/SceneService.java index 38e732f0e8232e3209197020a6753cf6317f17bd..18679d3abb1be5cf0270bf33ed1f83e03d1998c8 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/SceneService.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/SceneService.java @@ -1,6 +1,7 @@ package cn.icanci.rec.admin.biz.service; import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.common.model.TextValue; import cn.icanci.rec.common.model.config.SceneVO; import java.util.List; @@ -29,4 +30,11 @@ public interface SceneService extends BaseService { * @return 返回场景信息 */ SceneVO queryByDomainCode(String domainCode); + + /** + * 加载场景 + * + * @return 加载场景 + */ + List loadSelector(String domainCode); } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java index f0757ce46ca3616f7d780cf955c7e69143515d2c..13a758128cc1e36454b7a3a2009aa917576520fb 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java @@ -31,16 +31,11 @@ import com.google.common.collect.Lists; @Service public class DomainServiceImpl implements DomainService { @Resource - private DomainDAO domainDAO; + private DomainDAO domainDAO; @Resource - private DomainMapper domainMapper; + private DomainMapper domainMapper; @Resource - private EventDispatcher eventDispatcher; - - /** label 格式化 */ - private static final String DELETED_FORMAT = "[无效] %s"; - /** label 格式化 */ - private static final String NOT_DELETED_FORMAT = "[有效] %s"; + private EventDispatcher eventDispatcher; @Override public List queryAll() { @@ -50,8 +45,9 @@ public class DomainServiceImpl implements DomainService { @Override public void save(DomainVO domain) { if (doInsert(domain)) { - domainDAO.insert(domainMapper.vo2do(domain)); - eventDispatcher.fire(new LogEvent(domain.getUuid(), ModuleTypeEnum.REC_DOMAIN, JSON.toJSONString(domain), LogOperatorTypeEnum.CREATE)); + DomainDO insert = domainMapper.vo2do(domain); + domainDAO.insert(insert); + eventDispatcher.fire(new LogEvent(insert.getUuid(), ModuleTypeEnum.REC_DOMAIN, JSON.toJSONString(insert), LogOperatorTypeEnum.CREATE)); } else { domainDAO.update(domainMapper.vo2do(domain)); eventDispatcher.fire(new LogEvent(domain.getUuid(), ModuleTypeEnum.REC_DOMAIN, JSON.toJSONString(domain), LogOperatorTypeEnum.UPDATE)); @@ -96,6 +92,6 @@ public class DomainServiceImpl implements DomainService { String value = domain.getDomainCode(); textValues.add(new TextValue(label, value)); } - return null; + return textValues; } } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/MetadataServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/MetadataServiceImpl.java index 4de1f7c65a5f3dd5a9070b5fc43d35e9bc362976..169c91e928734d4ec38b1fdacd220b6b3b39eea4 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/MetadataServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/MetadataServiceImpl.java @@ -1,18 +1,27 @@ package cn.icanci.rec.admin.biz.service.impl; +import cn.icanci.rec.admin.biz.event.log.LogEvent; import cn.icanci.rec.admin.biz.mapper.MetadataMapper; import cn.icanci.rec.admin.biz.service.MetadataService; 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 cn.icanci.rec.common.enums.LogOperatorTypeEnum; +import cn.icanci.rec.common.enums.ModuleTypeEnum; +import cn.icanci.rec.common.model.TextValue; import cn.icanci.rec.common.model.config.MetadataVO; +import cn.icanci.rec.spi.event.EventDispatcher; import java.util.List; import javax.annotation.Resource; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; + /** * @author icanci * @since 1.0 Created in 2022/11/12 10:18 @@ -20,9 +29,11 @@ import org.springframework.stereotype.Service; @Service public class MetadataServiceImpl implements MetadataService { @Resource - private MetadataDAO metadataDAO; + private MetadataDAO metadataDAO; + @Resource + private MetadataMapper metadataMapper; @Resource - private MetadataMapper metadataMapper; + private EventDispatcher eventDispatcher; @Override public List queryAll() { @@ -32,9 +43,12 @@ public class MetadataServiceImpl implements MetadataService { @Override public void save(MetadataVO metadata) { if (doInsert(metadata)) { - metadataDAO.insert(metadataMapper.vo2do(metadata)); + MetadataDO insert = metadataMapper.vo2do(metadata); + metadataDAO.insert(insert); + eventDispatcher.fire(new LogEvent(insert.getUuid(), ModuleTypeEnum.REC_METADATA, JSON.toJSONString(insert), LogOperatorTypeEnum.CREATE)); } else { metadataDAO.update(metadataMapper.vo2do(metadata)); + eventDispatcher.fire(new LogEvent(metadata.getUuid(), ModuleTypeEnum.REC_METADATA, JSON.toJSONString(metadata), LogOperatorTypeEnum.UPDATE)); } } @@ -48,4 +62,30 @@ public class MetadataServiceImpl implements MetadataService { PageList pageQuery = metadataDAO.pageQuery(metadataMapper.vo2do(metadata), pageNum, pageSize); return new PageList<>(metadataMapper.dos2vos(pageQuery.getData()), pageQuery.getPaginator()); } + + @Override + public List loadSelector(String domainCode) { + List metadatas = queryAll(); + if (CollectionUtils.isEmpty(metadatas)) { + return Lists.newArrayList(); + } + List textValues = Lists.newArrayList(); + for (MetadataVO metadata : metadatas) { + String label; + String metadataName = metadata.getMetadataName(); + if (isDeleted(metadata)) { + label = String.format(DELETED_FORMAT, metadataName); + } else { + label = String.format(NOT_DELETED_FORMAT, metadataName); + } + textValues.add(new TextValue(label, metadata.getDomainCode(), metadata.getMetadataPairs())); + } + return textValues; + } + + @Override + public MetadataVO queryByMetadataName(String metadataName, String domainCode) { + MetadataDO metadata = metadataDAO.queryByMetadataName(metadataName, domainCode); + return metadataMapper.do2vo(metadata); + } } \ No newline at end of file diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/SceneServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/SceneServiceImpl.java index 5d283441de67b06a69c1a8414d6df98c740513a1..b2e00a25a4fac7a607652a440a9bbfca861f2e4f 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/SceneServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/SceneServiceImpl.java @@ -5,12 +5,14 @@ import cn.icanci.rec.admin.biz.service.SceneService; 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 cn.icanci.rec.common.model.TextValue; import cn.icanci.rec.common.model.config.SceneVO; import java.util.List; import javax.annotation.Resource; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import com.google.common.collect.Lists; @@ -62,4 +64,17 @@ public class SceneServiceImpl implements SceneService { } return sceneMapper.do2vo(scene); } + + @Override + public List loadSelector(String domainCode) { + SceneVO sceneVO = queryByDomainCode(domainCode); + if (sceneVO == null || CollectionUtils.isEmpty(sceneVO.getScenePairs())) { + return Lists.newArrayList(); + } + List textValues = Lists.newArrayList(); + for (SceneVO.ScenePair scenePair : sceneVO.getScenePairs()) { + textValues.add(new TextValue(scenePair.getSceneName(), scenePair.getSceneCode())); + } + return textValues; + } } 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 9c8de07cacb4456b6cc44a1a0a1ee51d3b9905c6..5c8c2e69edf85f03c1a8a7f3e35669260425b110 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,6 +16,8 @@ public interface MetadataDAO extends BaseDAO { */ Class COLLECTION_CLASS = MetadataDO.class; + MetadataDO queryByMetadataName(String metadataName, String domainCode); + interface MetadataColumn extends BaseColumn { /** * 域Code 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 index 77a59916829018d22e1a1eb9f85730ccc8859d9f..a971ca20cdeb239a47b30a5293876804254747c9 100644 --- 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 @@ -64,4 +64,13 @@ public class MongoMetadataDAO extends AbstractBaseDAO implements Met return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); } + + @Override + public MetadataDO queryByMetadataName(String metadataName, String domainCode) { + Criteria criteria = Criteria.where(MetadataColumn.metadataName).is(metadataName); + criteria.and(MetadataColumn.env).is(DEFAULT_ENV); + criteria.and(MetadataColumn.domainCode).is(domainCode); + Query query = new Query(criteria); + return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); + } } diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/domainApi.js b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/domainApi.js index 136a6a10bd89786b3cf166f65a5a7cc5b260ca66..a08318ddd520caa619d8b15774a5c9147b85dcb8 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/domainApi.js +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/domainApi.js @@ -58,14 +58,3 @@ export async function domainPageQuery(domain, paginator) { } }) } - -// export function validateDomainCode(domainCode) { -// return request({ -// url: '/rec/domain/validateDomainName/'+domainCode, -// method: 'get', -// data: { -// username, -// password -// } -// }) -// } diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/loadSelectorApi.js b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/loadSelectorApi.js index acc419072dd983f14adc22dba093808f444bfbf5..efa7986a9589263aca1667294f13dbb928d0e9d4 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/loadSelectorApi.js +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/loadSelectorApi.js @@ -1,10 +1,8 @@ import request from '@/utils/request' /** - * 分页查询 + * loadDomainSelector * - * @param domain domain - * @param paginator paginator * @returns {*} */ export async function loadDomainSelector() { @@ -17,3 +15,34 @@ export async function loadDomainSelector() { } return [] } + +/** + * @param domainCode domainCode + * @returns {*} + */ +export async function loadDomainSceneSelector(domainCode) { + let ret = await request({ + url: '/rec/scene/loadSelector/' + domainCode, + method: 'get', + }); + if (ret.ok) { + return ret.data.textValues; + } + return [] +} + + +/** + * @param domainCode domainCode + * @returns {*} + */ +export async function loadDomainMetadataSelector(domainCode) { + let ret = await request({ + url: '/rec/metadata/loadSelector/' + domainCode, + method: 'get', + }); + if (ret.ok) { + return ret.data.textValues; + } + return [] +} diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/metadataApi.js b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/metadataApi.js new file mode 100644 index 0000000000000000000000000000000000000000..f4458d5858cdd1cbd1b98c2b57f9d0a01d959e26 --- /dev/null +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/metadataApi.js @@ -0,0 +1,47 @@ +import request from '@/utils/request' + +/** + * 验证 domainName + * + * @param domainName domainName + * @returns {*} + */ +export async function remoteValidateMetadataName(domainName, domainCode) { + return await request({ + url: '/rec/metadata/validateMetadataName/' + domainName + "/" + domainCode, + method: 'get', + }) +} + +/** + * 保存 + * + * @param metadata metadata + * @returns {*} + */ +export async function saveMetadata(metadata) { + return await request({ + url: '/rec/metadata/save', + method: 'post', + data: metadata + }) +} + + +/** + * 分页查询 + * + * @param metadata metadata + * @param paginator paginator + * @returns {*} + */ +export async function metadataPageQuery(metadata, paginator) { + return await request({ + url: '/rec/metadata/query', + method: 'post', + data: { + 'metadata': metadata, + 'paginator': paginator + } + }) +} diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-clipboard.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-clipboard.vue new file mode 100644 index 0000000000000000000000000000000000000000..d0bdeeee7444882499d672b61c1a8ee1b2edec9b --- /dev/null +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-clipboard.vue @@ -0,0 +1,54 @@ + + + + diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-log.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-log.vue index 61b733455bbe61489fbe1bed48498e1e5ef1c2d2..c247a9daa59a96f0fa1162ed49ce03b0707126b4 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-log.vue +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-log.vue @@ -34,6 +34,10 @@ prop="content" align="center" label="操作内容"> + - + @@ -54,14 +58,16 @@ diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/domain.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/domain.vue index 24f263f30532b4c24e3ae3751d29ea611e2d74a7..7ae9322b7ddfc8e842f9283e759b2fae6ab61dea 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/domain.vue +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/domain.vue @@ -142,9 +142,14 @@ export default { toEdit(row) { this.$refs.domainForm.load(row); }, - toScene(row){ + toScene(row) { this.$refs.domainScene.load(row); }, + /** + * TODO 域的下线需要进行判断 + * + * @param row row + */ toDisableOrEnable(row) { let vm = this let clone = vm.$cloneObj(row); @@ -164,7 +169,7 @@ export default { }, /** * TODO 删除一条记录比较复杂 - * 不支持删除 + * 暂时不支持删除 * @param row row */ deleteOne(row) { diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/metadata.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/metadata.vue index e7142e9ca597b25accf6720441b417d5985e8320..6c41421fd5a8f72be41d0d0c81dcbe92cf2e6347 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/metadata.vue +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/metadata.vue @@ -1,21 +1,200 @@ diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/MetadataController.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/MetadataController.java new file mode 100644 index 0000000000000000000000000000000000000000..b45fa6f1d51f7cc738d692721b0e49c0f199675e --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/MetadataController.java @@ -0,0 +1,56 @@ +package cn.icanci.rec.admin.web.controller.config; + +import cn.icanci.rec.admin.biz.service.MetadataService; +import cn.icanci.rec.admin.web.form.MetadataQueryForm; +import cn.icanci.rec.admin.web.mapper.MetadataWebMapper; +import cn.icanci.rec.admin.web.model.Metadata; +import cn.icanci.rec.common.model.TextValue; +import cn.icanci.rec.common.model.config.MetadataVO; +import cn.icanci.rec.common.result.R; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.web.bind.annotation.*; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/12 18:03 + */ +@RestController +@RequestMapping("/rec/metadata") +public class MetadataController { + @Resource + private MetadataService metadataService; + @Resource + private MetadataWebMapper metadataWebMapper; + + // ================================ CRUD ================================ + @PostMapping("query") + public R query(@RequestBody MetadataQueryForm form) { + return R.builderOk() + .data("queryPage", metadataService.queryPage(metadataWebMapper.web2vo(form.getMetadata()), form.getPaginator().getCurrentPage(), form.getPaginator().getPageSize())) + .build(); + } + + @PostMapping("save") + public R save(@RequestBody Metadata metadata) { + metadataService.save(metadataWebMapper.web2vo(metadata)); + return R.builderOk().build(); + } + + @GetMapping("validateMetadataName/{metadataName}/{domainCode}") + public R save(@PathVariable("metadataName") String metadataName, @PathVariable("domainCode") String domainCode) { + MetadataVO metadata = metadataService.queryByMetadataName(metadataName, domainCode); + return R.builderOk().data("result", metadata == null).build(); + } + + // ================================ Load Selectors ================================ + + @GetMapping("loadSelector/{domainCode}") + public R loadSelector(@PathVariable("domainCode") String domainCode) { + List textValues = metadataService.loadSelector(domainCode); + return R.builderOk().data("textValues", textValues).build(); + } +} diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/SceneController.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/SceneController.java index 7ac736f87c6858bfb30cf0ab516862bb28b03a7c..a74a6f5e8738c04a297ab6cabec045f59c1cea22 100644 --- a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/SceneController.java +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/SceneController.java @@ -3,8 +3,11 @@ package cn.icanci.rec.admin.web.controller.config; import cn.icanci.rec.admin.biz.service.SceneService; import cn.icanci.rec.admin.web.mapper.SceneWebMapper; import cn.icanci.rec.admin.web.model.Scene; +import cn.icanci.rec.common.model.TextValue; import cn.icanci.rec.common.result.R; +import java.util.List; + import javax.annotation.Resource; import org.springframework.web.bind.annotation.*; @@ -33,4 +36,12 @@ public class SceneController { sceneService.save(sceneWebMapper.web2vo(scene)); return R.builderOk().build(); } + + // ================================ Load Selectors ================================ + + @GetMapping("loadSelector/{domainCode}") + public R loadSelector(@PathVariable("domainCode") String domainCode) { + List textValues = sceneService.loadSelector(domainCode); + return R.builderOk().data("textValues", textValues).build(); + } } diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/form/MetadataQueryForm.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/form/MetadataQueryForm.java new file mode 100644 index 0000000000000000000000000000000000000000..c9b53adb206b2ab8925ce2ed12eecae17c048b26 --- /dev/null +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/form/MetadataQueryForm.java @@ -0,0 +1,21 @@ +package cn.icanci.rec.admin.web.form; + +import cn.icanci.rec.admin.web.model.Metadata; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/12 18:04 + */ +public class MetadataQueryForm extends BaseQueryForm { + private static final long serialVersionUID = 996954177624835701L; + + private Metadata metadata; + + public Metadata getMetadata() { + return metadata; + } + + public void setMetadata(Metadata metadata) { + this.metadata = metadata; + } +} diff --git a/rec-common/src/main/java/cn/icanci/rec/common/enums/ModuleTypeEnum.java b/rec-common/src/main/java/cn/icanci/rec/common/enums/ModuleTypeEnum.java index 9306c3b23fdf1a06f1d91bdf0ab292e43cb31942..10e3f6f4a443dcd43b8695f38fa3b716395d8a16 100644 --- a/rec-common/src/main/java/cn/icanci/rec/common/enums/ModuleTypeEnum.java +++ b/rec-common/src/main/java/cn/icanci/rec/common/enums/ModuleTypeEnum.java @@ -12,6 +12,10 @@ public enum ModuleTypeEnum { * REC_DOMAIN */ REC_DOMAIN("REC_DOMAIN", "规则域"), + /** + * REC_METADATA + */ + REC_METADATA("REC_METADATA", "规则元数据"), ; diff --git a/rec-common/src/main/java/cn/icanci/rec/common/model/TextValue.java b/rec-common/src/main/java/cn/icanci/rec/common/model/TextValue.java index 6db3a85cc3977a97681a872c01f07c5a5a102e98..938a6fa419b3efd6138245b2c71ff16c4c293447 100644 --- a/rec-common/src/main/java/cn/icanci/rec/common/model/TextValue.java +++ b/rec-common/src/main/java/cn/icanci/rec/common/model/TextValue.java @@ -18,6 +18,12 @@ public class TextValue implements Serializable { this.value = value; } + public TextValue(String label, Object value, T data) { + this.label = label; + this.value = value; + this.data = data; + } + public String getLabel() { return label; }