Uat_IRC_Net8
he 2026-05-12 14:40:32 +08:00
parent 0f68f170ad
commit a04ae45402
1 changed files with 8 additions and 10 deletions

View File

@ -92,26 +92,24 @@ public class SegmentationService(IRepository<Segmentation> _segmentationReposito
private async Task SaveSegmentationVersionAsync(SaveSegmentationVersionAsyncInDto inDto) private async Task SaveSegmentationVersionAsync(SaveSegmentationVersionAsyncInDto inDto)
{ {
var data = await _segmentationRepository.FirstOrDefaultNoTrackingAsync(x => x.Id == inDto.SegmentationId); var data = await _segmentationRepository.FirstOrDefaultNoTrackingAsync(x => x.Id == inDto.SegmentationId);
// 如果是新增或修改,记录一条版本信息
var lastVersion=await _segmentationVersionRepository var maxVersion = await _segmentationVersionRepository
.Where(x => x.SegmentationId == inDto.SegmentationId) .Where(x => x.SegmentationId == data.Id)
.OrderByDescending(x => x.Version) .OrderByDescending(x => x.Version)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
var startTime = maxVersion != null ? maxVersion.CreateTime : data.UpdateTime;
var segmentList = await _segmentRepository var segmentList = await _segmentRepository
.WhereIf(lastVersion!=null,x=>x.CreateTime<= lastVersion.CreateTime) .Where(x=>x.CreateTime<= startTime)
.Where(x => x.SegmentationId == inDto.SegmentationId).OrderBy(x=>x.SegmentNumber).ProjectTo<SegmentVersionData>(_mapper.ConfigurationProvider).ToListAsync(); .Where(x => x.SegmentationId == inDto.SegmentationId).OrderBy(x=>x.SegmentNumber).ProjectTo<SegmentVersionData>(_mapper.ConfigurationProvider).ToListAsync();
if (data.SEGUrl != string.Empty&&(inDto.SEGUrl!=data.SEGUrl||inDto.IsRestore)) if (data.SEGUrl != string.Empty&&(inDto.SEGUrl!=data.SEGUrl||inDto.IsRestore))
{ {
// 如果是新增或修改,记录一条版本信息
var maxVersion = await _segmentationVersionRepository
.Where(x => x.SegmentationId == data.Id)
.OrderByDescending(x => x.Version)
.FirstOrDefaultAsync();
var newVersion = maxVersion == null ? 1 : maxVersion.Version + 1; var newVersion = maxVersion == null ? 1 : maxVersion.Version + 1;
var startTime = maxVersion != null ? maxVersion.CreateTime : data.UpdateTime ;