diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/GetTrackDetailDto.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/GetTrackDetailDto.cs
index 04634cb5..ca3e1777 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/GetTrackDetailDto.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/GetTrackDetailDto.cs
@@ -1,4 +1,4 @@
-namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates;
+namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates;
///
/// 获取轨迹模版详情
@@ -103,7 +103,12 @@ public class EditTrackTemplateInput
public string? Code { set; get; }
///
- /// 显示原轨迹
+ /// 分类id
///
- public bool ShowOrigin { get; set; }
+ public int CategoryId { get; set; }
+
+ ///
+ /// 客户id
+ ///
+ public int CustomerId { get; set; }
}
diff --git a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs
index 4a93668c..2d849b44 100644
--- a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs
+++ b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs
@@ -200,16 +200,18 @@ public class TrackTemplateService : ApplicationService
{
#region 业务校验
+ if (await _trackTemplateRepository.IsAnyAsync(a =>
+ a.SubSystemId == input.SubSystemId && a.Code == input.Code && a.Name == input.Name &&
+ a.CategoryId == input.CategoryId && a.CustomerId == input.CustomerId))
+ {
+ throw new BusinessException(message: "该子系统下该分类的客户模版已存在");
+ }
+
//校验模版代码唯一性
- //var templateEntity =
- // await _trackTemplateRepository.GetFirstAsync(
- // a => a.SubSystemId == input.SubSystemId && a.Code == input.Code);
var templateEntitys = await _trackTemplateRepository.GetListAsync(a =>
a.SubSystemId == input.SubSystemId && (a.Code == input.Code || a.Name == input.Name));
if (templateEntitys.Any())
{
- //throw new BusinessException(message: _stringLocalizer["TemplateExist"]);
- //throw new BusinessException(message: "模板代码已存在于当前选择的子系统下");
var trackTemplateCode = templateEntitys.FirstOrDefault(t => t.Code == input.Code);
if (trackTemplateCode != null)
{
@@ -235,6 +237,14 @@ public class TrackTemplateService : ApplicationService
{
#region 业务校验
+ if (await _trackTemplateRepository.IsAnyAsync(a =>
+ a.Id != input.Id &&
+ a.SubSystemId == input.SubSystemId && a.Code == input.Code && a.Name == input.Name &&
+ a.CategoryId == input.CategoryId && a.CustomerId == input.CustomerId))
+ {
+ throw new BusinessException(message: "该子系统下该分类的客户模版已存在");
+ }
+
var templateEntitys = await _trackTemplateRepository.GetListAsync(a =>
a.Id != input.Id && a.SubSystemId == input.SubSystemId && (a.Code == input.Code || a.Name == input.Name));
if (templateEntitys.Any())
diff --git a/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateEntity.cs b/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateEntity.cs
index e1236990..d525300f 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateEntity.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateEntity.cs
@@ -29,4 +29,16 @@ public class TrackTemplateEntity : IFullAuditedBasicEntitys, IAggregateRoot
///
[SugarColumn(ColumnName = "SubSystemId")]
public int SubSystemId { get; set; }
+
+ ///
+ /// 分类id
+ ///
+ [SugarColumn(ColumnName = "CategoryId")]
+ public int CategoryId { get; set; }
+
+ ///
+ /// 客户id
+ ///
+ [SugarColumn(ColumnName = "CustomerId")]
+ public int CustomerId { get; set; }
}