yangys
2024-03-29 153cc3fd4ef015a8b1390b2eef3d102c5859a5e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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<DncWsRelationTdMapper, DncWsRelationTd> 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.<TransferDirectory>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<TransferDirectory> list = this.transferDirectoryService.list();
        if (Func.isEmpty(list)) {
            throw new ServiceException(MessageUtils.message("dnc.ftp.directory.not.exist", new Object[0]));
        }
        Map<Long, TransferDirectory> 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);
    }
}