From ac0ff6946b0568f9b512ef91ca79312dd39cb78f Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 21 六月 2023 16:43:19 +0800
Subject: [PATCH] 集成接口配置模块管理开发

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java |  143 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 138 insertions(+), 5 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
index 2341b7d..4d9af0a 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -1,23 +1,156 @@
 package com.vci.ubcs.code.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
+import com.vci.ubcs.code.dto.DockingSysIntHeaderDTO;
+import com.vci.ubcs.code.dto.DockingSystemConfigDTO;
+import com.vci.ubcs.code.dto.DockingSysIntParamDTO;
+import com.vci.ubcs.code.entity.DockingSysIntHeader;
+import com.vci.ubcs.code.entity.DockingSysIntParam;
+import com.vci.ubcs.code.entity.DockingSystem;
 import com.vci.ubcs.code.entity.DockingSystemConfig;
+import com.vci.ubcs.code.enumpack.SysIntegrationRequestTypeEnum;
+import com.vci.ubcs.code.mapper.DockingSysIntHeaderMapper;
+import com.vci.ubcs.code.mapper.DockingSysIntParamMapper;
 import com.vci.ubcs.code.mapper.DockingSystemConfigMapper;
+import com.vci.ubcs.code.mapper.DockingSystemMapper;
+import com.vci.ubcs.code.service.IDockingSysIntHeaderService;
+import com.vci.ubcs.code.service.IDockingSysIntParamService;
 import com.vci.ubcs.code.service.IDockingSystemConfigService;
+import com.vci.ubcs.code.vo.pagemodel.DockingSysIntHeaderVO;
+import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
-import java.util.Collection;
-import java.util.Map;
-import java.util.function.Function;
+import java.util.*;
 
 /***
  * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟
  * @author xiejun
  * @date 2023-06-01
  */
+@Slf4j
 @Service
 public class DockingSystemConfigServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDockingSystemConfigService{
 
+	/***
+	 * 闆嗘垚绯荤粺绠$悊鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private DockingSystemConfigMapper dockingSystemConfigMapper;
+
+	/***
+	 * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊鍙傛暟鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private IDockingSysIntParamService dockingSysIntParamService;
+
+
+
+	/***
+	 * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊鍙傛暟鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private IDockingSysIntHeaderService dockingSysIntHeaderService;
+
+
+	/***
+	 * 闆嗘垚鎺ュ彛-闆嗘垚绯荤粺鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private DockingSystemMapper dockingSystemMapper;
+
+	/**
+	 * 瀵硅薄鐨勬搷浣�
+	 */
+	@Autowired
+	private RevisionModelUtil revisionModelUtil;
+	/**
+	 * 澧炲姞绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭�
+	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	@Override
+	public boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO) {
+		log.info(" 澧炲姞绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭�:"+dockingSystemConfigDTO.toString());
+		VciBaseUtil.alertNotNull(dockingSystemConfigDTO, "闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
+		checkColumnNotNull(dockingSystemConfigDTO);
+		String sourcesystemoid = dockingSystemConfigDTO.getSourceSystemOid();
+		DockingSystem dockingSystem = dockingSystemMapper.selectById(sourcesystemoid);
+		dockingSystemConfigDTO.setSysBaseOid(sourcesystemoid);
+		dockingSystemConfigDTO.setSysBaseId(dockingSystem.getId());
+		dockingSystemConfigDTO.setSysBaseName(dockingSystem.getName());
+		dockingSystemConfigDTO.setUsedFlag("true");//璁剧疆榛樿鍚敤鐘舵��
+
+		//灏咲TO杞崲涓篋O
+		DockingSystemConfig dockingSystemConfig = new DockingSystemConfig();
+		revisionModelUtil.copyFromDTOIgnore(dockingSystemConfigDTO,dockingSystemConfig);
+
+
+		List<DockingSysIntParamDTO> sysIntParamDTOList=  dockingSystemConfigDTO.getSysIntParamDTOS();
+		List<DockingSysIntParam> sysIntParamList=new ArrayList<>();
+		if(!CollectionUtils.isEmpty(sysIntParamDTOList)) {
+			sysIntParamDTOList.stream().forEach(sysIntParamDTO -> {
+				DockingSysIntParam sysIntParamDO = new DockingSysIntParam();
+				sysIntParamDTO.setInfoOid(dockingSystemConfigDTO.getOid());
+				BeanUtilForVCI.copyPropertiesIgnoreCase(sysIntParamDTO, sysIntParamDO);
+				DefaultAttrAssimtUtil.addDefaultAttrAssimt(sysIntParamDO,MdmBtmTypeConstant.SYS_INT_PARAMTERY);
+				sysIntParamList.add(sysIntParamDO);
+			});
+		}
+		List<DockingSysIntHeaderDTO> sysIntHeaderDTOs= dockingSystemConfigDTO.getSysIntHeaderDTOS();
+		List<DockingSysIntHeader> sysIntHeaderList = new ArrayList<>();
+		if(!CollectionUtils.isEmpty(sysIntHeaderDTOs)) {
+			sysIntHeaderDTOs.stream().forEach(sysIntHeaderDTO -> {
+				DockingSysIntHeader dockingSysIntHeader = new DockingSysIntHeader();
+				sysIntHeaderDTO.setInfoOid(dockingSystemConfigDTO.getOid());
+				BeanUtilForVCI.copyPropertiesIgnoreCase(sysIntHeaderDTO, dockingSysIntHeader);
+				DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSysIntHeader,MdmBtmTypeConstant.SYS_INT_HEADER);
+				sysIntHeaderList.add(dockingSysIntHeader);
+			});
+		}
+		dockingSysIntParamService.saveBatch(sysIntParamList);
+		dockingSysIntHeaderService.saveBatch(sysIntHeaderList);
+		DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSystemConfig,MdmBtmTypeConstant.SYS_INT_INFO);
+		dockingSystemConfigMapper.insert(dockingSystemConfig);
+
+		return true;
+
+	}
+
+	@Override
+	public DockingSystemVO editSave(DockingSystemConfigDTO dockingSystemDTO) {
+		return null;
+	}
+
+	@Override
+	public boolean deleteDataById(String oids) {
+		return false;
+	}
+
+	/**
+	 * 绯荤粺闆嗘垚鎺ュ彛鍩虹淇℃伅Null瀛楁妫�楠�
+	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+	 */
+	private void checkColumnNotNull(DockingSystemConfigDTO  dockingSystemConfigDTO) throws VciBaseException {
+		if (SysIntegrationRequestTypeEnum.HTTP.getValue().equals(dockingSystemConfigDTO.getInterfaceType())){
+			VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getRequestUrl(),"HTTP鎺ュ彛鐨勮姹傚湴鍧�",dockingSystemConfigDTO.getRequestMethod(),"HTTP鎺ュ彛鐨勮姹傛柟寮�");
+		}
+		if (SysIntegrationRequestTypeEnum.WEB_SERVICE.getValue().equals(dockingSystemConfigDTO.getInterfaceType())){
+			VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getInterfaceFunction(),"WebService鐨勬帴鍙e嚱鏁�");
+		}
+		if (SysIntegrationRequestTypeEnum.CLASSPATH.getValue().equals(dockingSystemConfigDTO.getInterfaceType())){
+			VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getClassPath(),"绫昏矾寰�");
+		}
+	}
 }

--
Gitblit v1.9.3