package com.qianwen.smartman.modules.dnc.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; 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.tool.utils.Func; import com.qianwen.smartman.common.constant.DncConstant; import com.qianwen.smartman.common.utils.MessageUtils; import com.qianwen.smartman.modules.dnc.convert.DncArchiveDirectoryConvert; import com.qianwen.smartman.modules.dnc.entity.DncArchiveDirectory; import com.qianwen.smartman.modules.dnc.entity.DncArchiveDirectoryFile; import com.qianwen.smartman.modules.dnc.mapper.DncArchiveDirectoryMapper; import com.qianwen.smartman.modules.dnc.service.IDncArchiveDirectoryFileService; import com.qianwen.smartman.modules.dnc.service.IDncArchiveDirectoryService; import com.qianwen.smartman.modules.dnc.vo.DncArchiveDirectoryAddVO; import com.qianwen.smartman.modules.dnc.vo.DncArchiveDirectoryUpdateVO; import com.qianwen.smartman.modules.dnc.vo.DncArchiveDirectoryVO; @Service /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/dnc/service/impl/DncArchiveDirectoryServiceImpl.class */ public class DncArchiveDirectoryServiceImpl extends BaseServiceImpl implements IDncArchiveDirectoryService { @Autowired @Lazy private IDncArchiveDirectoryFileService dncArchiveDirectoryFileService; @Override // org.springblade.modules.dnc.service.IDncArchiveDirectoryService public List getLazyList(String id) { if (Func.isBlank(id)) { List list = list(Wrappers.lambdaQuery().eq(DncArchiveDirectory::getParentId, DncConstant.DNC_DEFAULT_PARENT_ID)); if (Func.isNotEmpty(list)) { return DncArchiveDirectoryConvert.INSTANCE.convert(list); } } return DncArchiveDirectoryConvert.INSTANCE.convert(list(Wrappers.lambdaQuery().eq(DncArchiveDirectory::getParentId, id))); } @Override // org.springblade.modules.dnc.service.IDncArchiveDirectoryService @Transactional(rollbackFor = {Exception.class}) public DncArchiveDirectory addArchiveDirectory(DncArchiveDirectoryAddVO addVO) { String parentId = addVO.getParentId(); String name = addVO.getName(); DncArchiveDirectory parentArchiveDirectory = (DncArchiveDirectory) getById(parentId); if (parentArchiveDirectory == null) { throw new ServiceException(MessageUtils.message("dnc.archive.directory.parent.is.not.exists", new Object[0])); } if (verificationName(parentId, name)) { throw new ServiceException(MessageUtils.message("dnc.archive.directory.name.is.exists", new Object[0])); } DncArchiveDirectory addDirectory = new DncArchiveDirectory(); addDirectory.setParentId(Long.valueOf(Long.parseLong(parentId))); addDirectory.setName(name); save(addDirectory); update(Wrappers.lambdaUpdate().eq(DncArchiveDirectory::getId, addDirectory.getId()) .set(DncArchiveDirectory::getAllPath, parentArchiveDirectory.getAllPath() + "/" + addDirectory.getId())); /* update((Wrapper) ((LambdaUpdateWrapper) Wrappers.lambdaUpdate().eq((v0) -> { return v0.getId(); }, addDirectory.getId())).set((v0) -> { return v0.getAllPath(); }, parentArchiveDirectory.getAllPath() + "/" + addDirectory.getId())); */ return addDirectory; } @Override // org.springblade.modules.dnc.service.IDncArchiveDirectoryService @Transactional(rollbackFor = {Exception.class}) public DncArchiveDirectory updateArchiveDirectoryName(DncArchiveDirectoryUpdateVO dncArchiveDirectoryUpdateVO) { String parentId = dncArchiveDirectoryUpdateVO.getParentId(); String name = dncArchiveDirectoryUpdateVO.getName(); String directoryId = dncArchiveDirectoryUpdateVO.getDirectoryId(); if (verificationName(parentId, name)) { throw new ServiceException(MessageUtils.message("dnc.archive.directory.name.is.exists", new Object[0])); } DncArchiveDirectory archiveDirectory = (DncArchiveDirectory) getById(directoryId); if (archiveDirectory != null) { archiveDirectory.setName(name); updateById(archiveDirectory); } return archiveDirectory; } @Override // org.springblade.modules.dnc.service.IDncArchiveDirectoryService @Transactional(rollbackFor = {Exception.class}) public boolean remove(List ids) { removeByIds(ids); this.dncArchiveDirectoryFileService.remove(Wrappers.lambdaQuery().in(DncArchiveDirectoryFile::getArchiveDirectoryId, ids)); /* this.dncArchiveDirectoryFileService.remove((Wrapper) Wrappers.lambdaQuery().in((v0) -> { return v0.getArchiveDirectoryId(); }, ids));*/ return true; } private boolean verificationName(String parentId, String name) { return (list(Wrappers.lambdaQuery().eq(DncArchiveDirectory::getParentId, parentId).eq(DncArchiveDirectory::getName, name)).size() > 0); /* return list((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { return v0.getParentId(); }, parentId)).eq((v0) -> { return v0.getName(); }, name)).size() > 0;*/ } }