
package org.tio.sitexxx.service.model.main;

import cn.hutool.core.util.StrUtil;
import org.tio.sitexxx.service.model.main.base.BaseWxFriendMsg;
import org.tio.sitexxx.service.vo.wx.*;
import org.tio.utils.json.Json;

/**
 * Generated by JFinal.
 */
@SuppressWarnings("serial")
public class WxFriendMsg extends BaseWxFriendMsg<WxFriendMsg> {

	public static final Long maxid = 999999999999999999l;

	public static final WxFriendMsg dao = new WxFriendMsg().dao();

	public void setMid(java.lang.Long mid) {
		put("mid", mid);
	}

	public java.lang.Long getMid() {
		if (getLong("mid") == null) {
			return getId();
		}
		return getLong("mid");
	}

	public void setC(java.lang.String c) {
		put("c", c);
	}

	/**
	 * 聊天内容（原始内容）
	 */
	public java.lang.String getC() {
		if (StrUtil.isBlank(getStr("c"))) {
			return getText();
		}
		return getStr("c");
	}

	/**
	 * 聊天时间
	 */
	public void setT(java.util.Date t) {
		put("t", t);
	}

	/**
	 * 聊天时间
	 */
	public java.util.Date getT() {
		if (get("t") == null) {
			return getTime();
		}
		return get("t");
	}

	/**
	 * 内容类型，1、普通文本消息，2、超链接卡片消息，3、文件，4、音频，5、视频
	 */
	public void setCt(java.lang.Short ct) {
		put("ct", ct);
	}

	/**
	 * 内容类型，1、普通文本消息，2、超链接卡片消息，3、文件，4、音频，5、视频
	 */
	public java.lang.Short getCt() {
		if (getShort("ct") == null) {
			return getContenttype();
		}
		return getShort("ct");
	}

	/**
	 * 昵称
	 */
	public void setNick(java.lang.String nick) {
		put("nick", nick);
	}

	/**
	 * 昵称
	 */
	public java.lang.String getNick() {
		return getStr("nick");
	}

	/**
	 * 头像url
	 */
	public void setAvatar(java.lang.String avatar) {
		put("avatar", avatar);
	}

	/**
	 * 头像url
	 */
	public java.lang.String getAvatar() {
		return getStr("avatar");
	}

	public WxRedVo getRed() {
		String obj = getStr("red");
		if (StrUtil.isNotBlank(obj)) {
			return Json.toBean(obj, WxRedVo.class);
		}
		return null;
	}

	public void setRed(java.lang.String red) {
		put("red", red);
	}

	/**
	 * 红包订单号
	 */
	public java.lang.String getSerialNumber() {
		return getStr("serialNumber");
	}

	/**
	 * 消息类型
	 * 1：正常消息：2：操作消息
	 * @author xufei
	 * 2020年1月15日 上午10:37:25
	 */
	public static interface MsgType {
		/**
		 *  正常消息
		 */
		short NORMAL = 1;

		/**
		 * 操作消息
		 */
		short oper = 2;
	}

	public Video getVc() {
		String obj = getStr("vc");
		if (StrUtil.isNotBlank(obj)) {
			return Json.toBean(obj, Video.class);
		}
		return null;
	}

	public Reference getR(){
		String obj = getStr("r");
		if (StrUtil.isNotBlank(obj)) {
			return Json.toBean(obj, Reference.class);
		}
		return null;
	}

	public void setR(String ac) {
		put("r", ac);
	}


	public String getBc() {
		return getStr("bc");
	}

	public Audio getAc() {
		String obj = getStr("ac");
		if (StrUtil.isNotBlank(obj)) {
			return Json.toBean(obj, Audio.class);
		}
		return null;
	}

	public File getFc() {
		String obj = getStr("fc");
		if (StrUtil.isNotBlank(obj)) {
			return Json.toBean(obj, File.class);
		}
		return null;
	}

	public Img getIc() {
		String obj = getStr("ic");
		if (StrUtil.isNotBlank(obj)) {
			return Json.toBean(obj, Img.class);
		}
		return null;
	}

	public WxMsgCardVo getCardc() {
		String obj = getStr("cardc");
		if (StrUtil.isNotBlank(obj)) {
			return Json.toBean(obj, WxMsgCardVo.class);
		}
		return null;
	}

	public WxTemplateMsgVo getTemp() {
		String obj = getStr("temp");
		if (StrUtil.isNotBlank(obj)) {
			return Json.toBean(obj, WxTemplateMsgVo.class);
		}
		return null;
	}

	public WxCallItemVo getCall() {
		String obj = getStr("call");
		if (StrUtil.isNotBlank(obj)) {
			return Json.toBean(obj, WxCallItemVo.class);
		}
		return null;
	}
	
	public WxPositionVo getPosition() {
		String obj = getStr("position");
		if (StrUtil.isNotBlank(obj)) {
			return Json.toBean(obj, WxPositionVo.class);
		}
		return null;
	}

	public void setVc(String vc) {
		put("vc", vc);
	}

	public void setBc(String bc) {
		put("bc", bc);
	}

	public void setAc(String ac) {
		put("ac", ac);
	}

	public void setFc(String fc) {
		put("fc", fc);
	}

	public void setIc(String ic) {
		put("ic", ic);
	}

	public void setCardc(String cardc) {
		put("cardc", cardc);
	}

	public void setCall(String call) {
		put("call", call);
	}

	public void setTemp(String temp) {
		put("temp", temp);
	}
	
	public void setPosition(String position) {
		put("position", position);
	}

}
