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