namespace Yw.Application { /// /// AttachFile /// [Route("DOCS/Attach/File/Std")] [ApiDescriptionSettings("DOCS", Name = "附加文件(Std)", Order = 89000)] public class SysAttachFile_StdController : IDynamicApiController { /// /// 通过 AttachType 和 AttachID 获取 /// [Route("GetByAttachTypeAndAttachID@V1.0")] [HttpGet] public List GetByAttachTypeAndAttachID([FromQuery][Required] AttachInput input) { var keyContent = $"DOCS_Sys_Attach_File_Std_GetByAttachTypeAndAttachID_{input.AttachType}_{input.AttachID}"; var cacheKey = MemoryCacheKeyHelper.GetKey(MemoryCacheKey.WebApiLevel, MemoryCacheKey.Module, keyContent); var vm_list = MemoryCacheHelper.GetSet(cacheKey, () => { var all = new Yw.Service.SysAttachFile().GetByAttachTypeAndAttachID(input.AttachType, input.AttachID); Yw.Service.SysAttachFile.PublishCache(cacheKey); var vmList = all?.Select(x => new SysAttachFileStdDto(x)).ToList(); return vmList; }, Yw.Service.ConfigHelper.CacheLevel5); return vm_list; } /// /// 通过 AttachType 和 AttachID 获取(包含标签) /// [Route("GetByAttachTypeAndAttachIDContainsFlags@V1.0")] [HttpGet] public List GetByAttachTypeAndAttachIDContainsFlags([FromQuery][Required] AttachAndFlagsInput input) { var flags = FlagsHelper.ToList(input.Flags); var list = new Yw.Service.SysAttachFile().GetByAttachTypeAndAttachIDContainsFlags(input.AttachType, input.AttachID, flags); var vmList = list?.Select(x => new SysAttachFileStdDto(x)).ToList(); return vmList; } /// /// 通过 AttachType 和 AttachID 获取(包含标签)默认 /// [Route("GetDefaultByAttachTypeAndAttachIDContainsFlags@V1.0")] [HttpGet] public SysAttachFileStdDto GetDefaultByAttachTypeAndAttachIDContainsFlags([FromQuery][Required] AttachAndFlagsInput input) { var flags = FlagsHelper.ToList(input.Flags); var list = new Yw.Service.SysAttachFile().GetByAttachTypeAndAttachIDContainsFlags(input.AttachType, input.AttachID, flags); var model = list?.FirstOrDefault(); return model == null ? null : new SysAttachFileStdDto(model); } } }