You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

401 lines
12 KiB
C#

9 months ago
using System.Collections.Generic;
using System.Collections;
namespace BP.GPM.DTalk.DINGTalk
{
/// <summary>
/// 获取部门列表
/// </summary>
public class DepartMent_List
{
/// <summary>
/// 返回码
/// </summary>
public string errcode { get; set; }
/// <summary>
/// 对返回码的文本描述内容
/// </summary>
public string errmsg { get; set; }
/// <summary>
/// 部门列表数据。以部门的order字段从小到大排列
/// </summary>
public List<DepartMentDetailInfo> department { get; set; }
}
/// <summary>
/// 部门列表明细
/// </summary>
public class DepartMentDetailInfo
{
/// <summary>
/// 部门id
/// </summary>
public string id { get; set; }
/// <summary>
/// 部门名称
/// </summary>
public string name { get; set; }
/// <summary>
/// 父部门id根部门为1
/// </summary>
public string parentid { get; set; }
/// <summary>
/// 是否同步创建一个关联此部门的企业群, true表示是, false表示不是
/// </summary>
public string createDeptGroup { get; set; }
/// <summary>
/// 当群已经创建后,是否有新人加入部门会自动加入该群, true表示是, false表示不是
/// </summary>
public string autoAddUser { get; set; }
}
/// <summary>
/// 创建部门后消息
/// </summary>
public class CreateDepartMent_PostVal
{
/// <summary>
/// 返回码
/// </summary>
public string errcode { get; set; }
/// <summary>
/// 对返回码的文本描述内容
/// </summary>
public string errmsg { get; set; }
/// <summary>
/// 创建的部门id
/// </summary>
public string id { get; set; }
}
/// <summary>
/// 新增人员后消息
/// </summary>
public class CreateUser_PostVal
{
/// <summary>
/// 返回码
/// </summary>
public string errcode { get; set; }
/// <summary>
/// 对返回码的文本描述内容
/// </summary>
public string errmsg { get; set; }
/// <summary>
/// 员工唯一标识userid
/// </summary>
public string userid { get; set; }
}
public class DingUserInfo
{
/// <summary>
/// 返回码
/// </summary>
public string errcode { get; set; }
/// <summary>
/// 对返回码的文本描述内容
/// </summary>
public string errmsg { get; set; }
public UserInfoResult result { get; set; }
}
public class UserInfoResult
{
public string admin { get; set; }
public string remark { get; set; }
public string email { get; set; }
public string mobile { get; set; }
}
public class DingAccessToken
{
/// <summary>
/// 返回码
/// </summary>
public string errcode { get; set; }
/// <summary>
/// 对返回码的文本描述内容
/// </summary>
public string errmsg { get; set; }
public string access_token { get; set; }
public string expires_in { get; set; }
}
/// <summary>
/// 部门人员列表
/// </summary>
public class DepartMentUser_List
{
/// <summary>
/// 返回码
/// </summary>
public string errcode { get; set; }
/// <summary>
/// 对返回码的文本描述内容
/// </summary>
public string errmsg { get; set; }
/// <summary>
/// 在分页查询时返回,代表是否还有下一页更多数据
/// </summary>
public string hasMore { get; set; }
/// <summary>
/// 成员列表
/// </summary>
public List<DepartMentUserInfo> userlist { get; set; }
}
/// <summary>
/// 部门人员详细信息
/// </summary>
public class DepartMentUserInfo
{
/// <summary>
/// 员工唯一标识ID不可修改
/// </summary>
public string userid { get; set; }
/// <summary>
/// 成员名称
/// </summary>
public string name { get; set; }
/// <summary>
/// 表示人员在此部门中的排序列表是按order的倒序排列输出的即从大到小排列输出的
/// </summary>
public string order { get; set; }
/// <summary>
/// 表示人员在此部门中的排序列表是按order的倒序排列输出的即从大到小排列输出的
/// </summary>
public string orderInDepts { get; set; }
/// <summary>
/// 钉钉ID
/// </summary>
public string dingId { get; set; }
/// <summary>
/// 手机号ISV不可见
/// </summary>
public string mobile { get; set; }
/// <summary>
/// 分机号ISV不可见
/// </summary>
public string tel { get; set; }
/// <summary>
/// 办公地点ISV不可见
/// </summary>
public string workPlace { get; set; }
/// <summary>
/// 备注ISV不可见
/// </summary>
public string remark { get; set; }
/// <summary>
/// 是否是企业的管理员, true表示是, false表示不是
/// </summary>
public bool isAdmin { get; set; }
/// <summary>
/// 是否为企业的老板, true表示是, false表示不是
/// </summary>
public bool isBoss { get; set; }
/// <summary>
/// 是否隐藏号码, true表示是, false表示不是
/// </summary>
public bool isHide { get; set; }
/// <summary>
/// 是否是部门的主管, true表示是, false表示不是
/// </summary>
public bool isLeader { get; set; }
/// <summary>
/// 表示该用户是否激活了钉钉
/// </summary>
public bool active { get; set; }
/// <summary>
/// 成员所属部门id列表"department": [1, 2]
/// </summary>
public object department { get; set; }
/// <summary>
/// 职位信息
/// </summary>
public string position { get; set; }
/// <summary>
/// 邮箱
/// </summary>
public string email { get; set; }
/// <summary>
/// 头像url"./dingtalk/abc.jpg"
/// </summary>
public string avatar { get; set; }
/// <summary>
/// 员工工号
/// </summary>
public string jobnumber { get; set; }
/// <summary>
/// 扩展属性,可以设置多种属性(但手机上最多只能显示10个扩展属性具体显示哪些属性
/// 请到OA管理后台->设置->通讯录信息设置和OA管理后台->设置->手机端显示信息设置)
/// extattr": {"爱好":"旅游","年龄":"24"}
/// </summary>
public object extattr { get; set; }
}
/// <summary>
/// 钉钉一般请求返回结果
/// </summary>
public class Ding_Post_ReturnVal
{
/// <summary>
/// 返回码
/// </summary>
public string errcode { get; set; }
/// <summary>
/// 对返回码的文本描述内容
/// </summary>
public string errmsg { get; set; }
}
#region 钉钉消息实体类
public abstract class Ding_Msg
{
/// <summary>
/// 发送的业务编号
/// </summary>
public long WorkID { get; set; }
/// <summary>
/// 钉钉访问许可
/// </summary>
public string Access_Token { get; set; }
#region 发送普通会话消息
/// <summary>
/// 必须:是- 消息发送者员工ID
/// </summary>
public string sender { get; set; }
/// <summary>
/// 必须:是- 群消息或者个人聊天会话Id(通过JSAPI之pickConversation接口唤起联系人界面选择之后即可拿到会话ID之后您可以使用获取到的cid调用此接口
/// </summary>
public string cid { get; set; }
#endregion
#region 发送企业会话消息
/// <summary>
/// 必须:否- 员工ID列表消息接收者多个接收者用 | '分隔)。特殊情况:指定为@all则向该企业应用的全部成员发送
/// </summary>
public string touser { get; set; }
/// <summary>
/// 必须:否- 部门id列表多个接收者用 | '分隔。当touser为@all时忽略本参数 touser或者toparty 二者有一个必填
/// </summary>
public string toparty { get; set; }
/// <summary>
/// 必须:是- 企业应用id这个值代表以哪个应用的名义发送消息
/// </summary>
public string agentid { get; set; }
#endregion
}
/// <summary>
/// 文本和超链接消息
/// </summary>
public class Ding_Msg_Text : Ding_Msg
{
/// <summary>
/// 必须:是- 消息类型此时固定为text
/// </summary>
public string msgtype
{
get
{
return "text";
}
}
/// <summary>
/// 必须:是- 消息内容
/// </summary>
public string content { get; set; }
}
/// <summary>
/// 超链接消息
/// </summary>
public class Ding_Msg_Link : Ding_Msg
{
/// <summary>
/// 必须:是- 消息类型此时固定为link
/// </summary>
public string msgtype
{
get
{
return "link";
}
}
/// <summary>
/// 必须:是- 消息点击链接地址
/// </summary>
public string messageUrl { get; set; }
/// <summary>
/// 必须:是- 图片媒体文件id可以调用上传媒体文件接口获取
/// </summary>
public string picUrl { get; set; }
/// <summary>
/// 必须:是- 消息标题
/// </summary>
public string title { get; set; }
/// <summary>
/// 必须:是- 消息内容
/// </summary>
public string text { get; set; }
}
/// <summary>
/// OA消息内容
/// </summary>
public class Ding_Msg_OA : Ding_Msg
{
/// <summary>
/// 必须:是- 消息类型此时固定为oa
/// </summary>
public string msgtype
{
get
{
return "oa";
}
}
/// <summary>
/// 必须:是- 客户端点击消息时跳转到的H5地址
/// </summary>
public string messageUrl { get; set; }
/// <summary>
/// 必须:是- 消息头部的背景颜色。长度限制为8个英文字符其中前2为表示透明度后6位表示颜色值。不要添加0x
/// </summary>
public string head_bgcolor { get; set; }
/// <summary>
/// 必须:是- 消息的头部标题(仅适用于发送普通场景)
/// </summary>
public string head_text { get; set; }
/// <summary>
/// 必须:否- 消息体的标题
/// </summary>
public string body_title { get; set; }
/// <summary>
/// 必须:否- 消息体的表单最多显示6个超过会被隐藏
/// </summary>
public Hashtable body_form { get; set; }
/// <summary>
/// 必须:否- 消息体的内容最多显示3行
/// </summary>
public string body_content { get; set; }
/// <summary>
/// 必须:否- 消息体中的图片media_id
/// </summary>
public string body_image { get; set; }
/// <summary>
/// 必须:否- 自定义的附件数目。此数字仅供显示,钉钉不作验证
/// </summary>
public string body_file_count { get; set; }
/// <summary>
/// 必须:否- 自定义的作者名字
/// </summary>
public string body_author { get; set; }
}
#endregion 钉钉消息 end
}