public void RemoveNotExistDepartmentInWeixin()
        {
            var list = _Repository.FindBy(null, null, 1, int.MaxValue);

            var accessToken = _commonService.GetContactsAccessToken();
            var departments = _contactsService.GetDepartments(accessToken);

            var sbError = new StringBuilder();

            var deletedList = departments.Where(x => !list.Select(d => d.DepartmentId).Contains(x.Id));

            foreach (var dep in deletedList)
            {
                if (dep.Id == 1)
                {
                    continue;
                }

                try
                {
                    _contactsService.DeleteDepartment(accessToken, dep.Id);
                }
                catch (Exception ex)
                {
                    sbError.AppendLine(string.Format("{0} {1}", dep.Name, ex.Message));
                }
            }

            if (sbError.Length > 0)
            {
                throw new Exception(sbError.ToString());
            }
        }