|
@@ -30,8 +30,9 @@ namespace Hotline.Api.Controllers
|
|
|
private readonly IRepository<Circular> _circularRepository;
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
private readonly IRepository<CircularRecord> _circularRecordRepository;
|
|
|
+ private readonly IRepository<CircularReadGroup> _circularReadGroupRepository;
|
|
|
|
|
|
- public ArticleController(IRepository<Bulletin> bulletinRepository,IMapper mapper, ISystemDomainService systemDomainService, ISystemOrganizeRepository organizeRepository, IWorkflowApplication workflowApplication, IRepository<Circular> circularRepository,ISessionContext sessionContext,IRepository<CircularRecord> circularRecordRepository)
|
|
|
+ public ArticleController(IRepository<Bulletin> bulletinRepository,IMapper mapper, ISystemDomainService systemDomainService, ISystemOrganizeRepository organizeRepository, IWorkflowApplication workflowApplication, IRepository<Circular> circularRepository,ISessionContext sessionContext,IRepository<CircularRecord> circularRecordRepository,IRepository<CircularReadGroup> circularReadGroupRepository)
|
|
|
{
|
|
|
_bulletinRepository = bulletinRepository;
|
|
|
_mapper = mapper;
|
|
@@ -41,6 +42,7 @@ namespace Hotline.Api.Controllers
|
|
|
_circularRepository = circularRepository;
|
|
|
_sessionContext = sessionContext;
|
|
|
_circularRecordRepository = circularRecordRepository;
|
|
|
+ _circularReadGroupRepository = circularReadGroupRepository;
|
|
|
}
|
|
|
#region 通知
|
|
|
/// <summary>
|
|
@@ -115,7 +117,7 @@ namespace Hotline.Api.Controllers
|
|
|
{
|
|
|
var rsp = new
|
|
|
{
|
|
|
- CircularType = _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.CircularType)
|
|
|
+ CircularType = await _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.CircularType)
|
|
|
};
|
|
|
return rsp;
|
|
|
}
|
|
@@ -151,6 +153,19 @@ namespace Hotline.Api.Controllers
|
|
|
if (model.CircularType == ECircularType.Person)
|
|
|
{
|
|
|
//个人阅读
|
|
|
+ var readGroup = model.CircularReadGroups.FirstOrDefault(x => x.UserId == _sessionContext.UserId && !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);
|
|
|
+ //处理计数
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -265,7 +280,7 @@ namespace Hotline.Api.Controllers
|
|
|
{
|
|
|
var rsp = new
|
|
|
{
|
|
|
- BulletinType = _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.BulletinType)
|
|
|
+ BulletinType = await _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.BulletinType)
|
|
|
};
|
|
|
return rsp;
|
|
|
}
|
|
@@ -280,7 +295,7 @@ namespace Hotline.Api.Controllers
|
|
|
{
|
|
|
var rsp = new
|
|
|
{
|
|
|
- BulletinType = _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.BulletinType),
|
|
|
+ BulletinType = await _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.BulletinType),
|
|
|
PushRanges = EnumExts.GetDescriptions<EPushRange>(),
|
|
|
OrgsOptions = await _organizeRepository.GetOrgJson(),
|
|
|
};
|