
org.shoulder.batch.model.convert.BatchModelConvert Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of shoulder-batch Show documentation
Show all versions of shoulder-batch Show documentation
Shoulder 扩展-批处理模块,提供批量数据导入、导出、异步校验、导入历史记录管理等能力。
package org.shoulder.batch.model.convert;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
import org.shoulder.batch.dto.result.BatchProcessResult;
import org.shoulder.batch.dto.result.BatchRecordDetailResult;
import org.shoulder.batch.dto.result.BatchRecordResult;
import org.shoulder.batch.model.BatchProgressRecord;
import org.shoulder.batch.model.BatchRecord;
import org.shoulder.batch.model.BatchRecordDetail;
/**
* 对象转换
*
* @author lym
*/
@Mapper
public interface BatchModelConvert {
BatchModelConvert CONVERT = Mappers.getMapper(BatchModelConvert.class);
/**
* Ignore compile Warning : Unmapped target properties: "totalNum, progressList".
*/
@Mapping(expression = "java((int) model.calculateProcessedTime())", target = "timeConsumed")
@Mapping(expression = "java((int) model.calculateTimeLeft())", target = "timeLeft")
@Mapping(expression = "java(model.hasFinish())", target = "finish")
BatchProcessResult toDTO(BatchProgressRecord model);
@Mapping(source = "creator", target = "operator")
@Mapping(source = "createTime", target = "executedTime")
@Mapping(expression = "java(org.apache.commons.collections4.CollectionUtils.emptyIfNull(record.getDetailList()).stream()" +
".map(org.shoulder.batch.model.convert.BatchModelConvert.CONVERT::toDTO)" +
".collect(java.util.stream.Collectors.toList()))", target = "detailList")
BatchRecordResult toDTO(BatchRecord record);
BatchRecordDetailResult toDTO(BatchRecordDetail model);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy