多语言编辑优化
This commit is contained in:
commit
9d6f5ff1c7
@ -1,14 +1,13 @@
|
|||||||
using Infrastructure;
|
using Infrastructure;
|
||||||
using Infrastructure.Attribute;
|
using Infrastructure.Attribute;
|
||||||
using Infrastructure.Enums;
|
using Infrastructure.Enums;
|
||||||
|
using Infrastructure.Extensions;
|
||||||
using Infrastructure.Model;
|
using Infrastructure.Model;
|
||||||
using Mapster;
|
using Mapster;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
using ZR.Admin.WebApi.Extensions;
|
|
||||||
using ZR.Admin.WebApi.Filters;
|
using ZR.Admin.WebApi.Filters;
|
||||||
using ZR.Common;
|
using ZR.Common;
|
||||||
using ZR.Model;
|
using ZR.Model;
|
||||||
@ -101,14 +100,10 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
public IActionResult GetCommonLang(long Id)
|
public IActionResult GetCommonLang(long Id)
|
||||||
{
|
{
|
||||||
var response = _CommonLangService.GetFirst(x => x.Id == Id);
|
var response = _CommonLangService.GetFirst(x => x.Id == Id);
|
||||||
var modal = response.Adapt<CommonLangDto>();
|
|
||||||
if (modal != null)
|
var list = _CommonLangService.GetList(x => x.LangKey == response.LangKey);
|
||||||
{
|
var vo = list.Adapt<List<CommonLangDto>>();
|
||||||
var list = _CommonLangService.GetList(f => f.LangKey == modal.LangKey);
|
var modal = new CommonLangDto() { LangKey = response.LangKey, LangList = vo };
|
||||||
modal.LangName = list.Find(f => f.LangCode == "zh-cn")?.LangName;
|
|
||||||
modal.LangNameEn = list.Find(f => f.LangCode == "en")?.LangName;
|
|
||||||
modal.LangNameTw = list.Find(f => f.LangCode == "zh-tw")?.LangName;
|
|
||||||
}
|
|
||||||
return SUCCESS(modal);
|
return SUCCESS(modal);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -121,47 +116,11 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
[ActionPermissionFilter(Permission = "system:lang:query")]
|
[ActionPermissionFilter(Permission = "system:lang:query")]
|
||||||
public IActionResult GetCommonLangByKey(string langKey)
|
public IActionResult GetCommonLangByKey(string langKey)
|
||||||
{
|
{
|
||||||
var response = _CommonLangService.GetList(x => x.LangKey == langKey);
|
var list = _CommonLangService.GetList(x => x.LangKey == langKey);
|
||||||
|
var vo = list.Adapt<List<CommonLangDto>>();
|
||||||
|
var modal = new CommonLangDto() { LangKey = langKey, LangList = vo };
|
||||||
|
|
||||||
return SUCCESS(response);
|
return SUCCESS(modal);
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 添加多语言配置
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpPost]
|
|
||||||
[ActionPermissionFilter(Permission = "system:lang:add")]
|
|
||||||
[Log(Title = "多语言配置", BusinessType = BusinessType.INSERT)]
|
|
||||||
public IActionResult AddCommonLang([FromBody] CommonLangDto parm)
|
|
||||||
{
|
|
||||||
if (parm == null)
|
|
||||||
{
|
|
||||||
throw new CustomException("请求参数错误");
|
|
||||||
}
|
|
||||||
|
|
||||||
//从 Dto 映射到 实体
|
|
||||||
var modal = parm.Adapt<CommonLang>().ToCreate(HttpContext);
|
|
||||||
var list = _CommonLangService.GetList(f => f.LangKey == modal.LangKey);
|
|
||||||
modal.Addtime = DateTime.Now;
|
|
||||||
modal.LangCode = "zh-cn";
|
|
||||||
modal.LangName = parm.LangName;
|
|
||||||
if (!list.Any(f => f.LangCode == modal.LangCode))
|
|
||||||
{
|
|
||||||
_CommonLangService.InsertReturnSnowflakeId(modal);
|
|
||||||
}
|
|
||||||
modal.LangCode = "zh-tw";
|
|
||||||
modal.LangName = parm.LangNameTw;
|
|
||||||
if (!list.Any(f => f.LangCode == modal.LangCode))
|
|
||||||
{
|
|
||||||
_CommonLangService.InsertReturnSnowflakeId(modal);
|
|
||||||
}
|
|
||||||
modal.LangCode = "en";
|
|
||||||
modal.LangName = parm.LangNameEn;
|
|
||||||
if (!list.Any(f => f.LangCode == modal.LangCode))
|
|
||||||
{
|
|
||||||
_CommonLangService.InsertReturnSnowflakeId(modal);
|
|
||||||
}
|
|
||||||
return ToResponse(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -173,18 +132,16 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
[Log(Title = "多语言配置", BusinessType = BusinessType.UPDATE)]
|
[Log(Title = "多语言配置", BusinessType = BusinessType.UPDATE)]
|
||||||
public IActionResult UpdateCommonLang([FromBody] CommonLangDto parm)
|
public IActionResult UpdateCommonLang([FromBody] CommonLangDto parm)
|
||||||
{
|
{
|
||||||
if (parm == null)
|
if (parm == null || parm.LangKey.IsEmpty())
|
||||||
{
|
{
|
||||||
throw new CustomException("请求实体不能为空");
|
throw new CustomException("请求实体不能为空");
|
||||||
}
|
}
|
||||||
//从 Dto 映射到 实体
|
|
||||||
var modal = parm.Adapt<CommonLang>().ToUpdate(HttpContext);
|
|
||||||
var list = _CommonLangService.GetList(f => f.LangKey == modal.LangKey);
|
|
||||||
|
|
||||||
List<CommonLang> langs = new();
|
List<CommonLang> langs = new();
|
||||||
langs.Add(new CommonLang() { Addtime = DateTime.Now, LangCode = "zh-cn", LangKey = modal.LangKey, LangName = parm.LangName });
|
foreach (var item in parm.LangList)
|
||||||
langs.Add(new CommonLang() { Addtime = DateTime.Now, LangCode = "zh-tw", LangKey = modal.LangKey, LangName = parm.LangNameTw });
|
{
|
||||||
langs.Add(new CommonLang() { Addtime = DateTime.Now, LangCode = "en", LangKey = modal.LangKey, LangName = parm.LangNameEn });
|
langs.Add(new CommonLang() { Addtime = DateTime.Now, LangKey = parm.LangKey, LangCode = item.LangCode, LangName = item.LangName });
|
||||||
|
}
|
||||||
var storage = _CommonLangService.Storageable(langs).WhereColumns(it => new { it.LangKey, it.LangCode }).ToStorage();
|
var storage = _CommonLangService.Storageable(langs).WhereColumns(it => new { it.LangKey, it.LangCode }).ToStorage();
|
||||||
|
|
||||||
long r = storage.AsInsertable.ExecuteReturnSnowflakeId();//执行插入
|
long r = storage.AsInsertable.ExecuteReturnSnowflakeId();//执行插入
|
||||||
|
|||||||
@ -9,16 +9,14 @@ namespace ZR.Model.Dto
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class CommonLangDto
|
public class CommonLangDto
|
||||||
{
|
{
|
||||||
[Required(ErrorMessage = "id不能为空")]
|
//[Required(ErrorMessage = "id不能为空")]
|
||||||
public long Id { get; set; }
|
public long Id { get; set; }
|
||||||
//[Required(ErrorMessage = "语言code不能为空")]
|
//[Required(ErrorMessage = "语言code不能为空")]
|
||||||
public string LangCode { get; set; }
|
public string LangCode { get; set; }
|
||||||
public string LangKey { get; set; }
|
public string LangKey { get; set; }
|
||||||
[Required(ErrorMessage = "名称不能为空")]
|
//[Required(ErrorMessage = "名称不能为空")]
|
||||||
public string LangName { get; set; }
|
public string LangName { get; set; }
|
||||||
public string LangNameEn { get; set; }
|
public List<CommonLangDto> LangList { get; set; }
|
||||||
public string LangNameTw { get; set; }
|
|
||||||
//public List<CommonLangDto> Langs { get; set; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user