Quellcode durchsuchen

查询关系计算接口优化

zhangqiankun vor 3 Jahren
Ursprung
Commit
76c4d566ab

+ 3 - 6
src/main/java/com/persagy/proxy/adm/controller/RelationReportController.java

@@ -106,14 +106,11 @@ public class RelationReportController {
 	 * @return
 	 */
 	@RequestMapping("/graphic/overview")
-	public AdmResponse overview(@RequestParam String content, HttpServletRequest request) {
+	public JSONObject overview(@RequestParam(required = false) String content, HttpServletRequest request) {
 		String groupCode = request.getHeader(AdmCommonConstant.GROUP_CODE_HEADER);
 		String projectId = request.getHeader(AdmCommonConstant.PROJECT_ID_HEADER);
-		this.relationReportService.overview(groupCode, projectId, content);
-		
-		JSONObject result = new JSONObject();
-		result.put("count", 0);
-		return AdmResponse.success(Lists.newArrayList(result));
+		JSONObject overview = this.relationReportService.overview(groupCode, projectId, content);
+		return overview;
 	}
 	
 	/**

+ 2 - 1
src/main/java/com/persagy/proxy/adm/service/IRelationReportService.java

@@ -4,6 +4,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.define.entity.GraphDefine;
 import com.persagy.dmp.define.entity.RelationDefine;
@@ -147,7 +148,7 @@ public interface IRelationReportService {
 	 * @param projectId
 	 * @param content
 	 */
-	void overview(String groupCode, String projectId, String content);
+	JSONObject overview(String groupCode, String projectId, String content);
 	
 	/**
 	 * 初始化项目关系计算数据

+ 18 - 19
src/main/java/com/persagy/proxy/adm/service/impl/RelationReportService.java

@@ -3,7 +3,6 @@ package com.persagy.proxy.adm.service.impl;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -12,6 +11,7 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -37,10 +37,9 @@ import com.persagy.proxy.adm.service.IRelationReportService;
 import com.persagy.proxy.adm.strategy.relationdata.RelationObjectStrategy;
 
 import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
-import net.minidev.json.JSONObject;
 
 /**
  * 报表/模板下载
@@ -275,20 +274,19 @@ public class RelationReportService implements IRelationReportService {
 		// 验证是否已经添加过
 		QueryCriteria queryCriteria = new QueryCriteria();
 		queryCriteria.setOnlyCount(true);
-		CommonResult<List<ObjectNode>> prototype = DigitalRelationProjectCalFacade.queryPrototype(groupCode, null, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, queryCriteria);
-		if (prototype != null && prototype.getCount() != 0) {
+		CommonResult<List<ObjectNode>> prototype = DigitalRelationProjectCalFacade.queryPrototype(groupCode, projectId, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, queryCriteria);
+		if (prototype != null && prototype.getCount() != null && prototype.getCount() > 0) {
 			return true;
 		}
 		
 		// 获取所有的边类型
 		QueryCriteria criteria = new QueryCriteria();
-		List<RelationDefine> list = DigitalRelationDefineFacade.query(groupCode, null, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, criteria);
+		List<RelationDefine> list = DigitalRelationDefineFacade.query(groupCode, projectId, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, criteria);
 		if (CollectionUtil.isEmpty(list)) {
 			return true;
 		}
 		
 		// 组装关系计算数据
-		String now = DateUtil.format(new Date(), "yyyyMMddHHmmss");
 		List<ObjectNode> nodes = new ArrayList<ObjectNode>();
 		ObjectMapper objectMapper = SpringHelper.getBean(ObjectMapper.class);
 		for (RelationDefine relationDefine : list) {
@@ -311,13 +309,13 @@ public class RelationReportService implements IRelationReportService {
 			objectNode.put("computationalState", 1);	// 计算状态 1初始状态 2需要计算 3计算中 4等待中 5计算失败(如果处于计算中状态,则不再次调用)
 			//objectNode.put("zoneType", relationDefine.getGraphCode());	// 业务分区类型
 			objectNode.put("systemType", typeEnum == null ? null : typeEnum.getSystemType());	// 风系统1,水系统0
-			objectNode.put("relManualType", typeEnum.getRelationType());	// 手动计算关系类型
+			objectNode.put("relManualType", typeEnum == null ? null : typeEnum.getRelationType());	// 手动计算关系类型
 			//objectNode.put("computeVersion", relationDefine.getGraphCode());	// 计算版本
 			objectNode.put("creator", AdmCommonConstant.USER_ID);	// 创建人
-			objectNode.put("creationTime", now);	// 创建时间
 			objectNode.put("modifier", AdmCommonConstant.USER_ID);	// 最后修改人
-			objectNode.put("modifiedTime", now);	// 最后修改时间
 			//objectNode.put("valid", relationDefine.getGraphCode());	// 合法标识
+			
+			nodes.add(objectNode);
 		}
 		
 		List<ObjectRelationProjectCal> result = DigitalRelationProjectCalFacade.create(groupCode, projectId, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, nodes);
@@ -325,7 +323,7 @@ public class RelationReportService implements IRelationReportService {
 	}
 
 	@Override
-	public void overview(String groupCode, String projectId, String content) {
+	public JSONObject overview(String groupCode, String projectId, String content) {
 		JSONObject result = new JSONObject();
 		
 		if (StrUtil.isBlank(content)) {
@@ -343,6 +341,8 @@ public class RelationReportService implements IRelationReportService {
 		result.put("pageSize", 1000);
 		result.put("result", "success");
 		result.put("total", parentList.size());
+		
+		return result;
 	}
 	
 	/**
@@ -357,11 +357,11 @@ public class RelationReportService implements IRelationReportService {
 		boolean isQuery = StringUtils.isNotBlank(content);
 		// 获取所有的一级图类型定义
 		QueryCriteria parentCriteria = new QueryCriteria();
-		List<GraphDefine> topList = DigitalGraphDefineFacade.query(groupCode, null, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, parentCriteria);
+		List<GraphDefine> topList = DigitalGraphDefineFacade.query(groupCode, projectId, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, parentCriteria);
 		for (int i = topList.size() - 1; i >= 0; i--) {
 			// 获取所有的二级图类型定义
 			QueryCriteria childCriteria = new QueryCriteria();
-			List<GraphDefine> childList = DigitalGraphDefineFacade.query(groupCode, null, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, childCriteria);
+			List<GraphDefine> childList = DigitalGraphDefineFacade.query(groupCode, projectId, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, childCriteria);
 			if (CollectionUtil.isEmpty(childList)) {
 				if (isQuery) {
 					topList.remove(i);		//移除
@@ -411,6 +411,7 @@ public class RelationReportService implements IRelationReportService {
 			}
 			
 			parent.put("childGraphicTypeList", childList);
+			parentList.add(parent);
 		}
 	}
 	
@@ -448,13 +449,11 @@ public class RelationReportService implements IRelationReportService {
 		relationProject.put("source", "1".equals(relationProject.get("sourceFlag") == null ? null : relationProject.get("sourceFlag").asText()));
 		relationProject.put("conneObject", ObjTypeMapping.getConneObject(relCode));
 		
-		String modifiedTime = relationProject.get("modifiedTime") == null ? null : relationProject.get("modifiedTime").asText();
-		modifiedTime = modifiedTime == null ? null : DateUtil.parse(modifiedTime, "yyyyMMddHHmmss").toString();
-		String creationTime = relationProject.get("creationTime") == null ? null : relationProject.get("creationTime").asText();
-		creationTime = creationTime == null ? null : DateUtil.parse(creationTime, "yyyyMMddHHmmss").toString();
+		Long modifiedTime = relationProject.get("modifiedTime") == null ? null : relationProject.get("modifiedTime").asLong();
+		Long creationTime = relationProject.get("creationTime") == null ? null : relationProject.get("creationTime").asLong();
 		
-		relationProject.put("lastUpdate", modifiedTime);
-		relationProject.put("createTime", creationTime);
+		relationProject.put("lastUpdate", modifiedTime == null ? null : new DateTime(modifiedTime).toString());
+		relationProject.put("createTime", creationTime == null ? null : new DateTime(creationTime).toString());
 	}
 	
 }