完成 轨迹模板内容排序 接口

This commit is contained in:
柳文翔 2024-03-02 10:07:59 +08:00
parent df4772b5c5
commit 6c10a6e21c
4 changed files with 44 additions and 3 deletions

View File

@ -0,0 +1,11 @@
using SJZY.Expand.ABP.Core.PublicMethords;
namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates;
public class SortTrackTemplateContentInput
{
/// <summary>
/// 排序信息
/// </summary>
public List<DropdownListDataDto> SortInfo { get; set; }
}

View File

@ -1,6 +1,7 @@
using System.Linq.Expressions; using System.Linq.Expressions;
using Microsoft.Extensions.Localization; using Microsoft.Extensions.Localization;
using SJZY.Expand.ABP.Core.Localization; using SJZY.Expand.ABP.Core.Localization;
using SJZY.Track.Application.Contract.Dtos.TrackPush;
using SJZY.Track.Application.Contract.Dtos.TrackTemplates; using SJZY.Track.Application.Contract.Dtos.TrackTemplates;
using SJZY.Track.Application.Localization; using SJZY.Track.Application.Localization;
using SJZY.Track.Domain.Aggregates.TrackPullAggregate; using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
@ -34,7 +35,7 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
_stringLocalizer = stringLocalizer; _stringLocalizer = stringLocalizer;
_trackTemplateRepository = trackTemplateRepository; _trackTemplateRepository = trackTemplateRepository;
_trackPullConfigRepository = trackPullConfigRepository; _trackPullConfigRepository = trackPullConfigRepository;
_trackPushConfigRepository=trackPushConfigRepository; _trackPushConfigRepository = trackPushConfigRepository;
} }
/// <summary> /// <summary>
@ -119,7 +120,7 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
var isExist = await _trackTemplateRepository.GetFirstAsync(a => var isExist = await _trackTemplateRepository.GetFirstAsync(a =>
a.Id != input.Id && a.SubSystemId == input.SubSystemId && a.Code == input.Code); a.Id != input.Id && a.SubSystemId == input.SubSystemId && a.Code == input.Code);
if (isExist != null) if (isExist != null)
{ {
throw new BusinessException(message: "模板代码已存在于当前选择的子系统下"); throw new BusinessException(message: "模板代码已存在于当前选择的子系统下");
} }
@ -140,7 +141,7 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
var isExisistTrackPullConfigs = await _trackPullConfigRepository.GetListAsync(a => a.TrackTemplateId == input.Id); var isExisistTrackPullConfigs = await _trackPullConfigRepository.GetListAsync(a => a.TrackTemplateId == input.Id);
if (isExisistTrackPullConfigs.Any()) if (isExisistTrackPullConfigs.Any())
{ {
//throw new BusinessException(message: _stringLocalizer["IsExistTrackPullConfig"]); //throw new BusinessException(message: _stringLocalizer["IsExistTrackPullConfig"]);
throw new BusinessException(message: "轨迹拉取配置里已经绑定模版,请检查"); throw new BusinessException(message: "轨迹拉取配置里已经绑定模版,请检查");
} }
//轨迹推送里看看是否被占用 //轨迹推送里看看是否被占用
@ -234,4 +235,26 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
return true; return true;
} }
/// <summary>
/// 轨迹模板内容排序
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("SortContent")]
public async Task<bool> SortContentAsync([FromBody] SortTrackTemplateContentInput input)
{
List<int> ids = input.SortInfo.Select(x => int.Parse(x.Key)).ToList();
var trackTemplateContentEntities = await _trackTemplateRepository.GetContentListAsync(x => ids.Contains(x.Id));
trackTemplateContentEntities.ForEach(item =>
{
item.Sort = input.SortInfo.Single(x => x.Key == item.Id.ToString()).Value;
});
await _trackTemplateRepository.UpdateContentRangeAsync(trackTemplateContentEntities);
return true;
}
} }

View File

@ -35,4 +35,6 @@ public interface ITrackTemplateRepository : IBasicRepository<TrackTemplateEntity
Task<List<TrackTemplateContentEntity>> GetContentListAsync( Task<List<TrackTemplateContentEntity>> GetContentListAsync(
Expression<Func<TrackTemplateContentEntity, bool>> whereExpression); Expression<Func<TrackTemplateContentEntity, bool>> whereExpression);
Task<bool> UpdateContentRangeAsync(List<TrackTemplateContentEntity> updateObjs);
} }

View File

@ -158,4 +158,9 @@ public class TrackTemplateRepository : BasicRepository<TrackTemplateEntity>, ITr
{ {
return await Context.Queryable<TrackTemplateContentEntity>().Where(whereExpression).ToListAsync(); return await Context.Queryable<TrackTemplateContentEntity>().Where(whereExpression).ToListAsync();
} }
public async Task<bool> UpdateContentRangeAsync(List<TrackTemplateContentEntity> updateObjs)
{
return await Context.Updateable(updateObjs).ExecuteCommandHasChangeAsync();
}
} }