package com.red.circle.other.app.convertor.team;


import com.red.circle.framework.core.convertor.ConvertorModel;
import com.red.circle.other.app.dto.clientobject.team.*;
import com.red.circle.other.infra.database.mongo.dto.team.TeamBillMemberTarget;
import com.red.circle.other.infra.database.mongo.entity.team.team.*;
import com.red.circle.other.inner.enums.team.TeamMemberTargetSettlementResult;
import java.util.List;
import org.mapstruct.Mapper;

/**
 * @author pengliang on 2022/12/6
 */
@Mapper(componentModel = ConvertorModel.SPRING)
public interface TeamAppConvertor {

  List<TeamNoticeCO> toTeamNotice(List<TeamNotice> teamNotices);

  TeamProfileCO toTeamProfile(TeamProfile teamProfile);

  TeamBillCO toTeamBillCO(TeamBillCycle teamBillCycle);

  TeamPolicyManagerCO toTeamPolicyManagerCO(TeamPolicyManager teamPolicyManager);

  TeamMemberTargetSettlementResultCO toTeamMemberTargetSettlementResultCO(
      TeamMemberTargetSettlementResult settlementResult);

  TeamMemberTargetSettlementResultCO toTeamMemberTargetSettlementResultCO(
      TeamBillMemberTarget target);

  TeamMemberWorkBillCO toTeamMemberWorkBillCO(
          TeamMemberWorkBillCO target);

  TeamMemberTarget toTeamMemberTarget(
          TeamMemberTarget target);
}
