| | |
| | | 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; |
| | | /** |
| | | * 增加系统集成的接口管理信息 |
| | | * @param dockingSystemConfigDTO 系统集成的系统信息数据传输对象 |
| | | * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO) { |
| | | log.info(" 增加系统集成的接口管理信息:"+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");//设置默认启用状态 |
| | | |
| | | //将DTO转换为DO |
| | | 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的接口函数"); |
| | | } |
| | | if (SysIntegrationRequestTypeEnum.CLASSPATH.getValue().equals(dockingSystemConfigDTO.getInterfaceType())){ |
| | | VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getClassPath(),"类路径"); |
| | | } |
| | | } |
| | | } |