修改
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
he 2025-06-04 14:21:56 +08:00
parent 018c9afee0
commit 60accb2f87
5 changed files with 101 additions and 1 deletions

View File

@ -370,6 +370,52 @@ namespace IRaCIS.Core.Application.Contracts
public List<Guid> Ids { get; set; } public List<Guid> Ids { get; set; }
} }
public class TrialDocumentAttachmentView : TrialDocumentAttachmentAddOrEdit
{
public DateTime CreateTime { get; set; }
public DateTime UpdateTime { get; set; }
}
public class TrialDocumentAttachmentAddOrEdit
{
public Guid? Id { get; set; }
public string FileFormat { get; set; }
public string FileName { get; set; }
public string FilePath { get; set; }
public decimal? FileSize { get; set; }
public string Name { get; set; }
public bool OffLine { get; set; }
public Guid TrialDocumentId { get; set; }
}
public class TrialDocumentAttachmentQuery : PageInput
{
public string? FileFormat { get; set; }
public string? FileName { get; set; }
public string? FilePath { get; set; }
public decimal? FileSize { get; set; }
public string? Name { get; set; }
public bool? OffLine { get; set; }
public Guid? TrialDocumentId { get; set; }
}
public class AddOrEditSystemDocument : SystemDocumentAddOrEdit public class AddOrEditSystemDocument : SystemDocumentAddOrEdit
{ {

View File

@ -13,6 +13,7 @@ namespace IRaCIS.Core.Application.Contracts
{ {
public string FullFilePath { get; set; } = String.Empty; public string FullFilePath { get; set; } = String.Empty;
public int AttachmentCount { get; set; }
public bool IsSomeUserSigned { get; set; } public bool IsSomeUserSigned { get; set; }
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }

View File

@ -26,6 +26,7 @@ namespace IRaCIS.Core.Application.Services
[ApiExplorerSettings(GroupName = "Trial")] [ApiExplorerSettings(GroupName = "Trial")]
public class TrialDocumentService(IRepository<TrialDocument> _trialDocumentRepository, public class TrialDocumentService(IRepository<TrialDocument> _trialDocumentRepository,
IRepository<Trial> _trialRepository, IRepository<Trial> _trialRepository,
IRepository<TrialDocumentAttachment> _trialDocumentAttachmentRepository,
ISystemDocumentService _systemDocumentService, ISystemDocumentService _systemDocumentService,
IRepository<SystemDocConfirmedIdentityUser> _systemDocConfirmedUserRepository, IRepository<SystemDocConfirmedIdentityUser> _systemDocConfirmedUserRepository,
IRepository<SystemDocNeedConfirmedUserType> _systemDocNeedConfirmedUserTypeRepository, IRepository<SystemDocNeedConfirmedUserType> _systemDocNeedConfirmedUserTypeRepository,
@ -39,6 +40,55 @@ namespace IRaCIS.Core.Application.Services
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialDocumentService IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialDocumentService
{ {
/// <summary>
/// 获取项目文档附件列表
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<TrialDocumentAttachmentView>> GetTrialDocumentAttachmentList(TrialDocumentAttachmentQuery inQuery)
{
var trialDocumentAttachmentQueryable = _trialDocumentAttachmentRepository
.WhereIf(inQuery.TrialDocumentId!=null,x=>x.TrialDocumentId==inQuery.TrialDocumentId)
.WhereIf(inQuery.Name != null, x => x.Name.Contains(inQuery.Name))
.WhereIf(inQuery.FileFormat != null, x => x.FileFormat == inQuery.FileFormat)
.ProjectTo<TrialDocumentAttachmentView>(_mapper.ConfigurationProvider);
var pageList = await trialDocumentAttachmentQueryable.ToPagedListAsync(inQuery);
return pageList;
}
/// <summary>
/// 添加或更新项目文档附件
/// </summary>
/// <param name="addOrEditTrialDocumentAttachment"></param>
/// <returns></returns>
public async Task<IResponseOutput> AddOrUpdateTrialDocumentAttachment(TrialDocumentAttachmentAddOrEdit addOrEditTrialDocumentAttachment)
{
// 在此处拷贝automapper 映射
var entity = await _trialDocumentAttachmentRepository.InsertOrUpdateAsync(addOrEditTrialDocumentAttachment, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary>
/// 删除项目文档附件
/// </summary>
/// <param name="trialDocumentAttachmentId"></param>
/// <returns></returns>
[HttpDelete("{trialDocumentAttachmentId:guid}")]
public async Task<IResponseOutput> DeleteTrialDocumentAttachment(Guid trialDocumentAttachmentId)
{
var success = await _trialDocumentAttachmentRepository.DeleteFromQueryAsync(t => t.Id == trialDocumentAttachmentId, true);
return ResponseOutput.Ok();
}
/// <summary> /// <summary>
/// 发布项目文档 /// 发布项目文档
/// </summary> /// </summary>

View File

@ -16,6 +16,8 @@ namespace IRaCIS.Core.Application.Service
var isEn_Us = false; var isEn_Us = false;
// 在此处拷贝automapper 映射 // 在此处拷贝automapper 映射
CreateMap<TrialDocumentAttachment, TrialDocumentAttachmentView>();
CreateMap<TrialDocumentAttachment, TrialDocumentAttachmentAddOrEdit>().ReverseMap();
CreateMap<SystemDocumentAttachment, SystemDocumentAttachmentView>(); CreateMap<SystemDocumentAttachment, SystemDocumentAttachmentView>();
CreateMap<SystemDocumentAttachment, SystemDocumentAttachmentAddOrEdit>().ReverseMap(); CreateMap<SystemDocumentAttachment, SystemDocumentAttachmentAddOrEdit>().ReverseMap();
@ -40,6 +42,7 @@ namespace IRaCIS.Core.Application.Service
.ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore());
CreateMap<TrialDocument, TrialDocumentView>() CreateMap<TrialDocument, TrialDocumentView>()
.ForMember(d => d.AttachmentCount, u => u.MapFrom(s =>s.TrialDocumentAttachmentList))
.ForMember(d => d.FileType, u => u.MapFrom(s => isEn_Us ? s.FileType.Value : s.FileType.ValueCN)) .ForMember(d => d.FileType, u => u.MapFrom(s => isEn_Us ? s.FileType.Value : s.FileType.ValueCN))
.ForMember(d => d.IsSomeUserSigned, u => u.MapFrom(s => s.TrialDocConfirmedUserList.Any(t => t.ConfirmTime != null))) .ForMember(d => d.IsSomeUserSigned, u => u.MapFrom(s => s.TrialDocConfirmedUserList.Any(t => t.ConfirmTime != null)))
.ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path)); .ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path));

View File

@ -14,7 +14,7 @@ public class TrialDocument : BaseFullDeleteAuditEntity
[JsonIgnore] [JsonIgnore]
public List<SystemDocumentAttachment> SystemDocumentAttachmentList { get; set; } public List<TrialDocumentAttachment> TrialDocumentAttachmentList { get; set; }
[JsonIgnore] [JsonIgnore]
[ForeignKey("FileTypeId")] [ForeignKey("FileTypeId")]