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.

157 lines
4.8 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Text;
using BP.DA;
using BP.Tools;
namespace BP.GPM.WeiXin
{
/// <summary>
/// 部门下的人员
/// </summary>
public class UserList
{
#region 属性.
/// <summary>
/// 返回码
/// </summary>
public int errcode { get; set; }
/// <summary>
/// 对返回码的文本描述内容
/// </summary>
public string errmsg { get; set; }
/// <summary>
/// 成员列表
/// </summary>
public List<UserEntity> userlist { get; set; }
#endregion 属性.
/// <summary>
/// 初始化部门信息
/// </summary>
public UserList()
{
}
/// <summary>
/// 部门ID
/// </summary>
/// <param name="deptID"></param>
public UserList(string deptID)
{
//获取token.
string access_token = BP.GPM.WeiXin.WeiXinEntity.getAccessToken();
string url = "https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token=" + access_token + "&department_id=" + deptID + "&status=0";
//获得信息.
string str = DataType.ReadURLContext(url);
UserList userList = BP.Tools.FormatToJson.ParseFromJson<UserList>(str);
//赋值.
this.errcode = userList.errcode;
this.errmsg = userList.errmsg;
this.userlist = userList.userlist;
}
}
/// <summary>
/// 部门人员详情
/// </summary>
public class UserEntity
{
#region 属性.
/// <summary>
/// 成员UserID。对应管理端的帐号
/// </summary>
public string userid { get; set; }
/// <summary>
/// 成员名称
/// </summary>
public string name { get; set; }
/// <summary>
/// 成员所属部门
/// </summary>
public object department { get; set; }
/// <summary>
/// 职位信息
/// </summary>
public string position { get; set; }
/// <summary>
/// 手机号码
/// </summary>
public string mobile { get; set; }
/// <summary>
/// 性别。0表示未定义1表示男性2表示女性
/// </summary>
public string gender { get; set; }
/// <summary>
/// 邮箱
/// </summary>
public string email { get; set; }
/// <summary>
/// 微信号
/// </summary>
public string weixinid { get; set; }
/// <summary>
/// 头像url。注如果要获取小图将url最后的"/0"改成"/64"即可
/// </summary>
public string avatar { get; set; }
/// <summary>
/// 关注状态: 1=已关注2=已冻结4=未关注
/// </summary>
public string status { get; set; }
/// <summary>
/// 扩展属性
/// </summary>
public string extattr { get; set; }
#endregion 属性.
/// <summary>
/// 获取指定部门下 指定手机号的人员
/// </summary>
/// <param name="deptID">部门编号</param>
/// <param name="tel">手机号</param>
/// <returns></returns>
public UserEntity(string deptID, string tel = null)
{
string access_token = BP.GPM.WeiXin.WeiXinEntity.getAccessToken();
string url = "https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token= " + access_token + "&department_id=" + deptID + "&status=0";
//读取数据.
string str = DataType.ReadURLContext(url);
//获得用户列表.
UserList users = FormatToJson.ParseFromJson<UserList>(str);
//从用户列表里找到tel的人员信息并返回.
foreach (UserEntity user in users.userlist)
{
if (user.mobile.Equals(tel))
{
this.userid = user.userid;
this.name = user.name;
this.department = user.department;
this.position = user.position;
this.mobile = user.mobile;
this.gender = user.gender;
this.email = user.email;
this.weixinid = user.weixinid;
this.avatar = user.avatar;
this.status = user.status;
this.extattr = user.extattr;
}
}
throw new Exception("err@该部门下查无此人.");
}
}
/// <summary>
/// 简写的User
/// </summary>
public class User
{
public int ErrCode { get; set; }
public string ErrMsg { get; set; }
public string UserId { get; set; }
public string DeviceId { get; set; }
}
}