package com.alipay.api.domain;

import com.alipay.api.AlipayObject;
import com.alipay.api.internal.mapping.ApiField;
import com.alipay.api.internal.mapping.ApiListField;

import java.util.List;

/**
 * 蚂蚁会员V3权益修改接口
 *
 * @author auto create
 * @since 1.0, 2017-06-15 15:43:39
 */
public class AlipayUserNewbenefitModifyModel extends AlipayObject {

	private static final long serialVersionUID = 7198148668765871422L;

	/**
	 * 权益关联的专区码 ,需要联系蚂蚁会员平台的业务负责人进行专区码分配
	 */
	@ApiField("area_code")
	private String areaCode;

	/**
	 * 权益Id，用于定位需要编辑的权益，通过权益创建接口获取得到，调用创建接口后，将权益Id妥善存储，编辑时传入
	 */
	@ApiField("benefit_id")
	private Long benefitId;

	/**
	 * 权益的名称，由商户自行定义
	 */
	@ApiField("benefit_name")
	private String benefitName;

	/**
	 * 权益的副标题，用于补充描述权益
	 */
	@ApiField("benefit_sub_title")
	private String benefitSubTitle;

	/**
	 * 权益详情描述
	 */
	@ApiField("description")
	private String description;

	/**
	 * 当权益为非差异化时，该字段生效，用于控制允许兑换权益的等级
	 */
	@ApiField("eligible_grade_desc")
	private String eligibleGradeDesc;

	/**
	 * 权益展示结束时间，使用Date.getTime()。结束时间必须大于起始时间。
	 */
	@ApiField("end_dt")
	private Long endDt;

	/**
	 * 兑换规则以及不满足该规则后给用户的提示文案，规则id和文案用:分隔；可配置多个，多个之间用,分隔。(分隔符皆是英文半角字符)规则id联系蚂蚁会员pd或运营提供
	 */
	@ApiField("exchange_rule_ids")
	private String exchangeRuleIds;

	/**
	 * 权益等级配置
	 */
	@ApiListField("grade_config")
	@ApiField("benefit_grade_config")
	private List<BenefitGradeConfig> gradeConfig;

	/**
	 * 权益展示时的图标地址，由商户上传图片到合适的存储平台，然后将图片的地址传入
	 */
	@ApiField("icon_url")
	private String iconUrl;

	/**
	 * 需要被移除的等级配置
	 */
	@ApiField("remove_grades")
	private String removeGrades;

	/**
	 * 权益展示的起始时间戳，使用Date.getTime()获得
	 */
	@ApiField("start_dt")
	private Long startDt;

	public String getAreaCode() {
		return this.areaCode;
	}

	public void setAreaCode(String areaCode) {
		this.areaCode = areaCode;
	}

	public Long getBenefitId() {
		return this.benefitId;
	}

	public void setBenefitId(Long benefitId) {
		this.benefitId = benefitId;
	}

	public String getBenefitName() {
		return this.benefitName;
	}

	public void setBenefitName(String benefitName) {
		this.benefitName = benefitName;
	}

	public String getBenefitSubTitle() {
		return this.benefitSubTitle;
	}

	public void setBenefitSubTitle(String benefitSubTitle) {
		this.benefitSubTitle = benefitSubTitle;
	}

	public String getDescription() {
		return this.description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getEligibleGradeDesc() {
		return this.eligibleGradeDesc;
	}

	public void setEligibleGradeDesc(String eligibleGradeDesc) {
		this.eligibleGradeDesc = eligibleGradeDesc;
	}

	public Long getEndDt() {
		return this.endDt;
	}

	public void setEndDt(Long endDt) {
		this.endDt = endDt;
	}

	public String getExchangeRuleIds() {
		return this.exchangeRuleIds;
	}

	public void setExchangeRuleIds(String exchangeRuleIds) {
		this.exchangeRuleIds = exchangeRuleIds;
	}

	public List<BenefitGradeConfig> getGradeConfig() {
		return this.gradeConfig;
	}

	public void setGradeConfig(List<BenefitGradeConfig> gradeConfig) {
		this.gradeConfig = gradeConfig;
	}

	public String getIconUrl() {
		return this.iconUrl;
	}

	public void setIconUrl(String iconUrl) {
		this.iconUrl = iconUrl;
	}

	public String getRemoveGrades() {
		return this.removeGrades;
	}

	public void setRemoveGrades(String removeGrades) {
		this.removeGrades = removeGrades;
	}

	public Long getStartDt() {
		return this.startDt;
	}

	public void setStartDt(Long startDt) {
		this.startDt = startDt;
	}

}
