|
@@ -34,8 +34,9 @@ namespace Hotline.Api.Controllers
|
|
|
private readonly IRepository<CircularRecord> _circularRecordRepository;
|
|
|
private readonly IRepository<CircularReadGroup> _circularReadGroupRepository;
|
|
|
private readonly IRepository<User> _userRepository;
|
|
|
+ private readonly ICircularRecordDomainService _circularRecordDomainService;
|
|
|
|
|
|
- public ArticleController(IRepository<Bulletin> bulletinRepository,IMapper mapper, ISystemDomainService systemDomainService, ISystemOrganizeRepository organizeRepository, IWorkflowApplication workflowApplication, IRepository<Circular> circularRepository,ISessionContext sessionContext,IRepository<CircularRecord> circularRecordRepository,IRepository<CircularReadGroup> circularReadGroupRepository,IRepository<User> userRepository)
|
|
|
+ public ArticleController(IRepository<Bulletin> bulletinRepository,IMapper mapper, ISystemDomainService systemDomainService, ISystemOrganizeRepository organizeRepository, IWorkflowApplication workflowApplication, IRepository<Circular> circularRepository,ISessionContext sessionContext,IRepository<CircularRecord> circularRecordRepository,IRepository<CircularReadGroup> circularReadGroupRepository,IRepository<User> userRepository, ICircularRecordDomainService circularRecordDomainService)
|
|
|
{
|
|
|
_bulletinRepository = bulletinRepository;
|
|
|
_mapper = mapper;
|
|
@@ -47,6 +48,7 @@ namespace Hotline.Api.Controllers
|
|
|
_circularRecordRepository = circularRecordRepository;
|
|
|
_circularReadGroupRepository = circularReadGroupRepository;
|
|
|
_userRepository = userRepository;
|
|
|
+ _circularRecordDomainService = circularRecordDomainService;
|
|
|
}
|
|
|
#region 通知
|
|
|
|
|
@@ -188,7 +190,7 @@ namespace Hotline.Api.Controllers
|
|
|
if (model.CircularType == ECircularType.Person)
|
|
|
{
|
|
|
//个人阅读
|
|
|
- var readGroup = model.CircularReadGroups.FirstOrDefault(x => x.UserId == _sessionContext.UserId && !x.IsRead);
|
|
|
+ var readGroup = model.CircularReadGroups.FirstOrDefault(x => x.UserId == _sessionContext.RequiredUserId && !x.IsRead);
|
|
|
if (readGroup!=null)
|
|
|
{
|
|
|
readGroup.IsRead = true;
|
|
@@ -199,14 +201,26 @@ namespace Hotline.Api.Controllers
|
|
|
readGroup.IsTimeOut = false;
|
|
|
await _circularReadGroupRepository.UpdateAsync(readGroup, HttpContext.RequestAborted);
|
|
|
//处理计数
|
|
|
-
|
|
|
+ await _circularRecordDomainService.RecordUserHandle(_sessionContext.RequiredUserId, false, HttpContext.RequestAborted);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//部门阅读
|
|
|
+ var readGroup = model.CircularReadGroups.FirstOrDefault(x => x.OrgId == _sessionContext.RequiredOrgId && !x.IsRead);
|
|
|
+ if (readGroup!=null)
|
|
|
+ {
|
|
|
+ readGroup.IsRead = true;
|
|
|
+ readGroup.ReadTime = DateTime.Now;
|
|
|
+ if (DateTime.Now > model.LostEfficacyTime)
|
|
|
+ readGroup.IsTimeOut = true;
|
|
|
+ else
|
|
|
+ readGroup.IsTimeOut = false;
|
|
|
+ await _circularReadGroupRepository.UpdateAsync(readGroup, HttpContext.RequestAborted);
|
|
|
+ //处理部门计数
|
|
|
+ await _circularRecordDomainService.RecordOrgHandle(_sessionContext.RequiredOrgId, false, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
return _mapper.Map<CircularDto>(model);
|
|
|
}
|
|
|
|