package com.qianwen.smartman.modules.dnc.service.impl; import java.util.List; import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.qianwen.core.log.exception.ServiceException; import com.qianwen.core.mp.base.BaseServiceImpl; import com.qianwen.core.secure.utils.AuthUtil; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.common.constant.CommonConstant; import com.qianwen.smartman.common.utils.MessageUtils; import com.qianwen.smartman.modules.dnc.entity.DncWsRelationTd; import com.qianwen.smartman.modules.dnc.entity.TransferDirectory; import com.qianwen.smartman.modules.dnc.entity.TransferDirectoryGroup; import com.qianwen.smartman.modules.dnc.mapper.DncWsRelationTdMapper; import com.qianwen.smartman.modules.dnc.service.IDncFixedSpaceService; import com.qianwen.smartman.modules.dnc.service.IDncWsRelationTdService; import com.qianwen.smartman.modules.dnc.service.ITransferDirectoryService; import com.qianwen.smartman.modules.dnc.vo.WorkstationTdVO; @Service /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/dnc/service/impl/DncWsRelationTdServiceImpl.class */ public class DncWsRelationTdServiceImpl extends BaseServiceImpl implements IDncWsRelationTdService { private final ITransferDirectoryService transferDirectoryService; private final IDncFixedSpaceService fixedSpaceService; public DncWsRelationTdServiceImpl(final ITransferDirectoryService transferDirectoryService, final IDncFixedSpaceService fixedSpaceService) { this.transferDirectoryService = transferDirectoryService; this.fixedSpaceService = fixedSpaceService; } @Override // org.springblade.modules.dnc.service.IDncWsRelationTdService @Transactional(rollbackFor = {Exception.class}) public WorkstationTdVO relationFtpDirectory(WorkstationTdVO workstationTdVO) { TransferDirectory transferDirectory; Integer type = workstationTdVO.getType(); String workstationId = workstationTdVO.getWorkstationId(); String workstationName = workstationTdVO.getWorkstationName(); String workstationGroupId = workstationTdVO.getWorkstationGroupId(); String directorTransferId = workstationTdVO.getDirectorTransferId(); if (CommonConstant.CREATE_SAME_DIRECTORY.equals(type)) { TransferDirectory existSameDirectory = this.transferDirectoryService.getOne(Wrappers.lambdaQuery().eq(TransferDirectory::getName, workstationName)); /* TransferDirectory existSameDirectory = (TransferDirectory) this.transferDirectoryService.getOne((Wrapper) Wrappers.lambdaQuery().eq((v0) -> { return v0.getName(); }, workstationName));*/ if (existSameDirectory != null) { throw new ServiceException(MessageUtils.message("dnc.workstation.directory.create.same.name.exists", new Object[0])); } TransferDirectory transferDirectory2 = new TransferDirectory(); transferDirectory2.setWorkstationId(Long.valueOf(Long.parseLong(workstationId))); transferDirectory2.setName(workstationName); transferDirectory2.setTenantId("000000"); TransferDirectoryGroup directoryGroup = this.transferDirectoryService.getDirectoryGroup(Long.valueOf(Long.parseLong(workstationId)), Long.valueOf(Long.parseLong(workstationGroupId))); if (directoryGroup != null) { transferDirectory2.setGroupAllPath(directoryGroup.getAllPath()); transferDirectory2.setGroupId(directoryGroup.getId()); } transferDirectory2.setDeptId(AuthUtil.getUserId()); boolean save = this.transferDirectoryService.save(transferDirectory2); addRelationship(workstationId, String.valueOf(transferDirectory2.getId())); if (save) { this.fixedSpaceService.initializeRootNode("0", workstationName, String.valueOf(transferDirectory2.getId())); } } List list = this.transferDirectoryService.list(); if (Func.isEmpty(list)) { throw new ServiceException(MessageUtils.message("dnc.ftp.directory.not.exist", new Object[0])); } Map transferDirectoryMap = list.stream().collect(Collectors.toMap((v0) -> { return v0.getId(); }, Function.identity())); if (CommonConstant.ASSOCIATED_DIRECTORY.equals(type) && (transferDirectory = transferDirectoryMap.get(Long.valueOf(Long.parseLong(directorTransferId)))) != null) { addRelationship(workstationId, String.valueOf(transferDirectory.getId())); } return workstationTdVO; } public void addRelationship(String workstationId, String directoryId) { DncWsRelationTd dncWsRelationTd = new DncWsRelationTd(); dncWsRelationTd.setTenantId("000000"); dncWsRelationTd.setWorkstationId(Long.valueOf(Long.parseLong(workstationId))); dncWsRelationTd.setTransferDirectorId(Long.valueOf(Long.parseLong(directoryId))); save(dncWsRelationTd); } }