package com.qianwen.smartman.modules.dnc.convert; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import java.util.List; import org.mapstruct.Builder; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; import com.qianwen.smartman.modules.dnc.dto.DncOperationLogDto; import com.qianwen.smartman.modules.dnc.entity.File; import com.qianwen.smartman.modules.dnc.util.ConvertFileUtils; import com.qianwen.smartman.modules.dnc.vo.FileHistoryVO; import com.qianwen.smartman.modules.dnc.vo.FileVO; import com.qianwen.smartman.modules.dnc.vo.FolderTreeVO; import com.qianwen.smartman.modules.dnc.vo.FolderVO; @Mapper(builder = @Builder(disableBuilder = true), imports = {ConvertFileUtils.class}) public interface FileConvert { public static final FileConvert INSTANCE = (FileConvert) Mappers.getMapper(FileConvert.class); @Mappings({@Mapping(source = "displayName", target = "name")}) FileVO convert(File file); @Mappings({@Mapping(source = "displayName", target = "name")}) FolderVO convertToFolderVO(File file); @Mappings({@Mapping(source = "displayName", target = "name")}) FolderTreeVO convertToFolderTreeVO(File file); @Mappings({}) DncOperationLogDto convertToDncOperationLogDto(File file); @Mappings({}) List convertList(List fileList); @Mappings({}) List convertFileList(List fileList); @Mappings({@Mapping(target = "isCurrent", expression = "java(ConvertFileUtils.convert(file.getIsCurrent()))"), @Mapping(source = "displayName", target = "filename")}) FileHistoryVO convertHistory(File file); @Mappings({}) List convertHistory(List fileList); @Mappings({}) default IPage pageConvert(IPage page) { Page page2 = new Page(page.getCurrent(), page.getSize(), page.getTotal()); page2.setRecords(convertFileList(page.getRecords())); return page2; } }