package com.tourguide.modules.user.dto;
|
|
import javax.validation.Valid;
|
import javax.validation.constraints.AssertTrue;
|
import javax.validation.constraints.DecimalMax;
|
import javax.validation.constraints.DecimalMin;
|
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.Pattern;
|
import javax.validation.constraints.Size;
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class GuideTeamSaveRequest {
|
@NotBlank(message = "讲解队名称不能为空")
|
@Size(max = 100, message = "讲解队名称不能超过100个字符")
|
private String teamName;
|
|
@NotBlank(message = "联系人电话不能为空")
|
@Pattern(regexp = "^[0-9+\\-() ]{6,20}$", message = "联系人电话格式不正确")
|
private String contactPhone;
|
|
@Size(max = 200, message = "企业名称不能超过200个字符")
|
private String companyName;
|
|
@Size(max = 32, message = "统一社会信用代码不能超过32个字符")
|
private String unifiedSocialCreditCode;
|
|
@NotNull(message = "平台抽成比例不能为空")
|
@DecimalMin(value = "0", message = "平台抽成比例不能小于0")
|
@DecimalMax(value = "100", message = "平台抽成比例不能大于100")
|
private BigDecimal commissionRatio;
|
|
@Size(max = 128, message = "openID不能超过128个字符")
|
private String wechatOpenId;
|
|
@Size(max = 64, message = "商户ID不能超过64个字符")
|
private String merchantId;
|
|
@Valid
|
private List<GuideTeamScenicRequest> scenicConfigs = new ArrayList<GuideTeamScenicRequest>();
|
|
public String getTeamName() { return teamName; }
|
public void setTeamName(String teamName) { this.teamName = teamName; }
|
public String getContactPhone() { return contactPhone; }
|
public void setContactPhone(String contactPhone) { this.contactPhone = contactPhone; }
|
public String getCompanyName() { return companyName; }
|
public void setCompanyName(String companyName) { this.companyName = companyName; }
|
public String getUnifiedSocialCreditCode() { return unifiedSocialCreditCode; }
|
public void setUnifiedSocialCreditCode(String unifiedSocialCreditCode) { this.unifiedSocialCreditCode = unifiedSocialCreditCode; }
|
public BigDecimal getCommissionRatio() { return commissionRatio; }
|
public void setCommissionRatio(BigDecimal commissionRatio) { this.commissionRatio = commissionRatio; }
|
public String getWechatOpenId() { return wechatOpenId; }
|
public void setWechatOpenId(String wechatOpenId) { this.wechatOpenId = wechatOpenId; }
|
public String getMerchantId() { return merchantId; }
|
public void setMerchantId(String merchantId) { this.merchantId = merchantId; }
|
public List<GuideTeamScenicRequest> getScenicConfigs() { return scenicConfigs; }
|
public void setScenicConfigs(List<GuideTeamScenicRequest> scenicConfigs) { this.scenicConfigs = scenicConfigs; }
|
|
@AssertTrue(message = "openID和商户ID至少配置一个")
|
public boolean isCollectionAccountConfigured() {
|
return hasText(wechatOpenId) || hasText(merchantId);
|
}
|
|
private boolean hasText(String value) {
|
return value != null && !value.trim().isEmpty();
|
}
|
}
|