public ActionResult MassMessages(bool isByRole, List<string> roleName, bool isMessage, string body, string subject, int minRank = 0, int maxRank = 0)
        {
            int maxUserRank = 1;
            var ranks = new UserRankService().GetAll();
            if (ranks.Count > 0)
                maxUserRank = ranks.Max(n => n.Value.Rank);
            if (minRank > maxRank)
            {
                int temp = 0;
                temp = maxRank;
                maxRank = minRank;
                minRank = temp;
            }

            IEnumerable<IUser> users = null;
            if (isByRole)
            {
                users = UserService.GetUsers(roleName, 0, 0);
            }
            else
            {
                users = UserService.GetUsers(new List<string>(), minRank, maxRank);
            }
            int count = 0;

            if (isMessage)
            {
                foreach (var user in users)
                {
                    Message message = Message.New();
                    message.MessageType = MessageType.CustomerService;
                    message.SenderUserId = (long)BuildinMessageUserId.CustomerService;
                    message.Sender = "客服消息";
                    if (DIContainer.Resolve<Authorizer>().Message(user.UserId))
                    {
                        message.Receiver = user.DisplayName;
                        message.ReceiverUserId = user.UserId;
                        message.Body = body;
                        bool value = messageService.Create(message);
                        count++;
                    }
                }
            }
            else
            {
                IEmailSettingsManager emailSettingsManager = DIContainer.Resolve<IEmailSettingsManager>();
                EmailSettings emailSettings = emailSettingsManager.Get();
                foreach (var user in users)
                {
                    if (user != null)
                    {
                        try
                        {
                            MailMessage mail = new MailMessage(emailSettings.AdminEmailAddress, user.AccountEmail);
                            mail.Subject = "客服消息";
                            mail.Body = body;
                            mail.IsBodyHtml = false;
                            mail.BodyEncoding = Encoding.UTF8;
                            mail.From = new System.Net.Mail.MailAddress(emailSettings.AdminEmailAddress);
                            mail.IsBodyHtml = false;
                            mail.Sender = new System.Net.Mail.MailAddress(emailSettings.AdminEmailAddress);
                            mail.Subject = subject;
                            mail.SubjectEncoding = Encoding.UTF8;

                            emailService.Enqueue(mail);

                            count++;
                        }
                        catch (Exception ex)
                        {
                            string a = ex.Message;
                        }

                    }
                }
            }

            if (count > 0)
                return Json(new StatusMessageData(StatusMessageType.Success, string.Format("成功发送了{0}条{1}", count, isMessage ? "消息" : "邮件")));
            return Json(new StatusMessageData(StatusMessageType.Error, string.Format("{0}发送失败了!", isMessage ? "消息" : "邮件")));
        }
        public ActionResult MassMessages()
        {
            //角色下拉列表
            IEnumerable<Role> roles = roleService.GetRoles();
            if (roles != null)
            {
                ViewData["Roles"] = roles.Select(n => new MenuItem { Text = n.FriendlyRoleName, Value = n.RoleName.ToString() });
            }

            int maxUserRank = 1;
            var ranks = new UserRankService().GetAll();
            if (ranks.Count > 0)
                maxUserRank = ranks.Max(n => n.Value.Rank);
            ViewData["maxUserRank"] = maxUserRank;
            return View();
        }