package com.foxinmy.weixin4j.model.card; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.type.card.ActivateCommonField; import com.foxinmy.weixin4j.type.card.ActivateFormFieldType; import java.util.HashSet; /** * 普通一键激活 中设置会员卡 * * @auther: Feng Yapeng * @since: 2016/12/20 16:25 */ public class MemberUserForm { /** * 卡券ID。 */ @JSONField(name = "card_id") private String cardId; /** * 服务声明,用于放置商户会员卡守则 */ @JSONField(name = "service_statement") private JSONObject serviceStatement; /** * 绑定老会员链接 */ @JSONField(name = "bind_old_card") private JSONObject bindOldCard; /** *设置必填的from */ @JSONField(name = "required_form") private FormBudiler requiredForm; /** * 设置选填的form */ @JSONField(name = "optional_form") private FormBudiler optionalForm; public String getCardId() { return cardId; } public void setCardId(String cardId) { this.cardId = cardId; } public JSONObject getServiceStatement() { return serviceStatement; } public void setServiceStatement(String name,String url) { JSONObject serviceStatement = new JSONObject(); serviceStatement.put("name",name); serviceStatement.put("url",url); this.serviceStatement = serviceStatement; } public JSONObject getBindOldCard() { return bindOldCard; } public void setBindOldCard(String name,String url) { JSONObject bindOldCard = new JSONObject(); bindOldCard.put("name",name); bindOldCard.put("url",url); this.bindOldCard = bindOldCard; } public void setRequiredForm(FormBudiler formBudiler) { this.requiredForm = formBudiler; } public void setOptionalForm(FormBudiler formBudiler) { this.optionalForm = formBudiler; } public FormBudiler getRequiredForm() { return requiredForm; } public FormBudiler getOptionalForm() { return optionalForm; } public final static class FormBudiler { /** * 当前结构(required_form或者optional_form )内 * 的字段是否允许用户激活后再次修改,商户设置为true * 时,需要接收相应事件通知处理修改事件 */ @JSONField(name = "can_modify") private boolean canModify; /** * 自定义富文本类型,包含以下三个字段 */ @JSONField(name = "rich_field_list") private JSONArray richFieldList; /** * 微信格式化的选项类型 */ @JSONField(name = "common_field_id_list") private HashSet<ActivateCommonField> commonFieldIdList; /** * 自定义选项名称。 */ @JSONField(name = "custom_field_list") private HashSet<String> customFieldList; /** * 自定义富文本类型 */ public FormBudiler addRichField(ActivateFormFieldType fieldType, String name, String... values) { if (richFieldList == null) { richFieldList = new JSONArray(); } JSONObject obj = new JSONObject(); obj.put("type", fieldType); obj.put("name", name); obj.put("values", values); richFieldList.add(obj); return this; } public FormBudiler canModify(boolean modify){ this.canModify = modify; return this; } /** * 自定义公共字段 */ public FormBudiler addCommonField(ActivateCommonField... fields) { if (commonFieldIdList == null) { commonFieldIdList = new HashSet<ActivateCommonField>(); } for (ActivateCommonField field : fields) { commonFieldIdList.add(field); } return this; } /** * 增加自定义的内容 * @param names */ public FormBudiler addCustomField(String... names) { if (customFieldList == null) { customFieldList = new HashSet<String>(); } for (String name : names) { customFieldList.add(name); } return this; } public boolean isCanModify() { return canModify; } public JSONArray getRichFieldList() { return richFieldList; } public HashSet<ActivateCommonField> getCommonFieldIdList() { return commonFieldIdList; } public HashSet<String> getCustomFieldList() { return customFieldList; } } }