package com.cyksj.model.request.corp;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.List;


@Getter
@Setter
@JsonInclude(JsonInclude.Include.NON_NULL)
public class CorpFollowContact {
	/**
	 * 配置id
	 */
	private String configId;

	/**
	 * 联系方式类型,1-单人, 2-多人
	 */
	private Integer type;

	/**
	 * 场景，1-在小程序中联系，2-通过二维码联系
	 */
	private Integer scene;

	/**
	 * 在小程序中联系时使用的控件样式，详见附表
	 */
	private Integer style;

	private String remark;

	/**
	 * 外部客户添加时是否无需验证，默认为true
	 */
	private boolean skip_verify;

	private String state;

	private List<String> user;

	/**
	 * 使用该联系方式的部门id列表，只在type为2时有效
	 */
	private List<Integer> party;

	@JsonProperty("is_temp")
	private boolean isTemp;

	private Integer expires_in;

	private Integer chat_expires_in;

	private String unionid;

	@JsonProperty("is_exclusive")
	private boolean isExclusive;

	private Conclusions conclusions;

	@Getter
	@Setter
	@JsonInclude(JsonInclude.Include.NON_NULL)
	class Conclusions {
		private Text text;

		private Image image;

		private Link link;

		@JsonProperty("miniprogram")
		private MiniProgram miniprogram;
	}

	@Getter
	@Setter
	@JsonInclude(JsonInclude.Include.NON_NULL)
	class Text {
		private String content;
	}


	@Getter
	@Setter
	@JsonInclude(JsonInclude.Include.NON_NULL)
	class MiniProgram {
		private String title;

		private String pic_media_id;

		private String appid;

		private String page;
	}

	@Getter
	@Setter
	@JsonInclude(JsonInclude.Include.NON_NULL)
	class Image {
		private String media_id;
	}

	@Getter
	@Setter
	@JsonInclude(JsonInclude.Include.NON_NULL)
	class Link {
		private String title;

		private String picurl;

		private String desc;

		private String url;
	}


}