diff --git a/src/SJZY.Track.Application/Dtos/TrackTemplates/GetTrackDetailDto.cs b/src/SJZY.Track.Application/Dtos/TrackTemplates/GetTrackDetailDto.cs index 03b4f535..b0c8dc6b 100644 --- a/src/SJZY.Track.Application/Dtos/TrackTemplates/GetTrackDetailDto.cs +++ b/src/SJZY.Track.Application/Dtos/TrackTemplates/GetTrackDetailDto.cs @@ -90,6 +90,6 @@ /// /// 模板代码 /// - public int Code { set; get; } + public string Code { set; get; } } } diff --git a/src/SJZY.Track.Application/Localization/Resources/en.json b/src/SJZY.Track.Application/Localization/Resources/en.json index 5994b511..23d14ff9 100644 --- a/src/SJZY.Track.Application/Localization/Resources/en.json +++ b/src/SJZY.Track.Application/Localization/Resources/en.json @@ -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" + } } \ No newline at end of file diff --git a/src/SJZY.Track.Application/Localization/Resources/zh.json b/src/SJZY.Track.Application/Localization/Resources/zh.json index 48af2570..1bb47943 100644 --- a/src/SJZY.Track.Application/Localization/Resources/zh.json +++ b/src/SJZY.Track.Application/Localization/Resources/zh.json @@ -3,6 +3,7 @@ "texts": { "NotFindData": "未找到指定编号下的任何数据!", "ParameterDemo": "{0}在{1}地方做了{2}动作", - "ParameterDemo1": "{0}在{1}地方做了{2}动作" + "ParameterDemo1": "{0}在{1}地方做了{2}动作", + "TemplateExist": "模板代码已存在于当前选择的子系统下" } } \ No newline at end of file diff --git a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs index b2df6211..4716c2ba 100644 --- a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs +++ b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs @@ -83,6 +83,15 @@ public class TrackTemplateService : ApplicationService, ITransientDependency private async Task 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(input); var isTrue = await _trackTemplateRepository.InsertAsync(entity); @@ -91,6 +100,14 @@ public class TrackTemplateService : ApplicationService, ITransientDependency private async Task 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 DeleteAsync(EditTrackTemplateInput input) { + #region 业务校验 + //到时候,得判断这个模版有没有在轨迹映射里面被使用过,如果被使用就抛出提示 + #endregion var isTrue = await _trackTemplateRepository.SoftDeleteAsync(x => x.Id == input.Id); return new UnifyResultDto("200", "删除成功", isTrue);