生成历史版本逻辑修改
continuous-integration/drone/push Build is running Details

Uat_IRC_Net8
he 2026-05-11 16:30:33 +08:00
parent 44d9c23c0c
commit 790ac40f4e
2 changed files with 7 additions and 3 deletions

View File

@ -104,6 +104,10 @@ public class SegmentationVersionView
public class SaveSegmentationVersionAsyncInDto
{
public Guid SegmentationId { get; set; }
public string SEGUrl { get; set; }
public bool IsRestore { get; set; } = false;
}
public class SegmentationVersionQuery : PageInput

View File

@ -78,7 +78,7 @@ public class SegmentationService(IRepository<Segmentation> _segmentationReposito
if (addOrEditSegmentation.Id != null)
{
await SaveSegmentationVersionAsync(new SaveSegmentationVersionAsyncInDto() { SegmentationId = addOrEditSegmentation.Id.Value });
await SaveSegmentationVersionAsync(new SaveSegmentationVersionAsyncInDto() { SegmentationId = addOrEditSegmentation.Id.Value,SEGUrl=addOrEditSegmentation.SEGUrl });
}
var entity = await _segmentationRepository.InsertOrUpdateAsync(addOrEditSegmentation, true);
return ResponseOutput.Ok(entity.Id.ToString());
@ -94,7 +94,7 @@ public class SegmentationService(IRepository<Segmentation> _segmentationReposito
var data = await _segmentationRepository.FirstOrDefaultNoTrackingAsync(x => x.Id == inDto.SegmentationId);
var segmentList = await _segmentRepository.Where(x => x.SegmentationId == inDto.SegmentationId).OrderBy(x=>x.SegmentNumber).ProjectTo<SegmentVersionData>(_mapper.ConfigurationProvider).ToListAsync();
if (data.SEGUrl != string.Empty)
if (data.SEGUrl != string.Empty&&(inDto.SEGUrl!=data.SEGUrl||inDto.IsRestore))
{
// 如果是新增或修改,记录一条版本信息
var maxVersion = await _segmentationVersionRepository
@ -152,7 +152,7 @@ public class SegmentationService(IRepository<Segmentation> _segmentationReposito
var version = await _segmentationVersionRepository.Where(x => x.Id == inDto.VersionId && x.SegmentationId == inDto.SegmentationId).FirstNotNullAsync();
var segmentation = await _segmentationRepository.Where(x => x.Id == inDto.SegmentationId).FirstNotNullAsync();
await SaveSegmentationVersionAsync(new SaveSegmentationVersionAsyncInDto() { SegmentationId=inDto.SegmentationId});
await SaveSegmentationVersionAsync(new SaveSegmentationVersionAsyncInDto() { SegmentationId=inDto.SegmentationId,IsRestore=true,});
await _segmentationRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.SegmentationId, t => new Segmentation
{
SegmentationJson = version.SegmentationJson,