Merge remote-tracking branch 'origin/S01-轨迹中台' into S01-轨迹中台

This commit is contained in:
李鹏军 2024-02-28 16:58:24 +08:00
commit 6b3961a6fd
7 changed files with 35 additions and 5 deletions

View File

@ -1,4 +1,5 @@
using AutoMapper;
using AutoMapper.Internal.Mappers;
using SJZY.Track.Application.Dtos.TrackTemplates;
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
using SJZY.Track.Domain.Dtos.TrackTemplate;
@ -17,5 +18,7 @@ public class TrackTemplateAutoMapperProfile : Profile
//CreateMap<UnifyResultDto<GetTrackTemplateDetailVO>, UnifyResultDto<GetTrackTemplateDetailDto>>(MemberList.None);
CreateMap<EditTrackTemplateContentInput, TrackTemplateContentEntity>(MemberList.None);
CreateMap<EditTrackTemplateInput, TrackTemplateEntity>(MemberList.None);
}
}

View File

@ -85,11 +85,11 @@
/// <summary>
/// 模板名称
/// </summary>
public int Name { set; get; }
public string Name { set; get; }
/// <summary>
/// 模板代码
/// </summary>
public int Code { set; get; }
public string Code { set; get; }
}
}

View File

@ -3,6 +3,8 @@
"texts": {
"NotNull1": "{0} is not null",
"NotFindData": "No data found under the specified number",
"ParameterDemo1": "{0} in {1} to do {2}"
"ParameterDemo1": "{0} in {1} to do {2}",
"TemplateExist": "The template code already exists under the currently selected subsystem"
}
}

View File

@ -3,6 +3,7 @@
"texts": {
"NotFindData": "未找到指定编号下的任何数据!",
"ParameterDemo": "{0}在{1}地方做了{2}动作",
"ParameterDemo1": "{0}在{1}地方做了{2}动作"
"ParameterDemo1": "{0}在{1}地方做了{2}动作",
"TemplateExist": "模板代码已存在于当前选择的子系统下"
}
}

View File

@ -1,4 +1,5 @@
using SJZY.Track.Application.Dtos.TrackContents;
using Microsoft.AspNetCore.Authorization;
using SJZY.Track.Application.Dtos.TrackContents;
using SJZY.Track.Application.Dtos.TrackStatus;
using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
using SJZY.Track.Domain.Dtos.TrackContents;
@ -33,6 +34,7 @@ namespace SJZY.Track.Application.Services.TrackContents
/// </summary>
/// <returns></returns>
[HttpPost("Edit")]
[AllowAnonymous]
public async Task<UnifyResultDto> EditAsync(EditTrackContentInput input)
{
return input.Options switch

View File

@ -83,6 +83,15 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
private async Task<UnifyResultDto> AddAsync(EditTrackTemplateInput input)
{
#region 业务校验
//校验模版代码唯一性
var templateEntity = await _trackTemplateRepository.GetFirstAsync(a => a.SubSystemId == input.SubSystemId &&a.Code==input.Code);
if (templateEntity != null)
{
throw new BusinessException(message: _stringLocalizer["TemplateExist"]);
}
#endregion
var entity = ObjectMapper.Map<EditTrackTemplateInput, TrackTemplateEntity>(input);
var isTrue = await _trackTemplateRepository.InsertAsync(entity);
@ -91,6 +100,14 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
private async Task<UnifyResultDto> UpdateAsync(EditTrackTemplateInput input)
{
#region 业务校验
var isExist = await _trackTemplateRepository.GetFirstAsync(a => a.Id!=input.Id && a.SubSystemId == input.SubSystemId &&a.Code==input.Code);
if (isExist != null)
{
throw new BusinessException(message: _stringLocalizer["TemplateExist"]);
}
#endregion
var templateEntity = await _trackTemplateRepository.GetFirstAsync(a => a.Id == input.Id);
ObjectMapper.Map(input, templateEntity);
var isTrue = await _trackTemplateRepository.UpdateAsync(templateEntity);
@ -100,6 +117,9 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
private async Task<UnifyResultDto> DeleteAsync(EditTrackTemplateInput input)
{
#region 业务校验
//到时候,得判断这个模版有没有在轨迹映射里面被使用过,如果被使用就抛出提示
#endregion
var isTrue = await _trackTemplateRepository.SoftDeleteAsync(x => x.Id == input.Id);
return new UnifyResultDto("200", "删除成功", isTrue);

View File

@ -19,10 +19,12 @@ namespace SJZY.Track.Application.Validations.TrackTemplates
When(x => x.Options == OptionType.新增, () =>
{
RuleFor(x => x.Id).Equal(0).WithMessage("新增时Id必须等于0!");
});
When(x => x.Options == OptionType.修改 || x.Options == OptionType.新增, () =>
{
RuleFor(x => x.SubSystemId).GreaterThan(0).WithMessage("子系统的id必须大于0!");
RuleFor(x => x.Name).NotNull().WithMessage("模版名称必填!").NotEmpty().WithMessage("模版名称不能为空!");
RuleFor(x => x.Code).NotNull().WithMessage("模版代码必填!").NotEmpty().WithMessage("模版代码不能为空!");
});