Пример #1
0
        /// <summary>
        /// 获取微信里面的部门信息 用于下载的时候显示用
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public DataTable GetWeiXinDepartmentInfo(WeiXinConfigOutputDto input)
        {
            WeiXinApi api = new WeiXinApi(_cacheManager.GetCache("WeiXinApi"), input.CorpId, input.TXL_Secret, "1");

            //获取部门信息
            JObject   joDepInfo = api.GetDepartment();
            DataTable dt        = new DataTable();

            dt.Columns.Add("id");
            dt.Columns.Add("name");
            dt.Columns.Add("parentid");
            dt.Columns.Add("userNum");

            var joDeps = joDepInfo["department"];

            for (int i = 0; i < joDeps.Count(); i++)
            {
                DataRow row = dt.NewRow();
                row["id"]       = joDeps[i]["id"].ToString();
                row["name"]     = joDeps[i]["name"].ToString();
                row["parentid"] = joDeps[i]["parentid"].ToString();

                JObject joUsers = api.GetUserInfoSimpleList(row["id"].ToString());
                row["userNum"] = joUsers["userlist"].Count().ToString();

                dt.Rows.Add(row);
            }

            return(dt);
        }
Пример #2
0
        /// <summary>
        /// 下载通讯录
        /// </summary>
        /// <param name="input"></param>
        /// <param name="txlIds"></param>
        /// <returns></returns>
        public async Task <bool> DownTXL(WeiXinConfigDownTXL input)
        {
            var entity = await _WeiXinConfigManager.GetWeiXinConfigByIdAsync(input.Id);

            WeiXinApi api = new WeiXinApi(_cacheManager.GetCache("WeiXinApi"), entity.CorpId, entity.TXL_Secret, "1");
            //获取本次同步的部门列表
            JObject joDepInfo = api.GetDepartment();
            var     joDeps    = joDepInfo["department"].Where(d => input.DepIds.Contains(d["id"].ToString())).ToList();

            DownTXL(api, entity.CorpId, joDeps, "0");
            return(true);
        }
Пример #3
0
        /// <summary>
        /// 上传通讯录
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <bool> UploadTXL(WeiXinConfigDownTXL input)
        {
            var entity = await _WeiXinConfigManager.GetWeiXinConfigByIdAsync(input.Id);

            WeiXinApi api = new WeiXinApi(_cacheManager.GetCache("WeiXinApi"), entity.CorpId, entity.TXL_Secret, "1");
            //获取部门列表
            var joDeps = api.GetDepartment()["department"];
            //获取微信所有用户
            var joUsers = api.GetUserInfoList("1", 1)["userlist"];

            var orgList = _wx_OrganizationUnitAppService.GetAllOrganizationUnitsByCorpId(input.CorpId);
            var listO   = orgList.Where(o => input.DepIds.Contains(o.Id.ToString())).ToList();

            //var userList = _userAppService.GetAllUsers().Result.ToList();

            UploadTXL(api, listO, joDeps, joUsers, 0);


            return(true);
        }