ntminer 5 vuotta sitten
vanhempi
sitoutus
c28907c546

+ 3 - 1
src/NTMinerDataSchemas/Core/Gpus/QueryGpuNameCountsRequest.cs

@@ -1,7 +1,9 @@
 using System.Text;
 
 namespace NTMiner.Core.Gpus {
-    public class QueryGpuNameCountsRequest : IRequest, ISignableData {
+    public class QueryGpuNameCountsRequest : IPagingRequest, ISignableData {
+        public QueryGpuNameCountsRequest() { }
+
         public int PageIndex { get; set; }
         public int PageSize { get; set; }
         public string Keyword { get; set; }

+ 3 - 1
src/NTMinerDataSchemas/Core/Gpus/QueryGpuNamesRequest.cs

@@ -1,7 +1,9 @@
 using System.Text;
 
 namespace NTMiner.Core.Gpus {
-    public class QueryGpuNamesRequest : IRequest, ISignableData {
+    public class QueryGpuNamesRequest : IPagingRequest, ISignableData {
+        public QueryGpuNamesRequest() { }
+
         public int PageIndex { get; set; }
         public int PageSize { get; set; }
         public string Keyword { get; set; }

+ 1 - 1
src/NTMinerDataSchemas/Core/MinerServer/QueryClientsRequest.cs

@@ -2,7 +2,7 @@
 using System.Text;
 
 namespace NTMiner.Core.MinerServer {
-    public class QueryClientsRequest : IRequest, ISignableData {
+    public class QueryClientsRequest : IPagingRequest, ISignableData {
         public QueryClientsRequest() {
             this.SortField = ClientDataSortField.MinerName;
         }

+ 9 - 0
src/NTMinerDataSchemas/IPagingRequest.cs

@@ -0,0 +1,9 @@
+namespace NTMiner {
+    public interface IPagingRequest : IRequest {
+        /// <summary>
+        /// 注意它是1基的
+        /// </summary>
+        int PageIndex { get; set; }
+        int PageSize { get; set; }
+    }
+}

+ 2 - 0
src/NTMinerDataSchemas/NTMinerDataSchemas.csproj

@@ -69,8 +69,10 @@
     <Compile Include="DataSchemaIdAttribute.cs" />
     <Compile Include="EnumExtension.cs" />
     <Compile Include="IConsoleOutLine.cs" />
+    <Compile Include="IPagingRequest.cs" />
     <Compile Include="IsNotDataSchemaAttribute.cs" />
     <Compile Include="NTKeyword.cs" />
+    <Compile Include="PagingRequestExtensions.cs" />
     <Compile Include="Report\ISpeedData.cs" />
     <Compile Include="Report\SpeedData.cs" />
     <Compile Include="ServerNode\CpuData.cs" />

+ 19 - 0
src/NTMinerDataSchemas/PagingRequestExtensions.cs

@@ -0,0 +1,19 @@
+namespace NTMiner {
+    public static class PagingRequestExtensions {
+        /// <summary>
+        /// 如果PageIndex小于1视为1,如果PageSize大于100视为100。
+        /// </summary>
+        /// <param name="request"></param>
+        public static void PagingTrim(this IPagingRequest request) {
+            if (request == null) {
+                return;
+            }
+            if (request.PageIndex < 1) {
+                request.PageIndex = 1;
+            }
+            if (request.PageSize > 100) {
+                request.PageSize = 100;
+            }
+        }
+    }
+}

+ 3 - 25
src/NTMinerDataSchemas/User/QueryUsersRequest.cs

@@ -1,32 +1,10 @@
 using System.Text;
 
 namespace NTMiner.User {
-    public class QueryUsersRequest : IRequest, ISignableData {
-        private int _pageIndex;
-        private int _pageSize;
-
+    public class QueryUsersRequest : IPagingRequest, ISignableData {
         public QueryUsersRequest() { }
-        public int PageIndex {
-            get => _pageIndex;
-            set {
-                if (value < 0) {
-                    value = 0;
-                }
-                _pageIndex = value;
-            }
-        }
-        public int PageSize {
-            get => _pageSize;
-            set {
-                if (value < 10) {
-                    value = 10;
-                }
-                if (value > 1000) {
-                    value = 1000;
-                }
-                _pageSize = value;
-            }
-        }
+        public int PageIndex { get; set; }
+        public int PageSize { get; set; }
 
         public string LoginName { get; set; }
         public UserStatus UserStatus { get; set; }

+ 2 - 0
src/WebApiServer/Controllers/ClientDataBinaryController.cs

@@ -17,6 +17,7 @@ namespace NTMiner.Controllers {
                 response = ResponseBase.InvalidInput<QueryClientsResponse>("参数错误");
             }
             else {
+                request.PagingTrim();
                 try {
                     var data = WebApiRoot.ClientDataSet.QueryClients(
                         User,
@@ -47,6 +48,7 @@ namespace NTMiner.Controllers {
                 response = ResponseBase.InvalidInput<QueryClientsResponse>("参数错误");
             }
             else {
+                request.PagingTrim();
                 try {
                     var user = WebApiRoot.UserSet.GetUser(UserId.CreateLoginNameUserId(request.LoginName));
                     if (user == null) {

+ 1 - 0
src/WebApiServer/Controllers/ClientDataController.cs

@@ -14,6 +14,7 @@ namespace NTMiner.Controllers {
             if (request == null) {
                 return ResponseBase.InvalidInput<QueryClientsResponse>("参数错误");
             }
+            request.PagingTrim();
             try {
                 var data = WebApiRoot.ClientDataSet.QueryClients(
                     User, 

+ 2 - 0
src/WebApiServer/Controllers/GpuNameController.cs

@@ -9,6 +9,7 @@ namespace NTMiner.Controllers {
             if (request == null) {
                 return ResponseBase.InvalidInput<QueryGpuNamesResponse>("参数错误");
             }
+            request.PagingTrim();
             var data = WebApiRoot.GpuNameSet.QueryGpuNames(request, out int total);
 
             return QueryGpuNamesResponse.Ok(data, total);
@@ -21,6 +22,7 @@ namespace NTMiner.Controllers {
             if (request == null) {
                 return ResponseBase.InvalidInput<QueryGpuNameCountsResponse>("参数错误");
             }
+            request.PagingTrim();
             var data = WebApiRoot.GpuNameSet.QueryGpuNameCounts(request, out int total);
 
             return QueryGpuNameCountsResponse.Ok(data, total);

+ 1 - 0
src/WebApiServer/Controllers/UserController.cs

@@ -13,6 +13,7 @@ namespace NTMiner.Controllers {
                 return ResponseBase.InvalidInput<QueryUsersResponse>("参数错误");
             }
             try {
+                request.PagingTrim();
                 var datas = WebApiRoot.UserSet.QueryUsers(request, out int total).Select(a => a.Clone()).ToList();
                 foreach (var data in datas) {
                     // 不在网络上传输私钥原文,传输的是密文