增加前端国际化修改

Uat_Study
hang 2024-01-09 14:27:13 +08:00
parent 85897f990d
commit 7b1a0affbe
4 changed files with 82 additions and 15 deletions

View File

@ -42,6 +42,8 @@ namespace IRaCIS.Core.Application.ViewModel
public string Value { get; set; } = string.Empty; public string Value { get; set; } = string.Empty;
public string ValueCN { get; set; } = string.Empty; public string ValueCN { get; set; } = string.Empty;
public string FrontType { get; set; } = string.Empty;
public int InternationalizationType { get; set; } 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 Description { get; set; } = string.Empty;
public string Code { get; set; } = string.Empty; public string Code { get; set; } = string.Empty;
public string Value { 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 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
{
} }
} }

View File

@ -27,22 +27,56 @@ namespace IRaCIS.Core.Application.Service
_internationalizationRepository = internationalizationRepository; _internationalizationRepository = internationalizationRepository;
} }
/// <summary>
/// 前端国际化内容接口
/// </summary>
/// <returns></returns>
[AllowAnonymous] [AllowAnonymous]
[HttpGet]
public async Task<List<InternationalizationSimpleDto>> GetFrontInternationalizationList() public async Task<IEnumerable<InternationalizationSimpleDto>> GetFrontInternationalizationList()
{ {
var list = await _internationalizationRepository.Where(t => t.InternationalizationType == 0).Select(t => new InternationalizationSimpleDto() var list = await _internationalizationRepository.Where(t => t.InternationalizationType == 0).Select(t => new InternationalizationSimpleDto()
{ {
Code = t.Code, Code = t.Code,
Value = t.Value, Value = t.Value,
ValueCN = t.ValueCN ValueCN = t.ValueCN,
FrontType = t.FrontType,
Description = t.Description,
}).ToListAsync(); }).ToListAsync();
return list; return list;
} }
/// <summary>
/// 前端批量提交,后端判断不存在就添加,存在就更新
/// </summary>
/// <returns></returns>
public async Task<IResponseOutput> BatchAddOrUpdateFrontInternationalization(List<BatchInternationalizationDto> 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<Internationalization>(item);
mapItem.InternationalizationType = 0;
mapItem.State = 1;
await _internationalizationRepository.AddAsync(mapItem);
}
}
await _internationalizationRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
[HttpPost] [HttpPost]
public async Task<PageOutput<InternationalizationView>> GetInternationalizationList(InternationalizationQuery inQuery) public async Task<PageOutput<InternationalizationView>> GetInternationalizationList(InternationalizationQuery inQuery)
{ {
@ -63,6 +97,11 @@ namespace IRaCIS.Core.Application.Service
return pageList; return pageList;
} }
/// <summary>
/// 后端之前批量添加接口
/// </summary>
/// <param name="batchAdd"></param>
/// <returns></returns>
[HttpPost] [HttpPost]
public async Task<IResponseOutput> BatchAddInternationalization(BatchAddInternationalization batchAdd) public async Task<IResponseOutput> BatchAddInternationalization(BatchAddInternationalization batchAdd)
{ {
@ -91,17 +130,34 @@ namespace IRaCIS.Core.Application.Service
return ResponseOutput.Ok(); return ResponseOutput.Ok();
} }
/// <summary>
/// 前后端添加的时候,区分了,前端判断重复多了多了一个路由 路由+标识唯一
/// </summary>
/// <param name="addOrEditInternationalization"></param>
/// <returns></returns>
public async Task<IResponseOutput> AddOrUpdateInternationalization(InternationalizationAddOrEdit addOrEditInternationalization) public async Task<IResponseOutput> AddOrUpdateInternationalization(InternationalizationAddOrEdit addOrEditInternationalization)
{ {
var internationalizationType = addOrEditInternationalization.InternationalizationType;
//后端验证标识重复与否
var verifyExp1 = new EntityVerifyExp<Internationalization>() var verifyExp1 = new EntityVerifyExp<Internationalization>()
{ {
VerifyExp = t => t.Code == addOrEditInternationalization.Code && t.InternationalizationType == addOrEditInternationalization.InternationalizationType, VerifyExp = t => t.Code == addOrEditInternationalization.Code && t.InternationalizationType == addOrEditInternationalization.InternationalizationType,
VerifyMsg = $"该类型已有{addOrEditInternationalization.Code}名称的国际化标识", VerifyMsg = $"该类型已有{addOrEditInternationalization.Code}名称的国际化标识",
IsVerify = true IsVerify = internationalizationType == 1
}; };
var entity = await _internationalizationRepository.InsertOrUpdateAsync(addOrEditInternationalization, true, verifyExp1); //前端验证标识重复与否
var verifyExp2 = new EntityVerifyExp<Internationalization>()
{
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) if (addOrEditInternationalization.InternationalizationType == 1)
{ {

View File

@ -74,6 +74,9 @@ namespace IRaCIS.Core.Application.Service
CreateMap<Internationalization, InternationalizationView>(); CreateMap<Internationalization, InternationalizationView>();
CreateMap<Internationalization, InternationalizationAddOrEdit>().ReverseMap(); CreateMap<Internationalization, InternationalizationAddOrEdit>().ReverseMap();
CreateMap<Internationalization, BatchInternationalizationDto>().ReverseMap();
CreateMap<BatchAddInternationalizationDto, InternationalizationAddOrEdit>(); CreateMap<BatchAddInternationalizationDto, InternationalizationAddOrEdit>();

View File

@ -33,16 +33,18 @@ namespace IRaCIS.Core.Domain.Models
public int State { get; set; } 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 int InternationalizationType { get; set; }
public string FrontType { get; set; }=string.Empty;
} }
} }