tangjiang 3 ماه پیش
والد
کامیت
9c9b94cb36

+ 23 - 0
src/DataSharing.LuZhou/LZ110/LZ110BaseResponse.cs

@@ -0,0 +1,23 @@
+namespace DataSharing.LuZhou.LZ110
+{
+    public record LZ110BaseResponse
+    {
+        public ResponseStatusObject ResponseStatusObject { get; set; }
+    }
+
+    public record ResponseStatusObject
+    {
+        /*
+         *  "StatusString":"JSON 格式无效",
+            "LocalTime":"20220711135427",
+            "RequestURL":"/PSPC/SC/System/Register",
+            "ID":"87cd8938-d90f-4782-acaa-0950f0074b66",
+            "StatusCode":
+         */
+        public string StatusString { get; set; }
+        public string LocalTime { get; set; }
+        public string RequestURL { get; set; }
+        public string ID { get; set; }
+        public string StatusCode { get; set; }
+    }
+}

+ 32 - 0
src/DataSharing.LuZhou/LZ110/LZ110RegisterManager.cs

@@ -0,0 +1,32 @@
+namespace DataSharing.LuZhou.LZ110
+{
+    public class LZ110RegisterManager
+    {
+        private readonly LZ110Invoker _invoker;
+
+        public LZ110RegisterManager(LZ110Invoker invoker)
+        {
+            _invoker = invoker;
+        }
+
+        private async Task<LZ110ApiResponse<LZ110BaseResponse>> RegisterAsync(CancellationToken cancellationToken)
+        {
+            return await _invoker.InvokeAsync<LZ110RegisterRequest, LZ110BaseResponse>(
+                new(), cancellationToken);
+        }
+
+        private Task UnRegisterAsync(CancellationToken cancellationToken)
+        {
+            return _invoker.InvokeAsync<LZ110UnRegisterRequest, LZ110BaseResponse>(
+                new(), cancellationToken);
+        }
+
+        public Task RefreshRegisterAsync(CancellationToken cancellationToken)
+        {
+            return Task.WhenAll(
+                UnRegisterAsync(cancellationToken),
+                RegisterAsync(cancellationToken)
+            );
+        }
+    }
+}

+ 22 - 0
src/DataSharing.LuZhou/LZ110/LZ110RegisterRequest.cs

@@ -0,0 +1,22 @@
+namespace DataSharing.LuZhou.LZ110
+{
+    public class LZ110RegisterRequest : ILZ110RequestBase<LZ110BaseResponse>
+    {
+        /// <summary>
+        /// /PSPC/SC/System/Register	注册资源
+        /// </summary>
+        /// <returns></returns>
+        public string GetRequestUrl() => "/PSPC/SC/System/Register";
+
+        public RegisterObject RegisterObject { get; set; } = new();
+
+    }
+    public class RegisterObject
+    {
+        public string SystemID { get; set; } = "12345rexian";
+
+        public string SystemName { get; set; } = "12345平台";
+
+        public string Version { get; set; } = "1.00";
+    }
+}

+ 22 - 0
src/DataSharing.LuZhou/LZ110/LZ110UnRegisterRequest.cs

@@ -0,0 +1,22 @@
+namespace DataSharing.LuZhou.LZ110
+{
+    public class LZ110UnRegisterRequest : ILZ110RequestBase<LZ110BaseResponse>
+    {
+        /// <summary>
+        /// /PSPC/SC/System/UnRegister	注销资源
+        /// </summary>
+        /// <returns></returns>
+        public string GetRequestUrl() => "/PSPC/SC/System/UnRegister";
+
+        public UnRegisterObject UnRegisterObject { get; set; } = new();
+    }
+
+    public class UnRegisterObject
+    {
+        public string SystemID { get; set; } = "12345rexian";
+
+        public string SystemName { get; set; } = "12345平台";
+
+        public string Version { get; set; } = "1.00";
+    }
+}