package com.red.circle.other.app.inner.convertor.material;

import com.red.circle.framework.core.convertor.ConvertorModel;
import com.red.circle.framework.dto.PageResult;
import com.red.circle.other.infra.database.rds.entity.props.PropsRedPacketSkin;
import com.red.circle.other.infra.database.rds.entity.props.PropsSourceRecord;
import com.red.circle.other.inner.model.dto.material.PropsRedPacketSkinDTO;
import com.red.circle.other.inner.model.dto.material.PropsResourcesDTO;
import java.util.List;
import java.util.Map;
import org.mapstruct.Mapper;

/**
 * @author pengliang on 2023/11/7
 */
@Mapper(componentModel = ConvertorModel.SPRING)
public interface PropsResourcesInnerConvertor {

  PropsResourcesDTO toPropsResourcesDTO(PropsSourceRecord propsSourceRecord);

  Map<Long, PropsResourcesDTO> toMapPropsResourcesDTO(Map<Long, PropsSourceRecord> map);

  List<PropsResourcesDTO> toListPropsResourcesDTO(List<PropsSourceRecord> propsResources);

  PageResult<PropsResourcesDTO> toPagePropsResourcesDTO(PageResult<PropsSourceRecord> pageResult);

  PropsSourceRecord toPropsSourceRecord(PropsResourcesDTO propsResourcesDTO);

  PropsRedPacketSkinDTO toPropsRedPacketSkinDTO(PropsRedPacketSkin skin);

}
