private void PushNotice(int UserId, int CompanyID, TSMUserAccountDbModel userAccount) { var permissUser = _db.Instance.Queryable <TSMUserAccountDbModel, TSMRoleUserRelationDbModel, TSMRolePermissionsDbModel, TSMRolesDbModel, TPMMenusDbModel>( (x, x1, x2, x3, x4) => new object[] { JoinType.Inner, x.ID == x1.UserId, JoinType.Inner, x1.RoleId == x2.RoleId, JoinType.Inner, x2.RoleId == x3.Id, JoinType.Inner, x2.MenuId == x4.Id }).Where((x, x1, x2, x3, x4) => x.CompanyId == CompanyID && x.Status == 1 && x4.MenuPath == "/views/SysSettings/UserAuth/index.vue") .Select((x, x1, x2, x3, x4) => x).ToList(); var adminUser = _db.Instance.Queryable <TSMUserAccountDbModel, TSMCompanyDbModel>((x, x1) => new object[] { JoinType.Inner, x.ID == x1.AdminId }).Where((x, x1) => x1.ID == CompanyID).Select((x, x1) => x).First(); if (!permissUser.Any(p => p.ID == adminUser.ID)) { permissUser.Add(adminUser); } var redis = CacheFactory.Instance(CacheType.Redis); List <ToDoMgModel> toDoMgModelList = new List <ToDoMgModel>(); foreach (var userTtem in permissUser) { ToDoMgModel toDoModel = new ToDoMgModel(); toDoModel.Title = "申请加入公司"; toDoModel.Content = $"姓名:{userAccount.AccountName} 电话:{userAccount.TelAccount},申请加入公司"; toDoModel.CreateBy = UserId; toDoModel.CreateDate = DateTime.Now; toDoModel.IsRead = false; toDoModel.MessageType = MessageTypeMgEnum.ToApplytoComplany; toDoModel.To = userTtem.ID; toDoModel.ToDoId = Guid.NewGuid().ToString(); toDoModel.CompanyID = CompanyID; toDoMgModelList.Add(toDoModel); } MongoDbUtil.AddDoc(toDoMgModelList); }
public ResponseObject <bool> Read(string Id, CurrentUser currentUser) { try { ToDoMgModel loginLog = MongoDbUtil.GetDoc <ToDoMgModel>(p => p.ToDoId == Id, null).FirstOrDefault(); if (loginLog != null) { UpdateDefinition <ToDoMgModel> update = Builders <ToDoMgModel> . Update.Set(y => y.IsRead, true); MongoDbUtil.UpdateOne <ToDoMgModel>(p => p.ToDoId == Id && p.CompanyID == currentUser.CompanyID, update); } return(ResponseUtil <bool> .SuccessResult(true)); } catch (Exception ex) { return(ResponseUtil <bool> .FailResult(false, $"{ex.Message}")); } }