From b1029d1f6455ea9dece1234dbef6787530ef5084 Mon Sep 17 00:00:00 2001 From: icanci Date: Sat, 12 Nov 2022 15:35:57 +0800 Subject: [PATCH 1/5] log --- .../icanci/rec/admin/biz/event/log/LogEvent.java | 13 +++++++++++++ .../rec/admin/biz/event/log/LogEventListener.java | 14 ++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEvent.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEvent.java index e3cf164..850fd00 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEvent.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEvent.java @@ -4,6 +4,8 @@ import cn.icanci.rec.admin.biz.event.RecEvent; import cn.icanci.rec.common.enums.LogOperatorTypeEnum; import cn.icanci.rec.common.enums.ModuleTypeEnum; +import java.util.Date; + /** * @author icanci * @since 1.0 Created in 2022/11/12 10:42 @@ -19,11 +21,14 @@ public class LogEvent extends RecEvent { private LogOperatorTypeEnum logOperatorType; + private Date createTime; + public LogEvent(String targetId, ModuleTypeEnum moduleType, String context, LogOperatorTypeEnum logOperatorType) { this.targetId = targetId; this.moduleType = moduleType; this.context = context; this.logOperatorType = logOperatorType; + this.createTime = new Date(); } public String getTargetId() { @@ -57,4 +62,12 @@ public class LogEvent extends RecEvent { public void setLogOperatorType(LogOperatorTypeEnum logOperatorType) { this.logOperatorType = logOperatorType; } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEventListener.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEventListener.java index 4add8cf..c05e37c 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEventListener.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEventListener.java @@ -1,7 +1,11 @@ package cn.icanci.rec.admin.biz.event.log; +import cn.icanci.rec.admin.biz.service.LogOperateService; +import cn.icanci.rec.common.model.log.LogOperateVO; import cn.icanci.rec.spi.event.BaseEventListener; +import javax.annotation.Resource; + import org.springframework.stereotype.Component; /** @@ -13,8 +17,18 @@ import org.springframework.stereotype.Component; @Component public class LogEventListener extends BaseEventListener { + @Resource + private LogOperateService logOperateService; + @Override protected void event(LogEvent event) { + LogOperateVO logOperateVO = new LogOperateVO(); + logOperateVO.setModule(event.getModuleType()); + logOperateVO.setTargetId(event.getTargetId()); + logOperateVO.setOperatorType(event.getLogOperatorType()); + logOperateVO.setContent(event.getContext()); + logOperateVO.setCreateTime(event.getCreateTime()); + logOperateService.log(logOperateVO); } } -- Gitee From b94679831cd59a775142ed9eff30a915f43f9e1c Mon Sep 17 00:00:00 2001 From: icanci Date: Sat, 12 Nov 2022 16:04:38 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../icanci/rec/admin/biz/event/log/LogEvent.java | 6 ++++++ .../admin/biz/service/impl/DomainServiceImpl.java | 14 ++++++++++++-- .../dal/mongodb/mongo/MongoLogOperateDAO.java | 2 +- .../src/main/resources/vueboot/src/main.js | 4 ++++ .../resources/vueboot/src/views/common/vue-log.vue | 5 +++-- .../vueboot/src/views/ruleConfig/domain.vue | 9 --------- 6 files changed, 26 insertions(+), 14 deletions(-) diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEvent.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEvent.java index 850fd00..db3eb99 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEvent.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/event/log/LogEvent.java @@ -6,10 +6,13 @@ import cn.icanci.rec.common.enums.ModuleTypeEnum; import java.util.Date; +import org.springframework.stereotype.Component; + /** * @author icanci * @since 1.0 Created in 2022/11/12 10:42 */ +@Component public class LogEvent extends RecEvent { private static final long serialVersionUID = 6383748454354078356L; @@ -23,6 +26,9 @@ public class LogEvent extends RecEvent { private Date createTime; + public LogEvent() { + } + public LogEvent(String targetId, ModuleTypeEnum moduleType, String context, LogOperatorTypeEnum logOperatorType) { this.targetId = targetId; this.moduleType = moduleType; 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 e72f7f1..342680c 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 @@ -1,11 +1,15 @@ package cn.icanci.rec.admin.biz.service.impl; +import cn.icanci.rec.admin.biz.event.log.LogEvent; import cn.icanci.rec.admin.biz.mapper.DomainMapper; import cn.icanci.rec.admin.biz.service.DomainService; import cn.icanci.rec.admin.dal.mongodb.common.PageList; import cn.icanci.rec.admin.dal.mongodb.daointerface.DomainDAO; import cn.icanci.rec.admin.dal.mongodb.dateobject.DomainDO; +import cn.icanci.rec.common.enums.LogOperatorTypeEnum; +import cn.icanci.rec.common.enums.ModuleTypeEnum; import cn.icanci.rec.common.model.config.DomainVO; +import cn.icanci.rec.spi.event.EventDispatcher; import java.util.List; @@ -13,6 +17,8 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; +import com.alibaba.fastjson.JSON; + /** * Domain Service * @@ -22,9 +28,11 @@ import org.springframework.stereotype.Service; @Service public class DomainServiceImpl implements DomainService { @Resource - private DomainDAO domainDAO; + private DomainDAO domainDAO; + @Resource + private DomainMapper domainMapper; @Resource - private DomainMapper domainMapper; + private EventDispatcher eventDispatcher; @Override public List queryAll() { @@ -35,8 +43,10 @@ public class DomainServiceImpl implements DomainService { 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)); } else { domainDAO.update(domainMapper.vo2do(domain)); + eventDispatcher.fire(new LogEvent(domain.getUuid(), ModuleTypeEnum.REC_DOMAIN, JSON.toJSONString(domain), LogOperatorTypeEnum.UPDATE)); } } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoLogOperateDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoLogOperateDAO.java index 3ac1a4d..e8a1151 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoLogOperateDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoLogOperateDAO.java @@ -22,7 +22,7 @@ public class MongoLogOperateDAO extends MongoPageHelper implements LogOperateDAO public void insert(LogOperateDO t) { t.setId(null); t.setEnv(EnvUtils.getEnv()); - mongoTemplate.insert(t); + mongoTemplate.insert(t, COLLECTION_NAME); } @Override diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/main.js b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/main.js index 7f2058f..e154a53 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/main.js +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/main.js @@ -10,6 +10,7 @@ import store from './store' import '@/icons' // icon import '@/permission' +import moment from "moment"; // 英文版本 // Vue.use(ElementUI, { locale }) @@ -20,6 +21,9 @@ Vue.config.productionTip = false Vue.prototype.$cloneObj = function (data) { return JSON.parse(JSON.stringify(data)) } +Vue.prototype.dateFormat = function (date) { + return moment(date).format('YYYY-MM-DD HH:mm:ss'); +} new Vue({ el: '#app', 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 c177498..d8d4377 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 @@ -41,7 +41,7 @@ width="150" label="操作时间"> @@ -55,6 +55,7 @@ import vuePage from "../common/vue-page.vue" import {logPageQuery} from "../../api/logApi"; +import moment from "moment"; export default { name: "vue-log", @@ -103,7 +104,7 @@ export default { }, clearForm() { this.dialogVisible = false - } + }, } } 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 6269d2a..d27ee0f 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 @@ -135,15 +135,6 @@ export default { toRead(row) { this.$refs.domainForm.load(row); }, - /** - * 页面日期格式化 - * - * @param date - * @returns {*} - */ - dateFormat(date) { - return moment(date).format('YYYY-MM-DD HH:mm:ss'); - }, toDisableOrEnable(row) { let vm = this let clone = vm.$cloneObj(row); -- Gitee From 5fbee7035476f2bd835d9bf47a3c05d836829d1f Mon Sep 17 00:00:00 2001 From: icanci Date: Sat, 12 Nov 2022 16:18:08 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E9=A1=B5=E9=9D=A2fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vueboot/src/views/common/vue-page.vue | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-page.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-page.vue index 1cf9578..b48169c 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-page.vue +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/common/vue-page.vue @@ -30,15 +30,6 @@ export default { }, computed: {}, created() { - this.$nextTick(() => { - if (!this.paginator) { - this.currentPage = 0; - this.totalCount = 0; - } - - this.currentPage = this.paginator.currentPage; - this.totalCount = this.paginator.totalCount; - }) }, methods: { //切换每页条数 @@ -51,6 +42,20 @@ export default { this.paginator.currentPage = val; this.query(); } + }, + watch: { + 'paginator': { + handler(newVal, oldVal) { + if (!this.paginator) { + this.currentPage = 0; + this.totalCount = 0; + } + + this.currentPage = this.paginator.currentPage; + this.totalCount = this.paginator.totalCount; + }, + immediate: true + } } } -- Gitee From 2d569ab721cdae21181d399de8052ee441e66ea5 Mon Sep 17 00:00:00 2001 From: icanci Date: Sat, 12 Nov 2022 16:53:32 +0800 Subject: [PATCH 4/5] domain done --- .../rec/admin/biz/service/BaseService.java | 10 +++++ .../rec/admin/biz/service/DomainService.java | 8 ++++ .../biz/service/impl/DomainServiceImpl.java | 34 ++++++++++++-- .../vueboot/src/api/loadSelectorApi.js | 19 ++++++++ .../controller/config/DomainController.java | 12 +++++ .../cn/icanci/rec/common/model/TextValue.java | 44 +++++++++++++++++++ 6 files changed, 124 insertions(+), 3 deletions(-) create mode 100644 rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/loadSelectorApi.js create mode 100644 rec-common/src/main/java/cn/icanci/rec/common/model/TextValue.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 f4efd72..bea481a 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 @@ -55,4 +55,14 @@ public interface BaseService { default boolean doInsert(T t) { return StringUtils.isBlank(t.getId()); } + + /** + * 是否是删除的 + * + * @param t t + * @return 返回是否是删除的 + */ + default boolean isDeleted(T t) { + return t.getIsDelete() == 1; + } } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DomainService.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DomainService.java index e0c0df2..067a849 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DomainService.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DomainService.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.DomainVO; import java.util.List; @@ -58,4 +59,11 @@ public interface DomainService extends BaseService { * @return 返回查询的结果 */ DomainVO queryByDomainCode(String domainCode); + + /** + * 加载页面下拉框 + * + * @return 返回页面下拉框 + */ + List loadSelector(); } 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 342680c..f0757ce 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 @@ -8,6 +8,7 @@ import cn.icanci.rec.admin.dal.mongodb.daointerface.DomainDAO; import cn.icanci.rec.admin.dal.mongodb.dateobject.DomainDO; 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.DomainVO; import cn.icanci.rec.spi.event.EventDispatcher; @@ -15,9 +16,11 @@ 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; /** * Domain Service @@ -28,11 +31,16 @@ import com.alibaba.fastjson.JSON; @Service public class DomainServiceImpl implements DomainService { @Resource - private DomainDAO domainDAO; + private DomainDAO domainDAO; @Resource - private DomainMapper domainMapper; + private DomainMapper domainMapper; @Resource - private EventDispatcher eventDispatcher; + private EventDispatcher eventDispatcher; + + /** label 格式化 */ + private static final String DELETED_FORMAT = "[无效] %s"; + /** label 格式化 */ + private static final String NOT_DELETED_FORMAT = "[有效] %s"; @Override public List queryAll() { @@ -70,4 +78,24 @@ public class DomainServiceImpl implements DomainService { public DomainVO queryByDomainCode(String domainCode) { return domainMapper.do2vo(domainDAO.queryByDomainCode(domainCode)); } + + @Override + public List loadSelector() { + List domains = queryAll(); + if (CollectionUtils.isEmpty(domains)) { + return Lists.newArrayList(); + } + List textValues = Lists.newArrayList(); + for (DomainVO domain : domains) { + String label; + if (isDeleted(domain)) { + label = String.format(DELETED_FORMAT, domain.getDomainName()); + } else { + label = String.format(NOT_DELETED_FORMAT, domain.getDomainName()); + } + String value = domain.getDomainCode(); + textValues.add(new TextValue(label, value)); + } + return null; + } } 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 new file mode 100644 index 0000000..acc4190 --- /dev/null +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/loadSelectorApi.js @@ -0,0 +1,19 @@ +import request from '@/utils/request' + +/** + * 分页查询 + * + * @param domain domain + * @param paginator paginator + * @returns {*} + */ +export async function loadDomainSelector() { + let ret = await request({ + url: '/rec/domain/loadSelector', + method: 'get', + }); + if (ret.ok) { + return ret.data.textValues; + } + return [] +} diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/DomainController.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/DomainController.java index 8a1daa1..630b5aa 100644 --- a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/DomainController.java +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/DomainController.java @@ -4,9 +4,12 @@ import cn.icanci.rec.admin.biz.service.DomainService; import cn.icanci.rec.admin.web.form.DomainQueryForm; import cn.icanci.rec.admin.web.mapper.DomainWebMapper; import cn.icanci.rec.admin.web.model.Domain; +import cn.icanci.rec.common.model.TextValue; import cn.icanci.rec.common.model.config.DomainVO; import cn.icanci.rec.common.result.R; +import java.util.List; + import javax.annotation.Resource; import org.springframework.web.bind.annotation.*; @@ -23,6 +26,7 @@ public class DomainController { @Resource private DomainWebMapper domainWebMapper; + // ================================ CRUD ================================ @PostMapping("query") public R query(@RequestBody DomainQueryForm form) { return R.builderOk() @@ -46,4 +50,12 @@ public class DomainController { DomainVO domain = domainService.queryByDomainCode(domainCode); return R.builderOk().data("result", domain == null).build(); } + + // ================================ Load Selectors ================================ + + @GetMapping("loadSelector") + public R loadSelector() { + List textValues = domainService.loadSelector(); + return R.builderOk().data("textValues", textValues).build(); + } } 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 new file mode 100644 index 0000000..6db3a85 --- /dev/null +++ b/rec-common/src/main/java/cn/icanci/rec/common/model/TextValue.java @@ -0,0 +1,44 @@ +package cn.icanci.rec.common.model; + +import java.io.Serializable; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/12 16:38 + */ +public class TextValue implements Serializable { + private static final long serialVersionUID = -3727976523289870284L; + + private String label; + private Object value; + private T data; + + public TextValue(String label, Object value) { + this.label = label; + this.value = value; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public Object getValue() { + return value; + } + + public void setValue(Object value) { + this.value = value; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } +} -- Gitee From 28c90aabbb47766ff6e30f834638396e1187714d Mon Sep 17 00:00:00 2001 From: icanci Date: Sat, 12 Nov 2022 17:58:43 +0800 Subject: [PATCH 5/5] scene --- .../rec/admin/biz/service/SceneService.java | 8 + .../biz/service/impl/SceneServiceImpl.java | 14 ++ .../dal/mongodb/daointerface/SceneDAO.java | 2 + .../dal/mongodb/mongo/MongoSceneDAO.java | 8 + .../resources/vueboot/src/api/sceneApi.js | 28 +++ .../vueboot/src/views/common/vue-log.vue | 1 - .../views/ruleConfig/dialog/domainForm.vue | 19 +- .../views/ruleConfig/dialog/domainScene.vue | 189 ++++++++++++++++++ .../vueboot/src/views/ruleConfig/domain.vue | 22 +- .../controller/config/SceneController.java | 36 ++++ .../rec/admin/web/form/BaseDataQueryForm.java | 15 +- .../rec/admin/web/form/BaseQueryForm.java | 23 +++ .../rec/admin/web/form/DomainQueryForm.java | 15 +- .../rec/admin/web/form/LogQueryForm.java | 13 +- .../rec/admin/web/form/SceneQueryForm.java | 21 ++ 15 files changed, 362 insertions(+), 52 deletions(-) create mode 100644 rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/sceneApi.js create mode 100644 rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dialog/domainScene.vue create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/config/SceneController.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/form/BaseQueryForm.java create mode 100644 rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/form/SceneQueryForm.java 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 a864477..38e732f 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 @@ -21,4 +21,12 @@ public interface SceneService extends BaseService { @Override PageList queryPage(SceneVO sceneVO, int pageNum, int pageSize); + + /** + * 根据域Code查询场景信息 + * + * @param domainCode domainCode + * @return 返回场景信息 + */ + SceneVO queryByDomainCode(String domainCode); } 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 2357d44..5d28344 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 @@ -13,6 +13,8 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; +import com.google.common.collect.Lists; + /** * @author icanci * @since 1.0 Created in 2022/11/12 10:21 @@ -48,4 +50,16 @@ public class SceneServiceImpl implements SceneService { PageList pageQuery = sceneDAO.pageQuery(sceneMapper.vo2do(scene), pageNum, pageSize); return new PageList<>(sceneMapper.dos2vos(pageQuery.getData()), pageQuery.getPaginator()); } + + @Override + public SceneVO queryByDomainCode(String domainCode) { + SceneDO scene = sceneDAO.queryByDomainCode(domainCode); + if (scene == null) { + SceneVO sceneVO = new SceneVO(); + sceneVO.setDomainCode(domainCode); + sceneVO.setScenePairs(Lists.newArrayList()); + return sceneVO; + } + return sceneMapper.do2vo(scene); + } } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/SceneDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/SceneDAO.java index 5ff2ca7..b9dfa41 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/SceneDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/SceneDAO.java @@ -16,6 +16,8 @@ public interface SceneDAO extends BaseDAO { */ Class COLLECTION_CLASS = SceneDO.class; + SceneDO queryByDomainCode(String domainCode); + interface SceneColumn extends BaseColumn { /** * 域Code diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoSceneDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoSceneDAO.java index 4a96ad5..5a40678 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoSceneDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoSceneDAO.java @@ -61,4 +61,12 @@ public class MongoSceneDAO extends AbstractBaseDAO implements SceneDAO return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); } + + @Override + public SceneDO queryByDomainCode(String domainCode) { + Criteria criteria = Criteria.where(SceneColumn.domainCode).is(domainCode); + criteria.and(SceneColumn.env).is(DEFAULT_ENV); + 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/sceneApi.js b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/sceneApi.js new file mode 100644 index 0000000..1100356 --- /dev/null +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/api/sceneApi.js @@ -0,0 +1,28 @@ +import request from '@/utils/request' + +/** + * 保存scene + * + * @param scene scene + * @returns {*} + */ +export async function saveScene(scene) { + return await request({ + url: '/rec/scene/save', + method: 'post', + data: scene + }) +} + +/** + * 查询场景信息 + * + * @param domainCode domainCode + * @returns {*} + */ +export async function sceneQuery(domainCode) { + return await request({ + url: '/rec/scene/queryByDomainCode/' + domainCode, + method: 'get', + }) +} 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 d8d4377..61b7334 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 @@ -89,7 +89,6 @@ export default { 'targetId': vm.targetId, } - console.log(req) let ret = await logPageQuery(req, vm.pageResult.paginator) if (ret.ok) { vm.pageResult = ret.data.queryPage diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dialog/domainForm.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dialog/domainForm.vue index 8227337..ec29e90 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dialog/domainForm.vue +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dialog/domainForm.vue @@ -11,7 +11,6 @@ :before-close="clearForm"> - + - + + + + 取 消 - 确 定 + 确 定 @@ -42,6 +44,9 @@ export default { components: {}, data() { const validateDomainName = async (rule, value, callback) => { + if (this.saveData.id) { + callback() + } let ret = await remoteValidateDomainName(value); if (ret.data.result) { callback() @@ -50,6 +55,9 @@ export default { } }; const validateDomainCode = async (rule, value, callback) => { + if (this.saveData.id) { + callback() + } let ret = await remoteValidateDomainCode(value); if (ret.data.result) { callback() @@ -62,7 +70,8 @@ export default { dialogVisible: false, saveData: { domainName: '', - domainCode: '' + domainCode: '', + desc: '', }, rules: { domainName: [ diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dialog/domainScene.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dialog/domainScene.vue new file mode 100644 index 0000000..23aea58 --- /dev/null +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dialog/domainScene.vue @@ -0,0 +1,189 @@ + + + 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 d27ee0f..24f263f 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 @@ -36,6 +36,11 @@ prop="domainCode" label="域Code"> + + @@ -59,7 +64,8 @@ width="200" label="操作">