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 implements ArchiveService { @Resource private ArchiveRepository archiveRepository; @Override public PageResp 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; } }