fix
This commit is contained in:
@@ -158,89 +158,4 @@ public class EmailMessageController(
|
|||||||
return BaseResponse.Fail($"同步邮件失败: {ex.Message}");
|
return BaseResponse.Fail($"同步邮件失败: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 标记邮件为已读
|
|
||||||
/// </summary>
|
|
||||||
[HttpPost]
|
|
||||||
public async Task<BaseResponse> MarkAsReadAsync([FromQuery] long id)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var email = await emailRepository.GetByIdAsync(id);
|
|
||||||
if (email == null)
|
|
||||||
{
|
|
||||||
return BaseResponse.Fail("邮件不存在");
|
|
||||||
}
|
|
||||||
|
|
||||||
email.IsRead = true;
|
|
||||||
email.UpdateTime = DateTime.Now;
|
|
||||||
var success = await emailRepository.UpdateAsync(email);
|
|
||||||
|
|
||||||
if (success)
|
|
||||||
{
|
|
||||||
return new BaseResponse
|
|
||||||
{
|
|
||||||
Success = true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return BaseResponse.Fail("标记失败");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
logger.LogError(ex, "标记邮件为已读失败,邮件ID: {EmailId}", id);
|
|
||||||
return BaseResponse.Fail($"标记失败: {ex.Message}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 将所有邮件标记为已读
|
|
||||||
/// </summary>
|
|
||||||
[HttpPost]
|
|
||||||
public async Task<BaseResponse> MarkAllAsReadAsync()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var emails = await emailRepository.GetAllAsync();
|
|
||||||
var unreadEmails = emails.Where(e => !e.IsRead).ToList();
|
|
||||||
|
|
||||||
if (unreadEmails.Count == 0)
|
|
||||||
{
|
|
||||||
return new BaseResponse
|
|
||||||
{
|
|
||||||
Success = true,
|
|
||||||
Message = "没有未读邮件"
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var email in unreadEmails)
|
|
||||||
{
|
|
||||||
email.IsRead = true;
|
|
||||||
email.UpdateTime = DateTime.Now;
|
|
||||||
}
|
|
||||||
|
|
||||||
var success = await emailRepository.UpdateRangeAsync(unreadEmails);
|
|
||||||
|
|
||||||
if (success)
|
|
||||||
{
|
|
||||||
return new BaseResponse
|
|
||||||
{
|
|
||||||
Success = true,
|
|
||||||
Message = $"已将 {unreadEmails.Count} 封邮件标记为已读"
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return BaseResponse.Fail("标记失败");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
logger.LogError(ex, "将所有邮件标记为已读失败");
|
|
||||||
return BaseResponse.Fail($"标记失败: {ex.Message}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user