From 7b1a0affbe9e315da8fce07bf0f17b87186c70f9 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Tue, 9 Jan 2024 14:27:13 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=89=8D=E7=AB=AF=E5=9B=BD?=
=?UTF-8?q?=E9=99=85=E5=8C=96=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DTO/InternationalizationViewModel.cs | 16 +++--
.../Common/InternationalizationService.cs | 68 +++++++++++++++++--
.../Service/Common/_MapConfig.cs | 3 +
.../Common/Internationalization.cs | 10 +--
4 files changed, 82 insertions(+), 15 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/Common/DTO/InternationalizationViewModel.cs b/IRaCIS.Core.Application/Service/Common/DTO/InternationalizationViewModel.cs
index 16ed714b1..c6b7567b3 100644
--- a/IRaCIS.Core.Application/Service/Common/DTO/InternationalizationViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Common/DTO/InternationalizationViewModel.cs
@@ -42,6 +42,8 @@ namespace IRaCIS.Core.Application.ViewModel
public string Value { get; set; } = string.Empty;
public string ValueCN { get; set; } = string.Empty;
+ public string FrontType { get; set; } = string.Empty;
+
public int InternationalizationType { get; set; }
}
@@ -55,19 +57,23 @@ namespace IRaCIS.Core.Application.ViewModel
}
- public class BatchAddInternationalizationDto
+ public class BatchInternationalizationDto
{
public string Description { get; set; } = string.Empty;
public string Code { get; set; } = string.Empty;
public string Value { get; set; } = string.Empty;
+ public string FrontType { get; set; } = string.Empty;
public string ValueCN { get; set; } = string.Empty;
}
- public class InternationalizationSimpleDto
+ public class BatchAddInternationalizationDto : BatchInternationalizationDto
{
- public string Code { get; set; } = string.Empty;
- public string Value { get; set; } = string.Empty;
- public string ValueCN { get; set; } = string.Empty;
+
+ }
+
+ public class InternationalizationSimpleDto: BatchInternationalizationDto
+ {
+
}
}
diff --git a/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs b/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs
index efdcd51e5..7a422f521 100644
--- a/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs
+++ b/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs
@@ -27,22 +27,56 @@ namespace IRaCIS.Core.Application.Service
_internationalizationRepository = internationalizationRepository;
}
-
+ ///
+ /// 前端国际化内容接口
+ ///
+ ///
[AllowAnonymous]
-
- public async Task> GetFrontInternationalizationList()
+ [HttpGet]
+ public async Task> GetFrontInternationalizationList()
{
var list = await _internationalizationRepository.Where(t => t.InternationalizationType == 0).Select(t => new InternationalizationSimpleDto()
{
Code = t.Code,
Value = t.Value,
- ValueCN = t.ValueCN
+ ValueCN = t.ValueCN,
+ FrontType = t.FrontType,
+ Description = t.Description,
}).ToListAsync();
return list;
}
+ ///
+ /// 前端批量提交,后端判断不存在就添加,存在就更新
+ ///
+ ///
+ public async Task BatchAddOrUpdateFrontInternationalization(List batchList)
+ {
+ foreach (var item in batchList)
+ {
+ var find = await _internationalizationRepository.FirstOrDefaultAsync(t => t.Code == item.Code && t.Description == item.Description && t.InternationalizationType == 0);
+
+ if (find != null)
+ {
+ _mapper.Map(item, find);
+ }
+ else
+ {
+ var mapItem = _mapper.Map(item);
+ mapItem.InternationalizationType = 0;
+ mapItem.State = 1;
+
+ await _internationalizationRepository.AddAsync(mapItem);
+ }
+ }
+
+ await _internationalizationRepository.SaveChangesAsync();
+
+ return ResponseOutput.Ok();
+ }
+
[HttpPost]
public async Task> GetInternationalizationList(InternationalizationQuery inQuery)
{
@@ -63,6 +97,11 @@ namespace IRaCIS.Core.Application.Service
return pageList;
}
+ ///
+ /// 后端之前批量添加接口
+ ///
+ ///
+ ///
[HttpPost]
public async Task BatchAddInternationalization(BatchAddInternationalization batchAdd)
{
@@ -91,17 +130,34 @@ namespace IRaCIS.Core.Application.Service
return ResponseOutput.Ok();
}
+ ///
+ /// 前后端添加的时候,区分了,前端判断重复多了多了一个路由 路由+标识唯一
+ ///
+ ///
+ ///
public async Task AddOrUpdateInternationalization(InternationalizationAddOrEdit addOrEditInternationalization)
{
+ var internationalizationType = addOrEditInternationalization.InternationalizationType;
+
+ //后端验证标识重复与否
var verifyExp1 = new EntityVerifyExp()
{
VerifyExp = t => t.Code == addOrEditInternationalization.Code && t.InternationalizationType == addOrEditInternationalization.InternationalizationType,
VerifyMsg = $"该类型已有{addOrEditInternationalization.Code}名称的国际化标识",
- IsVerify = true
+ IsVerify = internationalizationType == 1
};
- var entity = await _internationalizationRepository.InsertOrUpdateAsync(addOrEditInternationalization, true, verifyExp1);
+ //前端验证标识重复与否
+ var verifyExp2 = new EntityVerifyExp()
+ {
+ VerifyExp = t => t.Code == addOrEditInternationalization.Code && t.InternationalizationType == addOrEditInternationalization.InternationalizationType && t.Description == addOrEditInternationalization.Description,
+
+ VerifyMsg = $"该类型已有{addOrEditInternationalization.Description}下的{addOrEditInternationalization.Code}名称的国际化标识",
+ IsVerify = internationalizationType == 0
+ };
+
+ var entity = await _internationalizationRepository.InsertOrUpdateAsync(addOrEditInternationalization, true, verifyExp1, verifyExp2);
if (addOrEditInternationalization.InternationalizationType == 1)
{
diff --git a/IRaCIS.Core.Application/Service/Common/_MapConfig.cs b/IRaCIS.Core.Application/Service/Common/_MapConfig.cs
index f157924cb..c8c297ede 100644
--- a/IRaCIS.Core.Application/Service/Common/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Common/_MapConfig.cs
@@ -74,6 +74,9 @@ namespace IRaCIS.Core.Application.Service
CreateMap();
CreateMap().ReverseMap();
+ CreateMap().ReverseMap();
+
+
CreateMap();
diff --git a/IRaCIS.Core.Domain/Common/Internationalization.cs b/IRaCIS.Core.Domain/Common/Internationalization.cs
index dc3292224..e4a7be5e9 100644
--- a/IRaCIS.Core.Domain/Common/Internationalization.cs
+++ b/IRaCIS.Core.Domain/Common/Internationalization.cs
@@ -33,16 +33,18 @@ namespace IRaCIS.Core.Domain.Models
public int State { get; set; }
- public string Description { get; set; }
+ public string Description { get; set; } = string.Empty;
- public string Code { get; set; }
+ public string Code { get; set; } = string.Empty;
- public string Value { get; set; }
+ public string Value { get; set; } = string.Empty;
- public string ValueCN { get; set; }
+ public string ValueCN { get; set; } = string.Empty;
public int InternationalizationType { get; set; }
+ public string FrontType { get; set; }=string.Empty;
+
}
}