|
@@ -71,18 +71,11 @@ public class SnapshotBulletinApplication : ISnapshotBulletinApplication, IScopeD
|
|
bulletin.ExaminManId = _sessionContext.RequiredUserId;
|
|
bulletin.ExaminManId = _sessionContext.RequiredUserId;
|
|
await _bulletinRepository.UpdateAsync(bulletin, token);
|
|
await _bulletinRepository.UpdateAsync(bulletin, token);
|
|
|
|
|
|
- var citizens = await _safetyTypeRepository.Queryable()
|
|
|
|
- .LeftJoin<CitizenRelationSafetyType>((safety, relation) => safety.Id == relation.SafetyTypeId)
|
|
|
|
- .LeftJoin<Citizen>((safety, relation, citizen) => relation.CitizenId == citizen.Id)
|
|
|
|
- .Where((safety, relation, citizen) => safety.Id == bulletin.SafetyTypeId)
|
|
|
|
- .Select((safety, relation, citizen) => citizen.Id)
|
|
|
|
- .ToListAsync(token);
|
|
|
|
-
|
|
|
|
await _capPublisher.PublishAsync(Share.Mq.EventNames.BulletinIsPass, bulletin.Id, cancellationToken: token);
|
|
await _capPublisher.PublishAsync(Share.Mq.EventNames.BulletinIsPass, bulletin.Id, cancellationToken: token);
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
- /// 发送通知公告
|
|
|
|
|
|
+ /// 执行发送通知公告
|
|
/// </summary>
|
|
/// </summary>
|
|
/// <param name="bullutionId"></param>
|
|
/// <param name="bullutionId"></param>
|
|
/// <param name="token"></param>
|
|
/// <param name="token"></param>
|
|
@@ -93,22 +86,26 @@ public class SnapshotBulletinApplication : ISnapshotBulletinApplication, IScopeD
|
|
.Then(async bulletion =>
|
|
.Then(async bulletion =>
|
|
{
|
|
{
|
|
if (bulletion!.IsSnapshot == false) return;
|
|
if (bulletion!.IsSnapshot == false) return;
|
|
- await _safetyTypeRepository.Queryable()
|
|
|
|
- .LeftJoin<CitizenRelationSafetyType>((safety, relation) => safety.Id == relation.SafetyTypeId)
|
|
|
|
- .LeftJoin<Citizen>((safety, relation, citizen) => relation.CitizenId == citizen.Id)
|
|
|
|
- .Where((safety, relation, citizen) => safety.Id == bulletion.SafetyTypeId)
|
|
|
|
- .Select((safety, relation, citizen) => relation.CitizenId)
|
|
|
|
- .ToListAsync(token)
|
|
|
|
- .Then(async citizenIds =>
|
|
|
|
- {
|
|
|
|
- var inDto = bulletion.Adapt<AddNotifyInDto>();
|
|
|
|
- inDto.UserIds = citizenIds;
|
|
|
|
- if (bulletion.VideoPath.NotNullOrEmpty())
|
|
|
|
|
|
+ if (bulletion!.SafetyTypeId!.IsNullOrEmpty()) return;
|
|
|
|
+ foreach (var safetyTypeId in bulletion!.SafetyTypeId!)
|
|
|
|
+ {
|
|
|
|
+ await _safetyTypeRepository.Queryable()
|
|
|
|
+ .LeftJoin<CitizenRelationSafetyType>((safety, relation) => safety.Id == relation.SafetyTypeId)
|
|
|
|
+ .LeftJoin<Citizen>((safety, relation, citizen) => relation.CitizenId == citizen.Id)
|
|
|
|
+ .Where((safety, relation, citizen) => safety.Id == safetyTypeId)
|
|
|
|
+ .Select((safety, relation, citizen) => relation.CitizenId)
|
|
|
|
+ .ToListAsync(token)
|
|
|
|
+ .Then(async citizenIds =>
|
|
{
|
|
{
|
|
- inDto.NotifyType = ENotificationType.Video;
|
|
|
|
- }
|
|
|
|
- await _notificationDomainService.AddNotifyAsync(inDto, token);
|
|
|
|
- });
|
|
|
|
|
|
+ var inDto = bulletion.Adapt<AddNotifyInDto>();
|
|
|
|
+ inDto.UserIds = citizenIds;
|
|
|
|
+ if (bulletion.VideoPath.NotNullOrEmpty())
|
|
|
|
+ {
|
|
|
|
+ inDto.NotifyType = ENotificationType.Video;
|
|
|
|
+ }
|
|
|
|
+ await _notificationDomainService.AddNotifyAsync(inDto, token);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|