Uat_Study
he 2022-12-08 12:15:01 +08:00
parent b4af708e22
commit aa20a78ae0
1 changed files with 8 additions and 2 deletions

View File

@ -445,8 +445,14 @@ namespace IRaCIS.Application.Services
/// <param name="QuestionId"></param>
/// <param name="originalId"></param>
/// <exception cref="BusinessValidationFailedException"></exception>
private void VerifyCalculateRelation(List<CalculateRelationDto> relationList,Guid QuestionId,Guid originalId)
private void VerifyCalculateRelation(List<CalculateRelationDto> relationList,Guid QuestionId,Guid originalId,int count=1)
{
// 防止有脏数据 循环验证 最多10000次
if (count >= 10000)
{
throw new BusinessValidationFailedException("计算依赖循环了!");
}
var relation = relationList.Where(x=>x.CalculateQuestionList.Any(y=>y.QuestionId== QuestionId||y.TableQuestionId==QuestionId)).ToList();
if (relation.Select(x => x.QuestionId).ToList().Contains(originalId))
@ -460,7 +466,7 @@ namespace IRaCIS.Application.Services
relation.ForEach(x =>
{
VerifyCalculateRelation(relationList, x.QuestionId, originalId);
VerifyCalculateRelation(relationList, x.QuestionId, originalId,count++);
});
}