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

import com.red.circle.framework.core.convertor.ConvertorModel;
import com.red.circle.other.infra.database.rds.entity.user.user.InviteUserRechargeCommission;
import com.red.circle.other.infra.database.rds.entity.user.user.InviteUserRegister;
import com.red.circle.other.infra.database.rds.entity.user.user.InviteUserRewardRecord;
import com.red.circle.other.infra.database.rds.entity.user.user.InviteUserSummary;
import com.red.circle.other.inner.model.dto.user.InviteUserRechargeCommissionDTO;
import com.red.circle.other.inner.model.dto.user.InviteUserRegisterDTO;
import com.red.circle.other.inner.model.dto.user.InviteUserRewardRecordDTO;
import com.red.circle.other.inner.model.dto.user.InviteUserSummaryDTO;
import com.red.circle.other.inner.model.dto.user.PageInviteUserRegisterDTO;
import java.util.List;
import org.mapstruct.Mapper;

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

  InviteUserRewardRecord toInviteUserRewardRecord(
      InviteUserRewardRecordDTO dto);

  List<InviteUserRegisterDTO> toListInviteUserRegisterDTO(
      List<InviteUserRegister> inviteUserRegister);

  InviteUserSummaryDTO toInviteUserSummaryDTO(InviteUserSummary inviteUserSummary);

  List<InviteUserRechargeCommissionDTO> toListInviteUserRechargeCommissionDTO(
      List<InviteUserRechargeCommission> inviteUserRechargeCommission);

  InviteUserRewardRecordDTO toInviteUserRewardRecordDTO(
      InviteUserRewardRecord inviteUserRewardRecord);

  PageInviteUserRegisterDTO toPageInviteUserRegisterDTO(InviteUserRegister inviteUserRegister);
}
