package com.red.circle.other.infra.convertor.user;

import com.red.circle.framework.core.convertor.ConvertorModel;
import com.red.circle.other.domain.model.user.ability.RegionConfig;
import com.red.circle.other.infra.database.mongo.entity.user.region.SysRegionConfig;
import com.red.circle.other.inner.model.dto.user.reigon.RegionConfigDTO;
import java.util.List;
import java.util.Map;
import org.mapstruct.Mapper;

/**
 * @author pengliang on 2023/12/17
 */
@Mapper(componentModel = ConvertorModel.SPRING)
public interface UserRegionInfraConvertor {

  RegionConfig toRegionConfig(SysRegionConfig regionConfig);

  List<RegionConfig> toListRegionConfig(List<SysRegionConfig> regionConfig);

  Map<Long, RegionConfig> toMapRegionConfig(Map<Long, SysRegionConfig> map);

  Map<Long, RegionConfigDTO> toMapRegionConfigDTO(Map<Long, RegionConfig> map);

  List<RegionConfigDTO> toListRegionConfigDTO(List<SysRegionConfig> list);

  RegionConfigDTO toRegionConfigDTO(SysRegionConfig sysRegionConfig);

  RegionConfigDTO toRegionConfigDTO(RegionConfig sysRegionConfig);
}
