From 3c4144335fc3c4a6ba2d01d6cd3924ba67d501ae Mon Sep 17 00:00:00 2001
From: Seany <17074267@qq.com>
Date: Tue, 23 Dec 2025 12:26:25 +0800
Subject: [PATCH] chore
---
.../Models/CurrencyModel.cs | 2 +-
.../Pages/Settings/CurrencyEdit.razor | 137 ++++++++++++++++++
.../Pages/Settings/CurrencyList.razor | 13 +-
.../Pages/Settings/MessageTemplateList.razor | 5 +-
.../Pages/SiteApps/AppVersionList.razor | 5 +-
.../Pages/Storages/UploadList.razor | 11 +-
.../Pages/Systems/AdminList.razor | 5 +-
.../Pages/Systems/LanguageList.razor | 11 +-
.../Pages/Systems/LocaleResourceList.razor | 5 +-
.../Pages/Systems/RoleList.razor | 5 +-
.../Services/NavigationService.cs | 11 ++
.../Controllers/CurrencyController.cs | 30 ++--
Atomx.Common/Entities/Currency.cs | 2 +-
Atomx.Data/DataContext.cs | 8 +-
14 files changed, 223 insertions(+), 27 deletions(-)
create mode 100644 Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyEdit.razor
create mode 100644 Atomx.Admin/Atomx.Admin.Client/Services/NavigationService.cs
diff --git a/Atomx.Admin/Atomx.Admin.Client/Models/CurrencyModel.cs b/Atomx.Admin/Atomx.Admin.Client/Models/CurrencyModel.cs
index 5cd64fd..bf60979 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Models/CurrencyModel.cs
+++ b/Atomx.Admin/Atomx.Admin.Client/Models/CurrencyModel.cs
@@ -5,7 +5,7 @@
///
/// 数据ID
///
- public int Id { get; set; }
+ public int? Id { get; set; }
///
/// 语言
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyEdit.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyEdit.razor
new file mode 100644
index 0000000..ca0f11c
--- /dev/null
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyEdit.razor
@@ -0,0 +1,137 @@
+@page "/currency/create"
+@page "/currency/edit/{id:long}"
+@page "/{locale}/currency/create"
+@page "/{locale}/currency/edit/{id:long}"
+
+@inject ILogger Logger
+@attribute [Authorize]
+
+
+
+
+ 管理后台
+ 系统功能
+ 货币管理
+
+
+
+
+
+
+
+
+
+
+
+@code {
+ [Parameter]
+ public string Locale { get; set; } = string.Empty;
+
+ [Parameter]
+ public long Id { get; set; }
+
+ [SupplyParameterFromForm]
+ CurrencyModel model { get; set; } = new();
+ Form editform = null!;
+ Dictionary LanguageCultures = LanguageCulture.Descriptions.ToDictionary();
+ bool pageLoading = false;
+ bool saving = false;
+
+ protected override void OnInitialized()
+ {
+ base.OnInitialized();
+ }
+
+ protected override void OnParametersSet()
+ {
+ if (Id > 0)
+ {
+ LoadData();
+ }
+ base.OnParametersSet();
+ }
+
+ async void LoadData()
+ {
+ pageLoading = true;
+ var url = $"/api/currency/{Id}";
+ var apiResult = await HttpService.Get>(url);
+ if (apiResult.Success)
+ {
+ if (apiResult.Data == null)
+ {
+ Navigation.NavigateTo($"/currency/create");
+ }
+ else
+ {
+ model = apiResult.Data.Adapt();
+ }
+ }
+ else
+ {
+ Navigation.NavigateTo($"/currency/create");
+ }
+
+ pageLoading = false;
+ StateHasChanged();
+ }
+
+ async void OnFormFinishAsync()
+ {
+ if (editform.Validate())
+ {
+ saving = true;
+ var url = $"api/currency/save";
+ var result = new ApiResult();
+ result = await HttpService.Post>(url, model);
+
+
+ if (result.Code == (int)ResultCode.Success)
+ {
+ saving = false;
+ await ModalService.InfoAsync(new ConfirmOptions() { Title = "提示", Content = "数据提交成功!" });
+ Navigation.NavigateTo($"/currency/list");
+ }
+ else
+ {
+ saving = false;
+ await ModalService.ErrorAsync(new ConfirmOptions() { Title = "服务异常", Content = result.Message });
+ }
+ }
+ }
+
+}
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyList.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyList.razor
index e8c50a0..5c7cb95 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyList.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyList.razor
@@ -3,8 +3,8 @@
@inject ILogger Logger
@attribute [Authorize]
-货币管理
-
+
+
Home
@@ -112,7 +112,10 @@
-
+ @if (PagingList.Count > 0)
+ {
+
+ }
@@ -247,7 +250,7 @@
void HandleAddNew()
{
- Navigation.NavigateTo($"/currency/edit");
+ Navigation.NavigateTo($"/currency/create");
}
@@ -256,4 +259,4 @@
Navigation.NavigateTo($"/currency/edit/{model.Id}");
}
- }
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/MessageTemplateList.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/MessageTemplateList.razor
index 7acf83c..ca54e89 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/MessageTemplateList.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/MessageTemplateList.razor
@@ -107,7 +107,10 @@
-
+ @if (PagingList.Count > 0)
+ {
+
+ }
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/SiteApps/AppVersionList.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/SiteApps/AppVersionList.razor
index ad8f5d1..c47f6e2 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Pages/SiteApps/AppVersionList.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/SiteApps/AppVersionList.razor
@@ -156,7 +156,10 @@
-
+ @if (PagingList.Count > 0)
+ {
+
+ }
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Storages/UploadList.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Storages/UploadList.razor
index 86957f9..335ae63 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Pages/Storages/UploadList.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Storages/UploadList.razor
@@ -92,6 +92,13 @@
+
+
+ @if (PagingList.Count > 0)
+ {
+
+ }
+
@@ -290,9 +297,9 @@
}
}
- private void OnPageChanged(int args)
+ private void OnPageChanged(PaginationEventArgs args)
{
- OnSearch(args);
+ OnSearch(args.Page);
}
void CloseDrawer()
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/AdminList.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/AdminList.razor
index 2ebfe2f..4e1e01e 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/AdminList.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/AdminList.razor
@@ -98,7 +98,10 @@
-
+ @if (PagingList.Count > 0)
+ {
+
+ }
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/LanguageList.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/LanguageList.razor
index a0080ff..199b670 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/LanguageList.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/LanguageList.razor
@@ -78,6 +78,13 @@
+
+
+ @if (PagingList.Count > 0)
+ {
+
+ }
+
@@ -252,9 +259,9 @@
}
}
- private void OnPageChanged(int args)
+ private void OnPageChanged(PaginationEventArgs args)
{
- OnSearch(args);
+ OnSearch(args.Page);
}
void CloseDrawer()
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/LocaleResourceList.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/LocaleResourceList.razor
index 2d51596..5d2407b 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/LocaleResourceList.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/LocaleResourceList.razor
@@ -90,7 +90,10 @@
-
+ @if (PagingList.Count > 0)
+ {
+
+ }
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/RoleList.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/RoleList.razor
index c15d8a1..fd59368 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/RoleList.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/RoleList.razor
@@ -90,7 +90,10 @@
-
+ @if (PagingList.Count > 0)
+ {
+
+ }
diff --git a/Atomx.Admin/Atomx.Admin.Client/Services/NavigationService.cs b/Atomx.Admin/Atomx.Admin.Client/Services/NavigationService.cs
new file mode 100644
index 0000000..a9525f4
--- /dev/null
+++ b/Atomx.Admin/Atomx.Admin.Client/Services/NavigationService.cs
@@ -0,0 +1,11 @@
+namespace Atomx.Admin.Client.Services
+{
+ public interface INavigationService
+ {
+
+ }
+
+ public class NavigationService
+ {
+ }
+}
diff --git a/Atomx.Admin/Atomx.Admin/Controllers/CurrencyController.cs b/Atomx.Admin/Atomx.Admin/Controllers/CurrencyController.cs
index 903229d..b9e8130 100644
--- a/Atomx.Admin/Atomx.Admin/Controllers/CurrencyController.cs
+++ b/Atomx.Admin/Atomx.Admin/Controllers/CurrencyController.cs
@@ -1,5 +1,4 @@
-using AntDesign;
-using Atomx.Admin.Client.Models;
+using Atomx.Admin.Client.Models;
using Atomx.Admin.Services;
using Atomx.Common.Entities;
using Atomx.Common.Models;
@@ -8,8 +7,8 @@ using Atomx.Data.CacheServices;
using Atomx.Data.Services;
using Atomx.Utils.Extension;
using FluentValidation;
+using Mapster;
using MapsterMapper;
-using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Localization;
@@ -85,7 +84,7 @@ namespace Atomx.Admin.Controllers
///
///
[HttpPost("search")]
- public async Task GetList(CurrencySearchModel search, int page, int size = 20)
+ public async Task GetList(CurrencySearchModel search, int page, int size = 20)
{
var startTime = search.RangeTime[0];
if (startTime != null)
@@ -197,7 +196,7 @@ namespace Atomx.Admin.Controllers
result.Success = false;
return new JsonResult(result);
}
- if (model.IsEdit && model.Id > 0)
+ if (model.Id.HasValue && model.Id > 0)
{
var data = _dbContext.Currencies.SingleOrDefault(p => p.Id == model.Id);
if (data == null)
@@ -211,20 +210,33 @@ namespace Atomx.Admin.Controllers
data = _mapper.Map(model, data);
data.UpdateTime = DateTime.UtcNow;
_dbContext.SaveChanges();
- await _cacheService.GetCurrenciesById(model.Id, data);
}
else
{
- var data = _mapper.Map(model);
- data.CreateTime = DateTime.UtcNow;
+ var data = new Currency()
+ {
+ Name = model.Name,
+ CurrencyCode = model.CurrencyCode,
+ DisplayLocale = model.DisplayLocale,
+ CustomFormatting = model.CustomFormatting,
+ Rate = (decimal)model.Rate,
+ DisplayOrder = model.DisplayOrder,
+ EnableDisplay = model.Enabled,
+ Symbolic = "",
+ Enabled = model.Enabled,
+ Title = model.Name,
+ EnablePay = true,
+ CreateTime = DateTime.UtcNow
+ };
_dbContext.Currencies.Add(data);
_dbContext.SaveChanges();
- await _cacheService.GetCurrenciesById(model.Id, data);
}
result.Data = true;
+ //todo 更新缓存
+
return new JsonResult(result);
}
diff --git a/Atomx.Common/Entities/Currency.cs b/Atomx.Common/Entities/Currency.cs
index a837494..3e9d707 100644
--- a/Atomx.Common/Entities/Currency.cs
+++ b/Atomx.Common/Entities/Currency.cs
@@ -12,8 +12,8 @@ namespace Atomx.Common.Entities
///
/// 数据ID
///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
///
diff --git a/Atomx.Data/DataContext.cs b/Atomx.Data/DataContext.cs
index bbbcc6d..b00c62c 100644
--- a/Atomx.Data/DataContext.cs
+++ b/Atomx.Data/DataContext.cs
@@ -23,7 +23,11 @@ namespace Atomx.Data
protected override void OnModelCreating(ModelBuilder builder)
{
-
+ base.OnModelCreating(builder);
+ builder.Entity(entity =>
+ {
+ entity.Property(e => e.Id).ValueGeneratedOnAdd();
+ });
}
///
@@ -170,7 +174,7 @@ namespace Atomx.Data
///
/// 标签
///
- public DbSet Tags { get; set; }
+ public DbSet Tags { get; set; }
///
/// 上传文件