package com.estate.expert.admin.service.impl;
|
|
import com.estate.expert.admin.domain.business.archive.Archive;
|
import com.estate.expert.admin.domain.business.archive.ArchiveDto;
|
import com.estate.expert.admin.domain.business.archive.ArchiveRepository;
|
import com.estate.expert.admin.domain.business.archive.ArchiveType;
|
import com.estate.expert.admin.domain.common.request.PageReq;
|
import com.estate.expert.admin.domain.common.response.PageResp;
|
import com.estate.expert.admin.domain.user.User;
|
import com.estate.expert.admin.enums.BizResultCode;
|
import com.estate.expert.admin.service.ArchiveService;
|
import com.estate.expert.admin.service.common.CrudServiceBaseImpl;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.UUID;
|
|
/**
|
* 档案管理服务实现
|
*/
|
@Slf4j
|
@Service
|
public class ArchiveServiceImpl extends CrudServiceBaseImpl<Archive, ArchiveDto> implements ArchiveService {
|
|
@Resource
|
private ArchiveRepository archiveRepository;
|
|
@Override
|
public PageResp<ArchiveDto> list(String keyword, ArchiveType fileType, PageReq pageReq) {
|
var page = archiveRepository.findAllByKeywordAndFileType(keyword, fileType,
|
pageReq.toPageRequest());
|
return PageResp.of(page, toDto(page.getContent()));
|
}
|
|
@Override
|
public Archive add(User creator, Archive entity) {
|
var file = entity.getFile();
|
BizResultCode.FILE_NOT_FOUND.check(file == null);
|
|
entity.setName(UUID.randomUUID().toString());
|
return super.add(creator, entity);
|
}
|
|
@Override
|
public ArchiveDto toDto(Archive entity) {
|
var dto = super.toDto(entity);
|
dto.setDetail(entity.getFile());
|
return dto;
|
}
|
}
|