diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/DTS.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/DTS.java index 0e0780dd7dbca28a71dc089f6d98d5f67c4d2137..0b95d9f614bde18fcfd948957b56d83f5e8d179b 100644 --- a/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/DTS.java +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/DTS.java @@ -1,5 +1,7 @@ package cn.icanci.loopstack.bic.biz.dts; +import cn.icanci.loopstack.bic.common.model.BaseVO; + import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -12,5 +14,5 @@ import java.lang.annotation.Target; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface DTS { - Class value(); + Class value(); } diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/EdgeStyleDtsServiceImpl.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/EdgeStyleDtsServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..a050dba473160f65477dfb98cbb2c7de18b397b1 --- /dev/null +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/EdgeStyleDtsServiceImpl.java @@ -0,0 +1,21 @@ +package cn.icanci.loopstack.bic.biz.dts.impl; + +import org.springframework.stereotype.Service; + +import cn.icanci.loopstack.bic.biz.dts.DTS; +import cn.icanci.loopstack.bic.biz.dts.GraphDtsService; +import cn.icanci.loopstack.bic.common.model.base.EdgeStyleVO; + +/** + * @author icanci + * @since 1.0 Created in 2023/09/20 20:05 + */ + +@Service +@DTS(EdgeStyleVO.class) +public class EdgeStyleDtsServiceImpl implements GraphDtsService { + @Override + public void dtsUnitViewTree(EdgeStyleVO type) { + // TODO 自动刷新纠察图结构缓存 + } +} diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/NodeDtsServiceImpl.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/NodeDtsServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..056785273afcad9d3f6d33f38a263948ddc55908 --- /dev/null +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/NodeDtsServiceImpl.java @@ -0,0 +1,60 @@ +package cn.icanci.loopstack.bic.biz.dts.impl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import cn.icanci.loopstack.bic.biz.dts.DTS; +import cn.icanci.loopstack.bic.biz.dts.GraphDtsService; +import cn.icanci.loopstack.bic.biz.service.NodeStyleService; +import cn.icanci.loopstack.bic.biz.service.NodeVueService; +import cn.icanci.loopstack.bic.biz.utils.TemplateFileUtils; +import cn.icanci.loopstack.bic.common.enums.NodeVueTypeEnum; +import cn.icanci.loopstack.bic.common.model.base.NodeStyleVO; +import cn.icanci.loopstack.bic.common.model.base.NodeVO; +import cn.icanci.loopstack.bic.common.model.base.NodeVueVO; + +/** + * @author icanci + * @since 1.0 Created in 2023/09/20 19:54 + */ +@Service +@DTS(NodeVO.class) +public class NodeDtsServiceImpl implements GraphDtsService { + private static final String DEFAULT_NAME = "系统默认"; + private static final String DEFAULT_KEY = "DEFAULT_KEY"; + private static final String DEFAULT_PLUGIN_CONTEXT = "{}"; + @Resource + private NodeStyleService nodeStyleService; + @Resource + private NodeVueService nodeVueService; + + @Override + public void dtsUnitViewTree(NodeVO node) { + // 插入样式信息 + nodeStyleService.save(buildNodeStyle(node)); + // 插入组件信息 + nodeVueService.save(buildNodeVue(node)); + } + + private NodeStyleVO buildNodeStyle(NodeVO node) { + NodeStyleVO nodeStyle = new NodeStyleVO(); + nodeStyle.setSystemUuid(node.getSystemUuid()); + nodeStyle.setNodeStyleName(DEFAULT_NAME); + nodeStyle.setNodeStyleKey(DEFAULT_KEY); + nodeStyle.setNodeStyle(TemplateFileUtils.queryDefaultNodeStyleTemplate()); + return nodeStyle; + } + + private NodeVueVO buildNodeVue(NodeVO node) { + NodeVueVO nodeVue = new NodeVueVO(); + nodeVue.setSystemUuid(node.getSystemUuid()); + nodeVue.setNodeUuid(node.getUuid()); + nodeVue.setNodeVueName(DEFAULT_NAME); + nodeVue.setNodeVueKey(DEFAULT_KEY); + nodeVue.setNodeVueCode(TemplateFileUtils.queryDefaultNodeVue()); + nodeVue.setNodeVueType(NodeVueTypeEnum.DIALOG); + nodeVue.setPluginContext(DEFAULT_PLUGIN_CONTEXT); + return nodeVue; + } +} diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/NodeStyleDtsServiceImpl.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/NodeStyleDtsServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..9ab6b4e1faae5273edbbf7edd96b0a4efa0f9637 --- /dev/null +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/NodeStyleDtsServiceImpl.java @@ -0,0 +1,21 @@ +package cn.icanci.loopstack.bic.biz.dts.impl; + +import org.springframework.stereotype.Service; + +import cn.icanci.loopstack.bic.biz.dts.DTS; +import cn.icanci.loopstack.bic.biz.dts.GraphDtsService; +import cn.icanci.loopstack.bic.common.model.base.NodeStyleVO; + +/** + * @author icanci + * @since 1.0 Created in 2023/09/20 20:05 + */ + +@Service +@DTS(NodeStyleVO.class) +public class NodeStyleDtsServiceImpl implements GraphDtsService { + @Override + public void dtsUnitViewTree(NodeStyleVO type) { + // TODO 节点样式变更之后:自动刷新纠察图结构缓存 + } +} diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/NodeVueDtsServiceImpl.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/NodeVueDtsServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..9daea63338229f64dbe39c5d6be62b8607fe3e99 --- /dev/null +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/NodeVueDtsServiceImpl.java @@ -0,0 +1,21 @@ +package cn.icanci.loopstack.bic.biz.dts.impl; + +import org.springframework.stereotype.Service; + +import cn.icanci.loopstack.bic.biz.dts.DTS; +import cn.icanci.loopstack.bic.biz.dts.GraphDtsService; +import cn.icanci.loopstack.bic.common.model.base.NodeVueVO; + +/** + * @author icanci + * @since 1.0 Created in 2023/09/20 20:05 + */ + +@Service +@DTS(NodeVueVO.class) +public class NodeVueDtsServiceImpl implements GraphDtsService { + @Override + public void dtsUnitViewTree(NodeVueVO type) { + // TODO 节点组件变更之后:自动刷新纠察图结构缓存 + } +} diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/SystemDtsServiceImpl.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/SystemDtsServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..b4d01401a55c61eefa48be482c5b866ecdda9e36 --- /dev/null +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/dts/impl/SystemDtsServiceImpl.java @@ -0,0 +1,39 @@ +package cn.icanci.loopstack.bic.biz.dts.impl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import cn.icanci.loopstack.bic.biz.dts.DTS; +import cn.icanci.loopstack.bic.biz.dts.GraphDtsService; +import cn.icanci.loopstack.bic.biz.service.EdgeStyleService; +import cn.icanci.loopstack.bic.biz.utils.TemplateFileUtils; +import cn.icanci.loopstack.bic.common.model.base.EdgeStyleVO; +import cn.icanci.loopstack.bic.common.model.base.SystemVO; + +/** + * @author icanci + * @since 1.0 Created in 2023/09/20 19:47 + */ +@Service +@DTS(SystemVO.class) +public class SystemDtsServiceImpl implements GraphDtsService { + @Resource + private EdgeStyleService edgeStyleService; + private static final String DEFAULT_NAME = "系统默认"; + private static final String DEFAULT_KEY = "DEFAULT_KEY"; + + @Override + public void dtsUnitViewTree(SystemVO system) { + edgeStyleService.save(buildEdge(system)); + } + + private EdgeStyleVO buildEdge(SystemVO system) { + EdgeStyleVO edge = new EdgeStyleVO(); + edge.setSystemUuid(system.getUuid()); + edge.setEdgeStyleName(DEFAULT_NAME); + edge.setEdgeStyleKey(DEFAULT_KEY); + edge.setEdgeStyle(TemplateFileUtils.queryDefaultEdgeStyleTemplate()); + return edge; + } +} diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/EdgeStyleServiceImpl.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/EdgeStyleServiceImpl.java index 5f75591d293b0dd47c9c4db8dff8d0b640bca4bb..d632b0777bf7965873522cd6f1329bf629638a94 100644 --- a/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/EdgeStyleServiceImpl.java +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/EdgeStyleServiceImpl.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import com.google.common.collect.Lists; +import cn.icanci.loopstack.bic.biz.dts.GraphDtsServiceProxy; import cn.icanci.loopstack.bic.biz.mapper.EdgeStyleMapper; import cn.icanci.loopstack.bic.biz.service.EdgeStyleService; import cn.icanci.loopstack.bic.biz.utils.TemplateFileUtils; @@ -26,9 +27,11 @@ import cn.icanci.loopstack.bic.dal.mongo.dateobject.EdgeStyleDO; public class EdgeStyleServiceImpl implements EdgeStyleService { @Resource - private EdgeStyleDAO edgeStyleDAO; + private EdgeStyleDAO edgeStyleDAO; @Resource - private EdgeStyleMapper edgeStyleMapper; + private EdgeStyleMapper edgeStyleMapper; + @Resource + private GraphDtsServiceProxy graphDtsServiceProxy; @Override public List queryAll() { @@ -38,12 +41,12 @@ public class EdgeStyleServiceImpl implements EdgeStyleService { @Override public void save(EdgeStyleVO edgeStyleVO) { // TODO 日志记录 - // TODO 更新视图 if (doInsert(edgeStyleVO)) { EdgeStyleDO insert = edgeStyleMapper.vo2do(edgeStyleVO); edgeStyleDAO.insert(insert); } else { edgeStyleDAO.update(edgeStyleMapper.vo2do(edgeStyleVO)); + graphDtsServiceProxy.dtsUnitViewTree(edgeStyleVO); } // TODO 最后补充更新视图的逻辑,因为这个地方会构建缓存 } diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeServiceImpl.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeServiceImpl.java index f698958235d3feb3dd575377a0dbbdac7125c2b0..74a22a0f5252ee8d0f7a6fe246d29341a4479d0f 100644 --- a/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeServiceImpl.java +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeServiceImpl.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import com.google.common.collect.Lists; +import cn.icanci.loopstack.bic.biz.dts.GraphDtsServiceProxy; import cn.icanci.loopstack.bic.biz.mapper.NodeMapper; import cn.icanci.loopstack.bic.biz.service.NodeService; import cn.icanci.loopstack.bic.common.model.TextValue; @@ -24,9 +25,11 @@ import cn.icanci.loopstack.bic.dal.mongo.dateobject.NodeDO; @Service("nodeService") public class NodeServiceImpl implements NodeService { @Resource - private NodeDAO nodeDAO; + private NodeDAO nodeDAO; @Resource - private NodeMapper nodeMapper; + private NodeMapper nodeMapper; + @Resource + private GraphDtsServiceProxy graphDtsServiceProxy; @Override public List queryAll() { @@ -34,18 +37,14 @@ public class NodeServiceImpl implements NodeService { } @Override -// @Transactional(rollbackFor = Exception.class) + // @Transactional(rollbackFor = Exception.class) public void save(NodeVO nodeVO) { // TODO 日志记录 - // TODO 事务插入 测试 + // TODO 事务插入 if (doInsert(nodeVO)) { NodeDO insert = nodeMapper.vo2do(nodeVO); nodeDAO.insert(insert); - - // TODO - // 插入样式 - // 插入组件函数 - + graphDtsServiceProxy.dtsUnitViewTree(nodeVO); } else { nodeDAO.update(nodeMapper.vo2do(nodeVO)); } diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeStyleServiceImpl.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeStyleServiceImpl.java index 16e255af2c2fd1792acd9234104fc0c417acf1ef..f81b8ec325c8e9290424fb77fcf2086e9f5d7819 100644 --- a/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeStyleServiceImpl.java +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeStyleServiceImpl.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import com.google.common.collect.Lists; +import cn.icanci.loopstack.bic.biz.dts.GraphDtsServiceProxy; import cn.icanci.loopstack.bic.biz.mapper.NodeStyleMapper; import cn.icanci.loopstack.bic.biz.service.NodeStyleService; import cn.icanci.loopstack.bic.biz.utils.TemplateFileUtils; @@ -26,9 +27,11 @@ import cn.icanci.loopstack.bic.dal.mongo.dateobject.NodeStyleDO; public class NodeStyleServiceImpl implements NodeStyleService { @Resource - private NodeStyleDAO nodeStyleDAO; + private NodeStyleDAO nodeStyleDAO; @Resource - private NodeStyleMapper nodeStyleMapper; + private NodeStyleMapper nodeStyleMapper; + @Resource + private GraphDtsServiceProxy graphDtsServiceProxy; @Override public List queryAll() { @@ -43,6 +46,7 @@ public class NodeStyleServiceImpl implements NodeStyleService { nodeStyleDAO.insert(insert); } else { nodeStyleDAO.update(nodeStyleMapper.vo2do(nodeStyleVO)); + graphDtsServiceProxy.dtsUnitViewTree(nodeStyleVO); } // 更新视图样式 // TODO 最后补充更新视图的逻辑,因为这个地方会构建缓存 diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeVueServiceImpl.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeVueServiceImpl.java index 29ba2e59079e4397964c9b2d82145a81500791c6..d5beaecc2428784b9a2af8c51fad7b4f7cefe10a 100644 --- a/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeVueServiceImpl.java +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/NodeVueServiceImpl.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import com.google.common.collect.Lists; +import cn.icanci.loopstack.bic.biz.dts.GraphDtsServiceProxy; import cn.icanci.loopstack.bic.biz.mapper.NodeVueMapper; import cn.icanci.loopstack.bic.biz.service.NodeVueService; import cn.icanci.loopstack.bic.biz.utils.TemplateFileUtils; @@ -25,9 +26,11 @@ import cn.icanci.loopstack.bic.dal.mongo.dateobject.NodeVueDO; @Service public class NodeVueServiceImpl implements NodeVueService { @Resource - private NodeVueDAO nodeVueDAO; + private NodeVueDAO nodeVueDAO; @Resource - private NodeVueMapper nodeVueMapper; + private NodeVueMapper nodeVueMapper; + @Resource + private GraphDtsServiceProxy graphDtsServiceProxy; @Override public List queryAll() { @@ -43,6 +46,7 @@ public class NodeVueServiceImpl implements NodeVueService { nodeVueDAO.insert(insert); } else { nodeVueDAO.update(nodeVueMapper.vo2do(nodeVueVO)); + graphDtsServiceProxy.dtsUnitViewTree(nodeVueVO); } } diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/SystemServiceImpl.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/SystemServiceImpl.java index 37fc92e5b1f126fdf7609ba611dac08a48fda52a..76770f45190c12e40557047ee162f3d6bef80d26 100644 --- a/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/SystemServiceImpl.java +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/service/impl/SystemServiceImpl.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; import com.google.common.collect.Lists; +import cn.icanci.loopstack.bic.biz.dts.GraphDtsServiceProxy; import cn.icanci.loopstack.bic.biz.mapper.SystemMapper; import cn.icanci.loopstack.bic.biz.service.SystemService; import cn.icanci.loopstack.bic.common.model.TextValue; @@ -24,9 +25,11 @@ import cn.icanci.loopstack.bic.dal.mongo.dateobject.SystemDO; public class SystemServiceImpl implements SystemService { @Resource - private SystemDAO systemDAO; + private SystemDAO systemDAO; @Resource - private SystemMapper systemMapper; + private SystemMapper systemMapper; + @Resource + private GraphDtsServiceProxy graphDtsServiceProxy; @Override public List queryAll() { @@ -39,6 +42,7 @@ public class SystemServiceImpl implements SystemService { if (doInsert(systemVO)) { SystemDO insert = systemMapper.vo2do(systemVO); systemDAO.insert(insert); + graphDtsServiceProxy.dtsUnitViewTree(systemVO); } else { systemDAO.update(systemMapper.vo2do(systemVO)); } diff --git a/biz/src/main/java/cn/icanci/loopstack/bic/biz/utils/TemplateFileUtils.java b/biz/src/main/java/cn/icanci/loopstack/bic/biz/utils/TemplateFileUtils.java index d1fffc55782b02b59ff3d263ecc855ccbce1f4f8..8ce4542bc83c328c22004bf575063c589fa57c04 100644 --- a/biz/src/main/java/cn/icanci/loopstack/bic/biz/utils/TemplateFileUtils.java +++ b/biz/src/main/java/cn/icanci/loopstack/bic/biz/utils/TemplateFileUtils.java @@ -11,6 +11,7 @@ public class TemplateFileUtils { private static final String DEFAULT_NODE_STYLE_TEMPLATE = "style/default-node-style-template.json"; private static final String DEFAULT_NODE_EDGE_TEMPLATE = "style/default-edge-style-template.json"; private static final String DEFAULT_NODE_VUE_TEMPLATE = "vue/default-node-vue-template.vue"; + private static final String DEFAULT_NODE_VUE = "vue/default-node-vue.vue"; /** * queryMockFile @@ -41,6 +42,9 @@ public class TemplateFileUtils { public static String queryDefaultNodeVueTemplate() { return queryLocalFile(DEFAULT_NODE_VUE_TEMPLATE); } + public static String queryDefaultNodeVue() { + return queryLocalFile(DEFAULT_NODE_VUE); + } public static String queryDefaultEdgeStyleTemplate() { return queryLocalFile(DEFAULT_NODE_EDGE_TEMPLATE); diff --git a/biz/src/main/resources/vue/default-node-vue.vue b/biz/src/main/resources/vue/default-node-vue.vue new file mode 100644 index 0000000000000000000000000000000000000000..eee3a3e754b4f7f860879807407b82f25b7b8d14 --- /dev/null +++ b/biz/src/main/resources/vue/default-node-vue.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/views/src/main/resources/vueboot/src/router/index.js b/views/src/main/resources/vueboot/src/router/index.js index 901ac069af4ce43e4b0be8df131bb91eade9ea6d..acda0c87a9f03b48014995f3639cfa794fe3f068 100644 --- a/views/src/main/resources/vueboot/src/router/index.js +++ b/views/src/main/resources/vueboot/src/router/index.js @@ -174,30 +174,30 @@ export const constantRoutes = [ }, ] }, - { - path: '/bicData', - component: Layout, - redirect: '/bic-data/index', - name: 'bicData', - meta: { - title: '纠察图数据', - icon: 'form' - }, - children: [ - { - path: 'edge-data', - component: () => import('@/views/bic-data/edge-data'), - name: 'edgeData', - meta: {title: '边数据'} - }, - { - path: 'node-data', - component: () => import('@/views/bic-data/node-data'), - name: 'nodeData', - meta: {title: '节点数据'} - }, - ] - }, + // { + // path: '/bicData', + // component: Layout, + // redirect: '/bic-data/index', + // name: 'bicData', + // meta: { + // title: '纠察图数据', + // icon: 'form' + // }, + // children: [ + // { + // path: 'edge-data', + // component: () => import('@/views/bic-data/edge-data'), + // name: 'edgeData', + // meta: {title: '边数据'} + // }, + // { + // path: 'node-data', + // component: () => import('@/views/bic-data/node-data'), + // name: 'nodeData', + // meta: {title: '节点数据'} + // }, + // ] + // }, { path: '/bicView', component: Layout,