package com.tourguide.modules.user.dto; import com.tourguide.modules.user.entity.GuideUser; import java.math.BigDecimal; public class GuideTeamCollectionGuideResponse { private final Long id; private final String realName; private final String mobile; private final BigDecimal balance; private final Integer status; private final boolean configurable; private final String unavailableReason; public GuideTeamCollectionGuideResponse(GuideUser guide, boolean hasActiveWithdrawal) { this.id = guide.getId(); this.realName = guide.getRealName(); this.mobile = guide.getMobile(); this.balance = guide.getBalance() == null ? BigDecimal.ZERO : guide.getBalance(); this.status = guide.getStatus(); if (!Integer.valueOf(1).equals(this.status)) { this.configurable = false; this.unavailableReason = "导游账号未启用"; } else if (this.balance.signum() != 0) { this.configurable = false; this.unavailableReason = "导游余额不为0"; } else if (hasActiveWithdrawal) { this.configurable = false; this.unavailableReason = "导游存在进行中的提现单"; } else { this.configurable = true; this.unavailableReason = null; } } public Long getId() { return id; } public String getRealName() { return realName; } public String getMobile() { return mobile; } public BigDecimal getBalance() { return balance; } public Integer getStatus() { return status; } public boolean isConfigurable() { return configurable; } public String getUnavailableReason() { return unavailableReason; } }