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<DncArchiveDirectoryMapper, DncArchiveDirectory> implements IDncArchiveDirectoryService {
|
@Autowired
|
@Lazy
|
private IDncArchiveDirectoryFileService dncArchiveDirectoryFileService;
|
|
|
@Override // org.springblade.modules.dnc.service.IDncArchiveDirectoryService
|
public List<DncArchiveDirectoryVO> getLazyList(String id) {
|
if (Func.isBlank(id)) {
|
List<DncArchiveDirectory> list = list(Wrappers.<DncArchiveDirectory>lambdaQuery().eq(DncArchiveDirectory::getParentId, DncConstant.DNC_DEFAULT_PARENT_ID));
|
|
if (Func.isNotEmpty(list)) {
|
return DncArchiveDirectoryConvert.INSTANCE.convert(list);
|
}
|
}
|
return DncArchiveDirectoryConvert.INSTANCE.convert(list(Wrappers.<DncArchiveDirectory>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.<DncArchiveDirectory>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<Long> ids) {
|
removeByIds(ids);
|
this.dncArchiveDirectoryFileService.remove(Wrappers.<DncArchiveDirectoryFile>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.<DncArchiveDirectory>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;*/
|
}
|
}
|