From 2ec912c7c8b38542967358d4a49841580dbf3ff7 Mon Sep 17 00:00:00 2001 From: icanci Date: Sat, 12 Nov 2022 19:41:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=83=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rec/admin/biz/service/BaseService.java | 6 + .../admin/biz/service/MetadataService.java | 18 ++ .../rec/admin/biz/service/SceneService.java | 8 + .../biz/service/impl/DomainServiceImpl.java | 18 +- .../biz/service/impl/MetadataServiceImpl.java | 46 +++- .../biz/service/impl/SceneServiceImpl.java | 15 ++ .../dal/mongodb/daointerface/MetadataDAO.java | 2 + .../dal/mongodb/mongo/MongoMetadataDAO.java | 9 + .../resources/vueboot/src/api/domainApi.js | 11 - .../vueboot/src/api/loadSelectorApi.js | 35 ++- .../resources/vueboot/src/api/metadataApi.js | 47 ++++ .../src/views/common/vue-clipboard.vue | 54 ++++ .../vueboot/src/views/common/vue-log.vue | 12 +- .../views/ruleConfig/dialog/metadataForm.vue | 235 ++++++++++++++++++ .../vueboot/src/views/ruleConfig/domain.vue | 9 +- .../vueboot/src/views/ruleConfig/metadata.vue | 189 +++++++++++++- .../controller/config/MetadataController.java | 56 +++++ .../controller/config/SceneController.java | 11 + .../rec/admin/web/form/MetadataQueryForm.java | 21 ++ .../rec/common/enums/ModuleTypeEnum.java | 4 + .../cn/icanci/rec/common/model/TextValue.java | 6 + 21 files changed, 774 insertions(+), 38 deletions(-) create mode 100644 rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/metadataApi.js create mode 100644 rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-clipboard.vue create mode 100644 rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dialog/metadataForm.vue create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/MetadataController.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/form/MetadataQueryForm.java 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 bea481a..29aa00f 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 54c3215..ce1f428 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 38e732f..18679d3 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 f0757ce..13a7581 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 4de1f7c..169c91e 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 5d28344..b2e00a2 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 9c8de07..5c8c2e6 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 77a5991..a971ca2 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 136a6a1..a08318d 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 acc4190..efa7986 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 0000000..f4458d5 --- /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 0000000..d0bdeee --- /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 61b7334..c247a9d 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 24f263f..7ae9322 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 e7142e9..6c41421 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 0000000..b45fa6f --- /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 7ac736f..a74a6f5 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 0000000..c9b53ad --- /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 9306c3b..10e3f6f 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 6db3a85..938a6fa 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; } -- Gitee