package com.red.circle.other.app.service.room;

import com.red.circle.common.business.dto.cmd.AppExtCommand;
import com.red.circle.other.app.command.room.RoomMikePurchasingNumCmdExe;
import com.red.circle.other.app.command.room.RoomMikeTypePurchasingCmdExe;
import com.red.circle.other.app.command.room.query.RoomMikeNumQryExe;
import com.red.circle.other.app.command.room.query.RoomMikeTypeQryExe;
import com.red.circle.other.app.dto.clientobject.room.RoomMikeNumCO;
import com.red.circle.other.app.dto.clientobject.room.RoomMikeTypeCO;
import com.red.circle.other.app.dto.cmd.room.RoomMikeNumCmd;
import com.red.circle.other.app.dto.cmd.room.RoomMikeTypeCmd;
import java.math.BigDecimal;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

/**
 * 房间麦克风.
 *
 * @author pengliang on 2023/9/22
 */
@Service
@RequiredArgsConstructor
public class RoomMikeServiceImpl implements RoomMikeService {

  private final RoomMikeNumQryExe roomMikeNumQryExe;
  private final RoomMikeTypeQryExe roomMikeTypeQryExe;
  private final RoomMikePurchasingNumCmdExe roomMikePurchasingNumCmdExe;
  private final RoomMikeTypePurchasingCmdExe roomMikeTypePurchasingCmdExe;

  @Override
  public BigDecimal purchasingRoomMikeNum(RoomMikeNumCmd cmd) {
    return roomMikePurchasingNumCmdExe.execute(cmd);
  }

  @Override
  public List<RoomMikeNumCO> listRoomMikeNum(AppExtCommand cmd) {
    return roomMikeNumQryExe.execute(cmd);
  }

  @Override
  public BigDecimal purchasingRoomMikeType(RoomMikeTypeCmd cmd) {
    return roomMikeTypePurchasingCmdExe.execute(cmd);
  }

  @Override
  public List<RoomMikeTypeCO> listRoomMikeType(AppExtCommand cmd) {
    return roomMikeTypeQryExe.execute(cmd);
  }

}
