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

import com.red.circle.framework.core.convertor.ConvertorModel;
import com.red.circle.other.infra.database.rds.entity.game.GameLuckyBoxAwardConfig;
import com.red.circle.other.infra.database.rds.entity.game.GameLuckyBoxAwardDetailsConfig;
import com.red.circle.other.infra.database.rds.entity.game.GameLuckyBoxBountyConfig;
import com.red.circle.other.infra.database.rds.entity.game.GameLuckyBoxBountyDetailsConfig;
import com.red.circle.other.infra.database.rds.entity.game.GameLuckyBoxCount;
import com.red.circle.other.infra.database.rds.entity.game.GameLuckyBoxFortuneValueConfig;
import com.red.circle.other.infra.database.rds.entity.game.GameLuckyBoxGiftConfig;
import com.red.circle.other.infra.database.rds.entity.game.GameLuckyBoxProbabilityConfig;
import com.red.circle.other.infra.database.rds.entity.game.GameLuckyBoxStandardConfig;
import com.red.circle.other.infra.database.rds.entity.game.GameLuckyBoxTimeConfig;
import com.red.circle.other.inner.model.dto.game.GameLuckyBoxAwardConfigDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyBoxAwardDetailsConfigDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyBoxBountyConfigDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyBoxBountyDetailsConfigDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyBoxCountDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyBoxFortuneValueConfigDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyBoxGiftConfigDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyBoxProbabilityConfigDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyBoxStandardConfigDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyBoxTimeConfigDTO;
import java.util.List;
import org.mapstruct.Mapper;

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

  GameLuckyBoxCountDTO toGameLuckyBoxCountDTO(GameLuckyBoxCount gameLuckyBoxCount);

  GameLuckyBoxFortuneValueConfigDTO toGameLuckyBoxFortuneValueConfigDTO(
      GameLuckyBoxFortuneValueConfig gameLuckyBoxFortuneValueConfig);

  GameLuckyBoxFortuneValueConfig toGameLuckyBoxFortuneValueConfig(
      GameLuckyBoxFortuneValueConfigDTO dto);

  GameLuckyBoxBountyConfigDTO toGameLuckyBoxBountyConfigDTO(
      GameLuckyBoxBountyConfig gameLuckyBoxBountyConfig);

  GameLuckyBoxBountyConfig toGameLuckyBoxBountyConfig(GameLuckyBoxBountyConfigDTO dto);

  GameLuckyBoxBountyDetailsConfigDTO toGameLuckyBoxBountyDetailsConfigDTO(
      GameLuckyBoxBountyDetailsConfig gameLuckyBoxBountyDetailsConfig);

  GameLuckyBoxBountyDetailsConfig toGameLuckyBoxBountyDetailsConfig(
      GameLuckyBoxBountyDetailsConfigDTO dto);

  GameLuckyBoxAwardConfigDTO toGameLuckyBoxAwardConfig(
      GameLuckyBoxAwardConfig gameLuckyBoxAwardConfig);

  GameLuckyBoxAwardConfig toGameLuckyBoxAwardConfig(GameLuckyBoxAwardConfigDTO dto);


  GameLuckyBoxAwardDetailsConfig toGameLuckyBoxAwardDetailsConfig(
      GameLuckyBoxAwardDetailsConfigDTO dto);

  List<GameLuckyBoxAwardDetailsConfigDTO> toListGameLuckyBoxAwardDetailsConfigDTO(
      List<GameLuckyBoxAwardDetailsConfig> list);

  GameLuckyBoxStandardConfigDTO toGameLuckyBoxStandardConfigDTO(
      GameLuckyBoxStandardConfig gameLuckyBoxStandardConfig);

  GameLuckyBoxStandardConfig toGameLuckyBoxStandardConfig(GameLuckyBoxStandardConfigDTO dto);

  List<GameLuckyBoxTimeConfigDTO> toListGameLuckyBoxTimeConfigDTO(
      List<GameLuckyBoxTimeConfig> list);

  List<GameLuckyBoxGiftConfigDTO> toListGameLuckyBoxGiftConfigDTO(
      List<GameLuckyBoxGiftConfig> list);

  GameLuckyBoxGiftConfig toGameLuckyBoxGiftConfig(GameLuckyBoxGiftConfigDTO dto);

  GameLuckyBoxTimeConfig toGameLuckyBoxTimeConfig(GameLuckyBoxTimeConfigDTO dto);

  GameLuckyBoxProbabilityConfig toGameLuckyBoxProbabilityConfig(
      GameLuckyBoxProbabilityConfigDTO dto);
}
