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

IRC_NewDev
hang 2024-09-03 13:02:40 +08:00
parent 01ee530e38
commit a5ef0fc902
8 changed files with 79 additions and 41 deletions

View File

@ -304,10 +304,10 @@ namespace IRaCIS.Api.Controllers
var client = new Client(new AlibabaCloud.OpenApiClient.Models.Config()
{
//AccessKeyId = ossOptions.accessKeyId,
//AccessKeySecret = ossOptions.accessKeySecret,
AccessKeyId = "LTAI5tJV76pYX5yPg1N9QVE8",
AccessKeySecret = "roRNLa9YG1of4pYruJGCNKBXEWTAWa",
AccessKeyId = ossOptions.accessKeyId,
AccessKeySecret = ossOptions.accessKeySecret,
//AccessKeyId = "LTAI5tJV76pYX5yPg1N9QVE8",
//AccessKeySecret = "roRNLa9YG1of4pYruJGCNKBXEWTAWa",
Endpoint = "sts.cn-hangzhou.aliyuncs.com"
});
@ -316,9 +316,9 @@ namespace IRaCIS.Api.Controllers
// 将<YOUR_ROLE_SESSION_NAME>设置为自定义的会话名称例如oss-role-session。
assumeRoleRequest.RoleSessionName = $"session-name-{NewId.NextGuid()}";
// 将<YOUR_ROLE_ARN>替换为拥有上传文件到指定OSS Bucket权限的RAM角色的ARN。
//assumeRoleRequest.RoleArn = ossOptions.roleArn;
assumeRoleRequest.RoleArn = "acs:ram::1899121822495495:role/webdirect";
assumeRoleRequest.DurationSeconds = 7200;
assumeRoleRequest.RoleArn = ossOptions.roleArn;
//assumeRoleRequest.RoleArn = "acs:ram::1899121822495495:role/webdirect";
assumeRoleRequest.DurationSeconds = ossOptions.durationSeconds;
var runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
var response = client.AssumeRoleWithOptions(assumeRoleRequest, runtime);
var credentials = response.Body.Credentials;
@ -338,7 +338,7 @@ namespace IRaCIS.Api.Controllers
};
return ResponseOutput.Ok(new ObjectStoreDTO() { ObjectStoreUse = serviceOption.ObjectStoreUse, AliyunOSS = serviceOption.AliyunOSS, AliyunOSSTemp= tempToken });
return ResponseOutput.Ok(new ObjectStoreDTO() { ObjectStoreUse = serviceOption.ObjectStoreUse, AliyunOSS = tempToken });
}
@ -352,23 +352,7 @@ namespace IRaCIS.Api.Controllers
}
}
[HttpGet("user/getUploadTempToken")]
public IResponseOutput GetUploadTempToken([FromServices] IOptionsMonitor<ObjectStoreServiceOptions> options)
{
var serviceOption = options.CurrentValue;
if (Enum.TryParse<ObjectStoreUse>(serviceOption.ObjectStoreUse, out var parsedEnum) && parsedEnum == ObjectStoreUse.AliyunOSS)
{
var ossOptions = serviceOption.AliyunOSS;
}
return ResponseOutput.Ok();
}
#region aliyun-net-sdk-sts 之前

View File

@ -19,12 +19,13 @@
"regionId": "cn-shanghai",
"internalEndpoint": "https://oss-cn-shanghai-internal.aliyuncs.com",
"endPoint": "https://oss-cn-shanghai.aliyuncs.com",
"accessKeyId": "LTAI5tKvzs7ed3UfSpNk3xwQ",
"accessKeySecret": "zTIceGEShlZDGnLrCFfIGFE7TXVRio",
"accessKeyId": "LTAI5tJV76pYX5yPg1N9QVE8",
"accessKeySecret": "roRNLa9YG1of4pYruJGCNKBXEWTAWa",
"bucketName": "zy-irc-test-store",
"roleArn": "acs:ram::1899121822495495:role/oss-upload",
"roleArn": "acs:ram::1899121822495495:role/webdirect",
"viewEndpoint": "https://zy-irc-test-store.oss-cn-shanghai.aliyuncs.com",
"region": "oss-cn-shanghai"
"region": "oss-cn-shanghai",
"durationSeconds": 7200
},
"MinIO": {
"endPoint": "hir-oss.test.extimaging.com",

View File

@ -55,6 +55,10 @@ namespace IRaCIS.Core.Application.Helper
public string viewEndpoint { get; set; }
public int durationSeconds { get; set; }
}
public class ObjectStoreServiceOptions
@ -74,9 +78,8 @@ namespace IRaCIS.Core.Application.Helper
{
public string ObjectStoreUse { get; set; }
public AliyunOSSOptions AliyunOSS { get; set; }
public AliyunOSSTempToken AliyunOSSTemp { get; set; }
public AliyunOSSTempToken AliyunOSS { get; set; }
public MinIOOptions MinIO { get; set; }

View File

@ -62,6 +62,11 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc.DTO
}
public class SubjectCRCImageUploadedStudyDto: SubjectCRCImageUploadedDto
{
public bool IsDicom => DicomStudyList.Count() > 0;
}
public class SubjectCRCImageUploadedDto
{
public Guid VisitTaskId { get; set; }
@ -79,6 +84,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc.DTO
public Guid? SourceSubjectVisitId { get; set; }
public List<DicomStudyBasicInfo> DicomStudyList { get; set; }
public List<NoneDicomStudyBasicInfo> NoneDicomStudyList { get; set; }
@ -125,7 +131,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc.DTO
public string Description { get; set; } = string.Empty;
}
}

View File

@ -415,7 +415,7 @@ namespace IRaCIS.Core.Application.Contracts
public List<Guid> NoneDicomStudyIdList { get; set; }
}
public class IRReadingDownloadQuery
public class IRReadingDownloadQuery:SortInput
{
[NotDefault]
public Guid SubjectId { get; set; }

View File

@ -1,4 +1,5 @@
using FellowOakDicom;
using DocumentFormat.OpenXml.Office2010.Ink;
using FellowOakDicom;
using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Application.Filter;
using IRaCIS.Core.Application.Helper;
@ -895,7 +896,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
}
/// <summary>
/// IR 影像上传任务列表
/// IR 影像上传任务列表 --old 20240903 界面调整,现在先废弃
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
@ -1049,7 +1050,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<SubjectCRCImageUploadedDto>> GetSubjectImageDownloadSelectList(IRReadingDownloadQuery inQuery)
public async Task<List<SubjectCRCImageUploadedStudyDto>> GetSubjectImageDownloadSelectList(IRReadingDownloadQuery inQuery)
{
var query = _visitTaskRepository.Where(t => t.SubjectId == inQuery.SubjectId && t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId
@ -1059,12 +1060,53 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
var list = await query.Where(t => t.SubjectCode == inQuery.SubjectCode).ToListAsync();
return list;
#region 将任务级别转为检查级别
var result = new List<SubjectCRCImageUploadedStudyDto>();
var dicomStudyList = list.Where(item => item.DicomStudyList.Count > 0)
.Select(item => new SubjectCRCImageUploadedStudyDto
{
VisitTaskId = item.VisitTaskId,
SubjectId = item.SubjectId,
SubjectCode = item.SubjectCode,
TaskBlindName = item.TaskBlindName,
TaskName = item.TaskName,
IsImageFilter = item.IsImageFilter,
CriterionModalitys = item.CriterionModalitys,
SourceSubjectVisitId = item.SourceSubjectVisitId,
//取dicom
DicomStudyList = item.DicomStudyList,
}).ToList();
var noneStudyList = list.Where(item => item.NoneDicomStudyList.Count > 0)
.Select(item => new SubjectCRCImageUploadedStudyDto
{
VisitTaskId = item.VisitTaskId,
SubjectId = item.SubjectId,
SubjectCode = item.SubjectCode,
TaskBlindName = item.TaskBlindName,
TaskName = item.TaskName,
IsImageFilter = item.IsImageFilter,
CriterionModalitys = item.CriterionModalitys,
SourceSubjectVisitId = item.SourceSubjectVisitId,
//非dicom
NoneDicomStudyList = item.NoneDicomStudyList,
}).ToList();
result.AddRange(dicomStudyList);
result.AddRange(noneStudyList);
#endregion
return result;
}
/// <summary>
/// IR 阅片页面获取下载检查的信息 会根据标准进行过滤检查,(后端要考虑到一致性分析 subjectCode的问题
/// 检查在访视下面所以需要传递下载的访视Id另外下载访视下面那些检查就把访视下的对应的检查Id 丢到数组里就好
/// </summary>
/// <param name="inQuery"></param>
/// <param name="_subjectRepository"></param>

View File

@ -576,7 +576,7 @@ namespace IRaCIS.Core.Application.Service
else
{
para = $"{JsonData["item"].ToString()}";
ForeignKeyText = 1.ToString();
ForeignKeyText = "UserName";
if (_frontAuditConfigRepository._dbContext.Database.IsSqlServer())
{
@ -586,7 +586,7 @@ namespace IRaCIS.Core.Application.Service
}
else if (_frontAuditConfigRepository._dbContext.Database.IsNpgsql())
{
//sql = $"select {ForeignKeyText} Text from \"{Table}\" where \"{ForeignKeyValue}\" = @para";
sql = $"select \"{ForeignKeyText}\" Text from \"{Table}\" where \"{ForeignKeyValue}\" = @para";
}
else
{
@ -608,8 +608,8 @@ namespace IRaCIS.Core.Application.Service
else if (_frontAuditConfigRepository._dbContext.Database.IsNpgsql())
{
//jsonDataValueDic[item.Key] = string.Join(",", _frontAuditConfigRepository._dbContext.Database.SqlQueryRaw<string>
// (sql, new NpgsqlParameter("@para", Guid.Parse(para))).ToList());
jsonDataValueDic[item.Key] = string.Join(",", _frontAuditConfigRepository._dbContext.Database.SqlQueryRaw<string>
(sql, new NpgsqlParameter("@para",para)).ToList());
}
else
{

View File

@ -109,7 +109,9 @@ namespace IRaCIS.Application.Services
{
var timeSpan= HolidayHelper.GetChinaWorkTimeSpan(startdate, endDate);
return $"{timeSpan.Days}天,{timeSpan.Hours}小时{timeSpan.Minutes}分钟{timeSpan.Seconds}";
_userRepository.Where(t => t.Id == _userInfo.Id).Select(t => t.FullName).FirstOrDefault();
return $"{timeSpan.Days}天,{timeSpan.Hours}小时{timeSpan.Minutes}分钟{timeSpan.Seconds}秒";
}
public async Task<IResponseOutput> TestEFcore8()