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

import com.red.circle.framework.core.convertor.ConvertorModel;
import com.red.circle.other.infra.database.rds.entity.activity.PropsActivityRuleConfig;
import com.red.circle.other.inner.model.cmd.material.PropsActivityRuleConfigParamCmd;
import com.red.circle.other.inner.model.dto.activity.props.ActivityPropsRule;
import com.red.circle.other.inner.model.dto.activity.props.ActivityPropsRuleDTO;
import com.red.circle.other.inner.model.dto.material.PropsActivityRuleConfigDTO;
import java.util.Map;
import org.mapstruct.Mapper;

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

  ActivityPropsRule toActivityPropsRule(PropsActivityRuleConfig config);

  Map<Long, ActivityPropsRuleDTO> toActivityPropsRuleDTO(
      Map<Long, PropsActivityRuleConfig> ruleConfig);

  PropsActivityRuleConfigDTO toPropsActivityRuleConfigDTO(
      PropsActivityRuleConfig propsActivityRuleConfig);

  PropsActivityRuleConfig toPropsActivityRuleConfig(PropsActivityRuleConfigParamCmd param);
}
