Browse Source

自测新增集团及集团方案和更新集团及集团方案接口

lijie 3 years ago
parent
commit
b200134318

+ 41 - 0
dmp-rwd/src/main/java/com/persagy/dmp/rwd/service/SchemaService.java

@@ -1,5 +1,6 @@
 package com.persagy.dmp.rwd.service;
 package com.persagy.dmp.rwd.service;
 
 
+import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.common.criteria.CriteriaUtils;
 import com.persagy.common.criteria.CriteriaUtils;
 import com.persagy.common.criteria.JacksonCriteria;
 import com.persagy.common.criteria.JacksonCriteria;
@@ -54,6 +55,7 @@ public class SchemaService extends BaseService {
 	@Transactional
 	@Transactional
 	public MapResponse create(SchemaModel param) {
 	public MapResponse create(SchemaModel param) {
 		MapResponse response = new MapResponse();
 		MapResponse response = new MapResponse();
+		// 1.校验必填参数
 		super.checkParam(response, RwdConstants.QUERY_GROUPCODE);
 		super.checkParam(response, RwdConstants.QUERY_GROUPCODE);
 		if (!response.success()) {
 		if (!response.success()) {
 			return response;
 			return response;
@@ -62,7 +64,16 @@ public class SchemaService extends BaseService {
 			response.setFail("集团编码不可为空");
 			response.setFail("集团编码不可为空");
 			return response;
 			return response;
 		}
 		}
+		if (StrUtil.isBlank(param.getName())) {
+			response.setFail("集团方案名称不可为空");
+			return response;
+		}
 		// TODO
 		// TODO
+		// 1.根据名称和集团code查询方案,集团方案名称不能重复
+		if (checkGroupSchemaNameRepeated(param.getName(), null)){
+			response.setFail("集团方案名称不可重复");
+			return response;
+		}
 		Schema entity = Schema.fromModel(param);
 		Schema entity = Schema.fromModel(param);
 		if (entity.getId() == null) {
 		if (entity.getId() == null) {
 			entity.setId(UUID.randomUUID().toString().replace("-", ""));
 			entity.setId(UUID.randomUUID().toString().replace("-", ""));
@@ -73,6 +84,28 @@ public class SchemaService extends BaseService {
 		response.add("id", entity.getId());
 		response.add("id", entity.getId());
 		return response;
 		return response;
 	}
 	}
+	/***
+	 * Description: 校验方案名称不可重复
+	 * @param name : 集团方案名称
+	 * @param schemaId : 集团方案id
+	 * @return : java.lang.Boolean
+	 * @author : lijie
+	 * @date :2021/7/22 18:31
+	 * Update By lijie 2021/7/22 18:31
+	 */
+	private Boolean checkGroupSchemaNameRepeated(String name,String schemaId){
+		JacksonCriteria criteria = JacksonCriteria.newInstance();
+		criteria.add(RwdConstants.OBJECT_GROUPCODE, DmpParameterStorage.getGroupCode());
+		criteria.add(RwdConstants.OBJECT_NAME, name);
+		PagedResponse<Schema> resp = criteriaUtils.query(QSchema.schema, this::parse, criteria);
+		if (resp.getCount()<=0){
+			return false;
+		}
+		if (StrUtil.isBlank(schemaId)){
+			return true;
+		}
+		return !resp.getData().get(0).getId().equals(schemaId);
+	}
 
 
 	@Transactional
 	@Transactional
 	public MapResponse update(SchemaModel param) {
 	public MapResponse update(SchemaModel param) {
@@ -88,11 +121,19 @@ public class SchemaService extends BaseService {
 		// TODO
 		// TODO
 		QSchema qt = QSchema.schema;
 		QSchema qt = QSchema.schema;
 		String schemaId = param.getId();
 		String schemaId = param.getId();
+		if (StrUtil.isBlank(schemaId)){
+			response.setFail("集团方案id不能为空");
+			return response;
+		}
 		Optional<Schema> opt = schemaRepository.findOne(qt.id.eq(schemaId).and(qt.groupCode.eq(DmpParameterStorage.getGroupCode())));
 		Optional<Schema> opt = schemaRepository.findOne(qt.id.eq(schemaId).and(qt.groupCode.eq(DmpParameterStorage.getGroupCode())));
 		if (!opt.isPresent()) {
 		if (!opt.isPresent()) {
 			response.setFail("数据不存在");
 			response.setFail("数据不存在");
 			return response;
 			return response;
 		}
 		}
+		if (checkGroupSchemaNameRepeated(param.getName(), schemaId)){
+			response.setFail("集团方案名称不可重复");
+			return response;
+		}
 		Schema entity = opt.get();
 		Schema entity = opt.get();
 		if (param.getName() != null) {
 		if (param.getName() != null) {
 			entity.setName(param.getName());
 			entity.setName(param.getName());

+ 4 - 1
dmp-rwd/src/main/java/com/persagy/dmp/rwd/service/impl/GroupAndSchemaServiceImpl.java

@@ -6,6 +6,7 @@ import com.persagy.common.criteria.JacksonCriteria;
 import com.persagy.common.web.MapResponse;
 import com.persagy.common.web.MapResponse;
 import com.persagy.common.web.PagedResponse;
 import com.persagy.common.web.PagedResponse;
 import com.persagy.dmp.config.DmpParameterStorage;
 import com.persagy.dmp.config.DmpParameterStorage;
+import com.persagy.dmp.rwd.config.JpaSqlExecuteContext;
 import com.persagy.dmp.rwd.config.RwdConstants;
 import com.persagy.dmp.rwd.config.RwdConstants;
 import com.persagy.dmp.rwd.feign.OrgClient;
 import com.persagy.dmp.rwd.feign.OrgClient;
 import com.persagy.dmp.rwd.model.GroupAndSchemaModel;
 import com.persagy.dmp.rwd.model.GroupAndSchemaModel;
@@ -39,6 +40,7 @@ public class GroupAndSchemaServiceImpl extends BaseService implements GroupAndSc
         }
         }
         // 4.构建集团方案创建参数
         // 4.构建集团方案创建参数
         DmpParameterStorage.setGroupCode(param.getCode());
         DmpParameterStorage.setGroupCode(param.getCode());
+        JpaSqlExecuteContext.init(param.getCode(),null);
         MapResponse schemaResponse = schemaService.create(SchemaModel.builder()
         MapResponse schemaResponse = schemaService.create(SchemaModel.builder()
                 .name(param.getSchemaName())
                 .name(param.getSchemaName())
                 .id(param.getSchemaId())
                 .id(param.getSchemaId())
@@ -66,6 +68,7 @@ public class GroupAndSchemaServiceImpl extends BaseService implements GroupAndSc
         }
         }
         // 4.构建集团方案创建参数
         // 4.构建集团方案创建参数
         DmpParameterStorage.setGroupCode(param.getCode());
         DmpParameterStorage.setGroupCode(param.getCode());
+        JpaSqlExecuteContext.init(param.getCode(),null);
         MapResponse schemaResponse;
         MapResponse schemaResponse;
         if (StrUtil.isNotBlank(param.getSchemaId())){
         if (StrUtil.isNotBlank(param.getSchemaId())){
             // 更新集团方案
             // 更新集团方案
@@ -82,7 +85,7 @@ public class GroupAndSchemaServiceImpl extends BaseService implements GroupAndSc
         }
         }
         // 5.处理返回结果
         // 5.处理返回结果
         if (!schemaResponse.success()){
         if (!schemaResponse.success()){
-            response.setFail("集团更新成功但集团方案更新失败,请通过编辑集团重新创建/更新集团方案");
+            response.setFail("集团方案更新失败,请重新编辑集团方案,失败原因:"+schemaResponse.getMessage());
         }
         }
         return response;
         return response;
     }
     }

+ 0 - 7
dmp-rwd/src/main/resources/bootstrap-dev.yml

@@ -5,10 +5,3 @@ spring:
     config:
     config:
       profile: dev2
       profile: dev2
       uri: http://192.168.64.18:9932
       uri: http://192.168.64.18:9932
-      allowOverride: true
-      overrideNone: true
-      overrideSystemProperties: false
-eureka:
-  client:
-    fetch-registry: true
-    register-with-eureka: false

+ 2 - 2
dmp-rwd/src/main/resources/logback-spring.xml

@@ -31,8 +31,8 @@
     <logger name="org.apache.http" level="INFO"/>
     <logger name="org.apache.http" level="INFO"/>
 
 
     <springProfile name="dev">
     <springProfile name="dev">
-        <logger name="org.hibernate.SQL" level="INFO"/>
-        <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="INFO"/>
+        <logger name="org.hibernate.SQL" level="DEBUG"/>
+        <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE"/>
         <root level="INFO">
         <root level="INFO">
             <appender-ref ref="stdout"/>
             <appender-ref ref="stdout"/>
         </root>
         </root>