/// <summary> /// 广播消息 /// </summary> /// <param name="userInfo">用户</param> /// <param name="message">消息内容</param> /// <returns>主键</returns> public int Broadcast(UserInfo userInfo, string message) { int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, "广播消息"); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { string[] receiverIds = null; var userManager = new PiUserManager(dbProvider, userInfo); receiverIds = userManager.GetIds(new KeyValuePair <string, object>(PiUserTable.FieldEnabled, 1), new KeyValuePair <string, object>(PiUserTable.FieldDeleteMark, 0)); var messageManager = new CiMessageManager(dbProvider, userInfo); var messageEntity = new CiMessageEntity { Id = BusinessLogic.NewGuid(), FunctionCode = MessageFunction.Remind.ToString(), MSGContent = message, IsNew = 1, ReadCount = 0, Enabled = 1, DeleteMark = 0 }; returnValue = messageManager.BatchSend(receiverIds, string.Empty, string.Empty, messageEntity, false); }); return(returnValue); }
/// <summary> /// 添加用户 /// </summary> /// <param name="dbProvider">数据库连接</param> /// <param name="userInfo">用户信息</param> /// <param name="userEntity">用户实体</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns>主键</returns> public string AddUser(IDbProvider dbProvider, UserInfo userInfo, PiUserEntity userEntity, out string statusCode, out string statusMessage) { string returnValue = string.Empty; var userManager = new PiUserManager(dbProvider, userInfo); returnValue = userManager.Add(userEntity, out statusCode); statusMessage = userManager.GetStateMessage(statusCode); LogManager.Instance.Add(dbProvider, userInfo, this.serviceName, RDIFrameworkMessage.UserService_AddUser, MethodBase.GetCurrentMethod()); // 自己不用给自己发提示信息,这个提示信息是为了提高工作效率的,还是需要审核通过的,否则垃圾信息太多了 if (userEntity.Enabled == 0 && statusCode.Equals(StatusCode.OKAdd.ToString())) { // 不是系统管理员添加 if (!userInfo.IsAdministrator) { // 给超级管理员群组发信息 var roleManager = new PiRoleManager(dbProvider, userInfo); string[] roleIds = roleManager.GetIds(PiRoleTable.FieldCode, "Administrators", PiRoleTable.FieldId); string[] userIds = userManager.GetIds(PiUserTable.FieldCode, "Administrator", PiUserTable.FieldId); // 发送请求审核的信息 var messageEntity = new CiMessageEntity { Id = BusinessLogic.NewGuid(), FunctionCode = MessageFunction.WaitForAudit.ToString(), ReceiverId = DefaultRole.Administrator.ToString(), MSGContent = userInfo.RealName + "(" + userInfo.IPAddress + ")" + RDIFrameworkMessage.UserService_Application + userEntity.RealName + RDIFrameworkMessage.UserService_Check, IsNew = 1, ReadCount = 0, Enabled = 1, DeleteMark = 0 }; var messageManager = new CiMessageManager(dbProvider, userInfo); messageManager.BatchSend(userIds, null, roleIds, messageEntity, false); } } return(returnValue); }