UNIVPLMDataIntegration/Admin.NET/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkCreateAndDeliverInput.cs

316 lines
8.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
namespace Admin.NET.Plugin.DingTalk;
public class DingTalkCreateAndDeliverInput
{
/// <summary>
/// 卡片创建者的userId
/// </summary>
public string? userId { get; set; }
/// <summary>
/// 卡片内容模板ID
/// </summary>
[Required]
public string cardTemplateId { get; set; }
/// <summary>
/// 外部卡片实例Id
/// </summary>
[Required]
public string outTrackId { get; set; }
/// <summary>
/// 卡片回调的类型STREAMstream模式 HTTPhttp模式
/// </summary>
public string? callbackType { get; set; }
/// <summary>
/// 卡片回调HTTP模式时的路由 Key用于查询注册的 callbackUrl。
/// </summary>
public string? callbackRouteKey { get; set; }
/// <summary>
/// 卡片数据
/// </summary>
[Required]
public DingTalk_CardData cardData { get; set; }
/// <summary>
/// 用户的私有数据
/// </summary>
public PrivateData? crivateData { get; set; }
/// <summary>
/// 动态数据源配置
/// </summary>
public OpenDynamicDataConfig? openDynamicDataConfig { get; set; }
/// <summary>
/// IM单聊酷应用场域信息
/// </summary>
public OpenSpaceModel? imSingleOpenSpaceModel { get; set; }
/// <summary>
/// IM群聊场域信息。
/// </summary>
public OpenSpaceModel? imGroupOpenSpaceModel { get; set; }
/// <summary>
/// IM机器人单聊场域信息。
/// </summary>
public OpenSpaceModel? imRobotOpenSpaceModel { get; set; }
/// <summary>
/// 协作场域信息
/// </summary>
public OpenSpaceModel? coFeedOpenSpaceModel { get; set; }
/// <summary>
/// 吊顶场域信息
/// </summary>
public OpenSpaceModel? topOpenSpaceModel { get; set; }
/// <summary>
/// 表示场域及其场域id
/// </summary>
/// <remarks>
/// 其格式为dtv1.card//spaceType1.spaceId1;spaceType2.spaceId2_1;spaceType2.spaceId2_2;spaceType3.spaceId3
/// </remarks>
[Required]
public string openSpaceId { get; set; }
/// <summary>
/// 单聊酷应用场域投放参数。
/// </summary>
public DingTalkOpenDeliverModel? imSingleOpenDeliverModel { get; set; }
/// <summary>
/// 群聊投放参数。
/// </summary>
public DingTalkOpenDeliverModel? imGroupOpenDeliverModel { get; set; }
/// <summary>
/// IM机器人单聊投放参数。
/// </summary>
public DingTalkOpenDeliverModel? imRobotOpenDeliverModel { get; set; }
/// <summary>
/// 吊顶投放参数。
/// </summary>
public DingTalkOpenDeliverModel? topOpenDeliverModel { get; set; }
/// <summary>
/// 协作投放参数。
/// </summary>
public DingTalkOpenDeliverModel? coFeedOpenDeliverModel { get; set; }
/// <summary>
/// 文档投放参数
/// </summary>
public DingTalkOpenDeliverModel? docOpenDeliverModel { get; set; }
/// <summary>
/// 用户userId类型:1默认userId模式 2unionId模式
/// </summary>
public int UserIdType { get; set; }
}
public class DingTalk_CardData
{
public DingTalk_CardParamMap cardParamMap { get; set; }
}
/// <summary>
/// 卡片模板内容替换参数
/// </summary>
public class DingTalk_CardParamMap
{
/// <summary>
/// 片模板内容替换参数
/// </summary>
[Newtonsoft.Json.JsonProperty("sys_full_json_obj")]
[System.Text.Json.Serialization.JsonPropertyName("sys_full_json_obj")]
public string sysFullJsonObj { get; set; }
}
public class PrivateData
{
public Dictionary<string, DingTalk_CardParamMap> key { get; set; } = new Dictionary<string, DingTalk_CardParamMap>();
}
public class OpenDynamicDataConfig
{
/// <summary>
/// 动态数据源配置列表。
/// </summary>
public List<DynamicDataSourceConfig>? dynamicDataSourceConfigs { get; set; }
}
public class DynamicDataSourceConfig
{
/// <summary>
/// 数据源的唯一 ID, 调用方指定。
/// </summary>
public string? dynamicDataSourceId { get; set; }
/// <summary>
/// 回调数据源时回传的固定参数。 示例
/// </summary>
public Dictionary<string, string>? constParams { get; set; }
/// <summary>
/// 数据源拉取配置。
/// </summary>
public PullConfig? pullConfig { get; set; }
}
public class PullConfig
{
/// <summary>
/// 拉取策略可选值NONE不拉取无动态数据 INTERVAL间隔拉取ONCE只拉取一次
/// </summary>
public string pullStrategy { get; set; }
/// <summary>
/// 拉取的间隔时间。
/// </summary>
public int interval { get; set; }
/// <summary>
/// 拉取的间隔时间的单位, 可选值SECONDS秒 MINUTES分钟 HOURS小时 DAYS
/// </summary>
public string timeUnit { get; set; }
}
public class OpenSpaceModel
{
/// <summary>
/// 吊顶场域属性通过增加spaeType使卡片支持吊顶场域。
/// </summary>
public string? spaceType { get; set; }
/// <summary>
/// 卡片标题。
/// </summary>
public string? title { get; set; }
/// <summary>
/// 酷应用编码。
/// </summary>
public string? coolAppCode { get; set; }
/// <summary>
/// 是否支持转发, 默认false。
/// </summary>
public bool? supportForward { get; set; }
/// <summary>
/// 支持国际化的LastMessage。
/// </summary>
public Dictionary<string, string>? lastMessageI18n { get; set; }
/// <summary>
/// 支持卡片消息可被搜索字段。
/// </summary>
public SearchSupport? searchSupport { get; set; }
/// <summary>
/// 通知信息。
/// </summary>
public Notification? notification { get; set; }
}
public class SearchSupport
{
/// <summary>
/// 类型的icon供搜索展示使用。
/// </summary>
public string searchIcon { get; set; }
/// <summary>
/// 卡片类型名。
/// </summary>
public string searchTypeName { get; set; }
/// <summary>
/// 供消息展示与搜索的字段。
/// </summary>
public string searchDesc { get; set; }
}
public class Notification
{
/// <summary>
/// 供消息展示与搜索的字段。
/// </summary>
public string alertContent { get; set; }
/// <summary>
/// 是否关闭推送通知true关闭 false不关闭
/// </summary>
public bool notificationOff { get; set; }
}
public class DingTalkOpenDeliverModel
{
/// <summary>
/// 用于发送卡片的机器人编码。
/// </summary>
public string robotCode { get; set; }
/// <summary>
/// 消息@人。格式:{"key":"value"}。key用户的userId value用户名
/// </summary>
public Dictionary<string, string> atUserIds { get; set; }
/// <summary>
/// 指定接收人的userId。
/// </summary>
public List<string> recipients { get; set; }
/// <summary>
/// 扩展字段,示例如下:{"key":"value"}
/// </summary>
public Dictionary<string, string> extension { get; set; }
/// <summary>
/// IM机器人单聊若未设置其他投放属性需设置spaeType为IM_ROBOT。
/// </summary>
public string spaceType { get; set; }
/// <summary>
/// 过期时间戳。若使用topOpenDeliverModel对象则该字段必填。
/// </summary>
public long expiredTimeMillis { get; set; }
/// <summary>
/// 可以查看该吊顶卡片的userId。
/// </summary>
public List<string> userIds { get; set; }
/// <summary>
/// 可以查看该吊顶卡片的设备androidioswinmac。
/// </summary>
public List<string> platforms { get; set; }
/// <summary>
/// 业务标识。
/// </summary>
public string bizTag { get; set; }
/// <summary>
/// 协作场域下的排序时间。
/// </summary>
public long gmtTimeLine { get; set; }
/// <summary>
/// 员工userId信息
/// </summary>
public string userId { get; set; }
}