package com.zhongshu.card.client.model.tip;

import com.zhongshu.card.client.type.tip.BusFunctionType;
import com.zhongshu.card.client.type.tip.TipType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.HashMap;
import java.util.Map;

/**
 * @author TRX
 * @date 2025/2/19
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TipInfoParam {

    @Schema(description = "消息标题")
    private String title;

    @Schema(description = "消息内容")
    private String content;

    @Schema(description = "消息类型，如：系统信息、用户信息")
    private TipType tipType = TipType.System;

    @Schema(description = "扩展信息")
    private Map<String, Object> metaInfo = new HashMap<String, Object>();

    //--------------------------那个用户发送的 start ----------------

    @Schema(description = "发送用户的userId")
    private String fromUserId;

    @Schema(description = "名称")
    private String fromUserName;

    //--------------------------关于那个用户的信息 start--------------
    private String toUserId;

    //---------------------是否阅读 start -------------

    @Schema(description = "是否阅读")
    private Boolean isRead = Boolean.FALSE;

    @Schema(description = "阅读时间")
    private Long readTime;

    @Schema(description = "阅读时间（可读）")
    private String readTimeStr;

    //----------------------业务参数 start -------------

    @Schema(description = "关联业务数据id")
    private String busDataId;

    @Schema(description = "业务功能类型")
    private BusFunctionType busFunctionType;

    @Schema(description = "业务服务名称")
    private String busServiceBeanName;

    @Schema(description = "业务服务参数")
    private Map<String, Object> bueMetaInfo = new HashMap<>();

    @Schema(description = "业务数据状态")
    private String busStateStr;

    @Schema(description = "微信小程序openid")
    private String openId;

}
