|
@@ -1,6 +1,7 @@
|
|
|
package com.persagy.adm.diagram.core.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
@@ -16,7 +17,11 @@ import com.persagy.adm.diagram.dao.DiagramMapper;
|
|
|
import com.persagy.adm.diagram.dao.DiagramTypeMapper;
|
|
|
import com.persagy.adm.diagram.dao.LegendMapper;
|
|
|
import com.persagy.adm.diagram.dao.TemplateMapper;
|
|
|
-import com.persagy.adm.diagram.entity.*;
|
|
|
+import com.persagy.adm.diagram.entity.DiagramEntity;
|
|
|
+import com.persagy.adm.diagram.entity.DiagramType;
|
|
|
+import com.persagy.adm.diagram.entity.LegendEntity;
|
|
|
+import com.persagy.adm.diagram.entity.ModelAdapter;
|
|
|
+import com.persagy.adm.diagram.entity.TemplateEntity;
|
|
|
import com.persagy.adm.diagram.util.ServiceUtil;
|
|
|
import com.persagy.dmp.basic.model.QueryCriteria;
|
|
|
import com.persagy.dmp.basic.model.QueryOperator;
|
|
@@ -31,7 +36,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Optional;
|
|
|
+import java.util.Set;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.concurrent.ThreadPoolExecutor;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -113,8 +125,15 @@ public class DataStrategyImpl implements DataStrategy {
|
|
|
*/
|
|
|
@Override
|
|
|
public DiagramTemplate saveTemplate(DiagramTemplate template) {
|
|
|
- TemplateEntity templateEntity = modelAdapter.toTemplateEntity(template);
|
|
|
- templateMapper.saveTemplate(templateEntity);
|
|
|
+ if (StrUtil.isNotBlank(template.getId())) {
|
|
|
+ TemplateEntity dbEntity = templateMapper.selectById(template.getId());
|
|
|
+ if (dbEntity != null) {
|
|
|
+ templateMapper.updateById(modelAdapter.toTemplateEntity(template));
|
|
|
+ return template;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ template.setId(IdUtil.simpleUUID());
|
|
|
+ templateMapper.saveTemplate(modelAdapter.toTemplateEntity(template));
|
|
|
return template;
|
|
|
}
|
|
|
|
|
@@ -171,6 +190,14 @@ public class DataStrategyImpl implements DataStrategy {
|
|
|
@Override
|
|
|
public Legend saveLegend(Legend legend, String systemCode) {
|
|
|
legend.setSystem(systemCode);
|
|
|
+ if (StrUtil.isNotBlank(legend.getId())) {
|
|
|
+ LegendEntity dbEntity = legendMapper.selectById(legend.getId());
|
|
|
+ if (null != dbEntity) {
|
|
|
+ legendMapper.updateById(modelAdapter.toLegendEntity(legend));
|
|
|
+ return legend;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ legend.setId(IdUtil.simpleUUID());
|
|
|
legendMapper.saveLegend(modelAdapter.toLegendEntity(legend));
|
|
|
return legend;
|
|
|
}
|
|
@@ -290,8 +317,15 @@ public class DataStrategyImpl implements DataStrategy {
|
|
|
*/
|
|
|
@Override
|
|
|
public Diagram saveDiagram(Diagram diagram) {
|
|
|
- DiagramEntity diagramEntity = modelAdapter.toDiagramEntity(diagram);
|
|
|
- diagramMapper.saveDiagram(diagramEntity);
|
|
|
+ if (StrUtil.isNotBlank(diagram.getId())) {
|
|
|
+ DiagramEntity dbEntity = diagramMapper.selectById(diagram.getId());
|
|
|
+ if (null != dbEntity) {
|
|
|
+ diagramMapper.updateById(modelAdapter.toDiagramEntity(diagram));
|
|
|
+ return diagram;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ diagram.setId(IdUtil.simpleUUID());
|
|
|
+ diagramMapper.saveDiagram(modelAdapter.toDiagramEntity(diagram));
|
|
|
return diagram;
|
|
|
}
|
|
|
|