Moq-данные для статистики и получения истории журнала изменений

This commit is contained in:
Оля Бизюкова 2025-02-06 16:57:13 +05:00
parent 86bf78f31f
commit 2ab8101258
4 changed files with 83 additions and 40 deletions

View File

@ -181,8 +181,8 @@ public class ChangeLogController : ControllerBase, IChangeLogApi
/// <param name="request"></param> /// <param name="request"></param>
/// <param name="token"></param> /// <param name="token"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("statistics/changes-count")] [HttpGet("statistics")]
public async Task<ActionResult<List<StatisticsChangeLogDto>>> GetStatisticsCountAsync([FromQuery] StatisticsChangeLogRequest request, CancellationToken token) public async Task<ActionResult<List<StatisticsChangeLogDto>>> GetStatisticsCountAsync([FromQuery] ChangeLogRequest request, CancellationToken token)
{ {
var result = new List<StatisticsChangeLogDto>() { var result = new List<StatisticsChangeLogDto>() {
new() { DateTime = DateTimeOffset.UtcNow.AddDays(-60), ChangesCount = 10}, new() { DateTime = DateTimeOffset.UtcNow.AddDays(-60), ChangesCount = 10},
@ -202,14 +202,56 @@ public class ChangeLogController : ControllerBase, IChangeLogApi
/// <param name="token"></param> /// <param name="token"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("history")] [HttpGet("history")]
public async Task<ActionResult<DatesRangeDto>> GetHistoryAsync([FromQuery] StatisticsChangeLogRequest request, CancellationToken token) public async Task<ActionResult<HistoryChangeLogDto>> HistoryChangeLogDto([FromQuery] ChangeLogRequest request, CancellationToken token)
{ {
var result = new List<StatisticsChangeLogDto>() { var userId = Guid.CreateVersion7();
new() { DateTime = DateTimeOffset.UtcNow.AddDays(-60), ChangesCount = 10}, var changeLogItemCurrentId = Guid.CreateVersion7();
new() { DateTime = DateTimeOffset.UtcNow.AddDays(-50), ChangesCount = 2}, var changeLogItems = new List<ChangeLogDto>()
new() { DateTime = DateTimeOffset.UtcNow.AddDays(-25), ChangesCount = 560}, {
new() { DateTime = DateTimeOffset.UtcNow.AddDays(-2), ChangesCount = 78}, new ChangeLogDto()
new() { DateTime = DateTimeOffset.UtcNow.AddDays(-1), ChangesCount = 39}, {
Id = changeLogItemCurrentId,
Creation = DateTimeOffset.UtcNow,
IdAuthor = userId,
IdEditor = userId,
Obsolete = null,
Value = new ChangeLogValuesDto(){
Id = Guid.CreateVersion7(),
Value = new Dictionary<string, object>() {
["1"] = new { id = 1, caption = "Изменение 1 (c правкой)" },
["2"] = new { id = 2, caption = "Изменение 2 (с правкой)" },
}
}
},
new ChangeLogDto()
{
Id = Guid.CreateVersion7(),
Creation = DateTimeOffset.UtcNow.AddDays(-10),
IdAuthor = userId,
IdEditor = userId,
IdNext = changeLogItemCurrentId,
Obsolete = DateTimeOffset.UtcNow.AddDays(-5),
Value = new ChangeLogValuesDto(){
Id = Guid.CreateVersion7(),
Value = new Dictionary<string, object>() {
["1"] = new { id = 1, caption = "Изменение 1" },
["2"] = new { id = 2, caption = "Изменение 2" },
}
}
}
};
var result = new List<HistoryChangeLogDto>() {
new() {
Comment = "Петров И. Ю. попросил внести изменения",
DateTime = DateTimeOffset.UtcNow,
DiscriminatorId = Guid.CreateVersion7(),
User = new UserDto()
{
Id = userId,
DisplayName = "Иванов И. И"
},
ChangeLogItems = changeLogItems
},
}; };
return Ok(result); return Ok(result);

View File

@ -1,10 +1,4 @@
using System; namespace DD.Persistence.Models;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DD.Persistence.Models;
/// <summary> /// <summary>
/// Модель, необходимая для отображения истории по журналу изменений /// Модель, необходимая для отображения истории по журналу изменений
@ -19,7 +13,7 @@ public class HistoryChangeLogDto
/// <summary> /// <summary>
/// Пользователь, совершивший изменение данных /// Пользователь, совершивший изменение данных
/// </summary> /// </summary>
public Guid UserId { get; set; } public required UserDto User { get; set; }
/// <summary> /// <summary>
/// Проект, с которым связаны изменения /// Проект, с которым связаны изменения
@ -27,22 +21,12 @@ public class HistoryChangeLogDto
public Guid DiscriminatorId { get; set; } public Guid DiscriminatorId { get; set; }
/// <summary> /// <summary>
/// Количество измененных строк /// Список изменений
/// </summary> /// </summary>
public int RowsChangesCount { get; set; } public required IEnumerable<ChangeLogDto> ChangeLogItems { get; set; }
/// <summary>
/// Изменения на предшествующую дату
/// </summary>
public required IEnumerable<ChangeLogValuesDto> ChangeLogItemsByPreviousDate { get; set; }
/// <summary>
/// Изменения на текущую дату
/// </summary>
public required IEnumerable<ChangeLogValuesDto> ChangeLogItemsByCurrentDate { get; set; }
/// <summary> /// <summary>
/// Комментарий к изменению /// Комментарий к изменению
/// </summary> /// </summary>
public string? Comment { get; set; } public required string Comment { get; set; }
} }

View File

@ -1,18 +1,12 @@
using System; namespace DD.Persistence.Models.Requests;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DD.Persistence.Models.Requests;
/// <summary> /// <summary>
/// Запрос, используемый для получения статистики по журналу операций /// Запрос, используемый для получения данных по журналу операций
/// </summary> /// </summary>
public class StatisticsChangeLogRequest public class ChangeLogRequest
{ {
/// <summary> /// <summary>
/// /// Дискриминатор задачи
/// </summary> /// </summary>
public Guid DiscriminatorId { get; set; } public Guid DiscriminatorId { get; set; }

View File

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DD.Persistence.Models;
/// <summary>
/// Класс, описывающий пользователя
/// </summary>
public class UserDto
{
/// <summary>
/// Идентификатор пользователя
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Имя пользователя для отображения
/// </summary>
public required string DisplayName { get; set; }
}