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; }
|
}
|