From 0363984a82f507db16460a1441bf856c40e13481 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 08 十一月 2023 13:17:36 +0800
Subject: [PATCH] 修改录入方式

---
 Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user              |    2 
 Yw.Application.Curve.Core/0-core/4-helper/ConfigHelper.cs                                   |   13 +
 Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj                                          |    5 
 Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/AddPumpCurveInput.cs                       |    4 
 Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/PumpCurveDto.cs                            |    6 
 Yw.Application.Curve.Core/9-tool/dto/PumpCurvePointToolDto.cs                               |   28 ++
 Yw.Service.Curve.Core/paras_curve_settings.json                                             |   15 -
 Yw.Application.Curve.Core/1-pump-curve/1-mgr/PumpCurve_Controller.cs                        |    8 
 Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/UpdatePumpCurveExMappingInput.cs |    4 
 Yw.Application.Curve.Core/0-core/2-extensions/Extensions.cs                                 |   28 ++
 Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressInput.cs                      |   36 +++
 Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs     |    2 
 Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user                  |    2 
 Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressDto.cs                        |   38 +++
 Yw.Application.Curve.Core/0-core/1-mapper/Mapper.cs                                         |    9 
 /dev/null                                                                                   |   13 -
 Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolOutput.cs                          |   23 ++
 Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/PumpCurveExMappingDto.cs         |    6 
 Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveExpressInput.cs                       |   13 +
 Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/UpdatePumpCurveInput.cs                    |    4 
 Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj                                  |    8 
 Yw.Application.Curve.Core/9-tool/CurveTool_Controller.cs                                    |  115 ++++++++++
 Yw.Application.Curve.Core/9-tool/dto/CurveExpressToolInput.cs                               |   50 ++++
 Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolInput.cs                           |  102 +++++++++
 Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressDto.cs                    |   44 ++++
 Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/AddPumpCurveExMappingInput.cs    |    4 
 Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressInput.cs                  |   23 ++
 Yw.Service.Curve.Core/3-settings/paras/Paras_Curve.cs                                       |    5 
 28 files changed, 554 insertions(+), 56 deletions(-)

diff --git a/Yw.Application.Curve.Core/0-core/1-mapper/Mapper.cs b/Yw.Application.Curve.Core/0-core/1-mapper/Mapper.cs
index f5e8823..93ecf44 100644
--- a/Yw.Application.Curve.Core/0-core/1-mapper/Mapper.cs
+++ b/Yw.Application.Curve.Core/0-core/1-mapper/Mapper.cs
@@ -14,15 +14,14 @@
 
             #region 1-pump-curve
 
-            config.ForType<Model.PumpCurve, PumpCurveDto>();
             config.ForType<AddPumpCurveInput, Model.PumpCurve>()
-                .Map(dest => dest.CurveInfo, src => src.CurveInfo)
+                .Map(dest => dest.CurveInfo, src => src.CurveExpress.Transfer())
                 .Map(dest => dest.CoordParas, src => src.CoordParas)
                 .Map(dest => dest.CreateUserID, src => UserManager.UserID)
                 .Map(dest => dest.CreateTime, src => DateTime.Now)
                 .Map(dest => dest.CreateUserName, src => UserManager.UserName);
             config.ForType<UpdatePumpCurveInput, Model.PumpCurve>()
-                .Map(dest => dest.CurveInfo, src => src.CurveInfo)
+                .Map(dest => dest.CurveInfo, src => src.CurveExpress.Transfer())
                 .Map(dest => dest.CoordParas, src => src.CoordParas)
                 .Map(dest => dest.UpdateTime, src => DateTime.Now)
                 .Map(dest => dest.UpdateUserID, src => UserManager.UserID)
@@ -42,14 +41,14 @@
             #region 3-pump-curve-mapping-extension
 
             config.ForType<AddPumpCurveExMappingInput, Model.PumpCurve>()
-               .Map(dest => dest.CurveInfo, src => src.CurveInfo)
+               .Map(dest => dest.CurveInfo, src => src.CurveExpress.Transfer())
                .Map(dest => dest.CoordParas, src => src.CoordParas)
                .Map(dest => dest.CreateUserID, src => UserManager.UserID)
                .Map(dest => dest.CreateTime, src => DateTime.Now)
                .Map(dest => dest.CreateUserName, src => UserManager.UserName);
 
             config.ForType<UpdatePumpCurveExMappingInput, Model.PumpCurve>()
-                .Map(dest => dest.CurveInfo, src => src.CurveInfo)
+                .Map(dest => dest.CurveInfo, src => src.CurveExpress.Transfer())
                 .Map(dest => dest.CoordParas, src => src.CoordParas)
                 .Map(dest => dest.UpdateTime, src => DateTime.Now)
                 .Map(dest => dest.UpdateUserID, src => UserManager.UserID)
diff --git a/Yw.Application.Curve.Core/0-core/2-extensions/Extensions.cs b/Yw.Application.Curve.Core/0-core/2-extensions/Extensions.cs
index e2cb858..3790f06 100644
--- a/Yw.Application.Curve.Core/0-core/2-extensions/Extensions.cs
+++ b/Yw.Application.Curve.Core/0-core/2-extensions/Extensions.cs
@@ -5,9 +5,33 @@
     /// </summary>
     public static class Extensions
     {
+        /// <summary>
+        /// 杞崲
+        /// </summary>
+        public static Yw.Model.Curve.PumpCurveInfoModel Transfer(this PumpCurveExpressInput input)
+        {
+            if (input == null)
+            {
+                return default;
+            }
+            var vm = new Yw.Model.Curve.PumpCurveInfoModel();
+            vm.CurveQH = input.CurveQH.Transfer();
+            vm.CurveQP = input.CurveQP.Transfer();
+            vm.CurveQE = input.CurveQE.Transfer();
+            return vm;
+        }
 
-
-
+        /// <summary>
+        /// 杞崲
+        /// </summary>
+        public static Yw.Curve.CurveExpress Transfer(this CurveExpressInput input)
+        {
+            if (input == null)
+            {
+                return default;
+            }
+            return FitHelper.BuildCurveExpress(input.DefinePoints, input.FitType);
+        }
 
 
     }
diff --git a/Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveExpressInput.cs b/Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveExpressInput.cs
new file mode 100644
index 0000000..8daa6a0
--- /dev/null
+++ b/Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveExpressInput.cs
@@ -0,0 +1,13 @@
+锘縩amespace Yw.Application.Curve
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class UpdatePumpCurveExpressInput : IDInput
+    {
+        /// <summary>
+        /// 鏇茬嚎琛ㄨ揪寮�
+        /// </summary>
+        public PumpCurveExpressInput CurveExpress { get; set; }
+    }
+}
diff --git a/Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveInfoInput.cs b/Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveInfoInput.cs
deleted file mode 100644
index 39d2334..0000000
--- a/Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveInfoInput.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-锘縩amespace Yw.Application.Curve
-{
-    /// <summary>
-    /// 
-    /// </summary>
-    public class UpdatePumpCurveInfoInput : IDInput
-    {
-        /// <summary>
-        /// 鏇茬嚎淇℃伅
-        /// </summary>
-        public PumpCurveInfoModel CurveInfo { get; set; }
-    }
-}
diff --git a/Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressDto.cs b/Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressDto.cs
new file mode 100644
index 0000000..3e33cd2
--- /dev/null
+++ b/Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressDto.cs
@@ -0,0 +1,38 @@
+锘縩amespace Yw.Application.Curve
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class CurveExpressDto
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        public CurveExpressDto() { }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public CurveExpressDto(Yw.Curve.CurveExpress rhs)
+        {
+            this.FitType = rhs.FitType;
+            this.DefinePoints = rhs.DefinePoints;
+            this.PointList = FitHelper.GetFitPoints(rhs, ConfigHelper.PointNumber);
+        }
+
+        /// <summary>
+        /// 鎷熷悎绫诲瀷
+        /// </summary>
+        public eFitType FitType { get; set; }
+
+        /// <summary>
+        /// 瀹氫箟鐐瑰垪琛�
+        /// </summary>
+        public List<CurvePoint> DefinePoints { get; set; }
+
+        /// <summary>
+        /// 鎷熷悎鐐瑰垪琛�
+        /// </summary>
+        public List<CurvePoint> PointList { get; set; }
+    }
+}
diff --git a/Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressInput.cs b/Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressInput.cs
new file mode 100644
index 0000000..4a8858e
--- /dev/null
+++ b/Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressInput.cs
@@ -0,0 +1,36 @@
+锘縩amespace Yw.Application.Curve
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class CurveExpressInput : IValidatableObject
+    {
+        /// <summary>
+        /// 鎷熷悎绫诲瀷
+        /// </summary>
+        public eFitType FitType { get; set; }
+
+        /// <summary>
+        /// 瀹氫箟鐐瑰垪琛�
+        /// </summary>
+        public List<CurvePoint> DefinePoints { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
+        {
+            if (DefinePoints == null || DefinePoints.Count < 1)
+            {
+                yield return new ValidationResult("DefinePoints 鏁伴噺涓嶈冻锛岃嚦灏�4涓偣", new string[] { nameof(DefinePoints) });
+            }
+
+            var fitPow = FitHelper.GetFitPow(FitType);
+            if (DefinePoints.Count < fitPow + 1)
+            {
+                yield return new ValidationResult($"DefinePoints 鏁伴噺涓嶈冻锛岃嚦灏憑fitPow + 1}涓偣", new string[] { nameof(DefinePoints) });
+            }
+        }
+
+    }
+}
diff --git a/Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressDto.cs b/Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressDto.cs
new file mode 100644
index 0000000..fe308a8
--- /dev/null
+++ b/Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressDto.cs
@@ -0,0 +1,44 @@
+锘縩amespace Yw.Application.Curve
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class PumpCurveExpressDto
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        public PumpCurveExpressDto() { }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public PumpCurveExpressDto(Model.Curve.PumpCurveInfoModel rhs)
+        {
+            this.CurveQH = new CurveExpressDto(rhs.CurveQH);
+            if (rhs.CurveQP != null)
+            {
+                this.CurveQP = new CurveExpressDto(rhs.CurveQP);
+            }
+            if (rhs.CurveQE != null)
+            {
+                this.CurveQE = new CurveExpressDto(rhs.CurveQE);
+            }
+        }
+
+        /// <summary>
+        /// 娴侀噺鎵▼鏇茬嚎
+        /// </summary>
+        public CurveExpressDto CurveQH { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鍔熺巼鏇茬嚎
+        /// </summary>
+        public CurveExpressDto CurveQP { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鏁堢巼鏇茬嚎
+        /// </summary>
+        public CurveExpressDto CurveQE { get; set; }
+    }
+}
diff --git a/Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressInput.cs b/Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressInput.cs
new file mode 100644
index 0000000..60a352b
--- /dev/null
+++ b/Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressInput.cs
@@ -0,0 +1,23 @@
+锘縩amespace Yw.Application.Curve
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class PumpCurveExpressInput
+    {
+        /// <summary>
+        /// 娴侀噺鎵▼鏇茬嚎
+        /// </summary>
+        public CurveExpressInput CurveQH { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鍔熺巼鏇茬嚎
+        /// </summary>
+        public CurveExpressInput CurveQP { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鏁堢巼鏇茬嚎
+        /// </summary>
+        public CurveExpressInput CurveQE { get; set; }
+    }
+}
diff --git a/Yw.Application.Curve.Core/0-core/4-helper/ConfigHelper.cs b/Yw.Application.Curve.Core/0-core/4-helper/ConfigHelper.cs
new file mode 100644
index 0000000..cf4d059
--- /dev/null
+++ b/Yw.Application.Curve.Core/0-core/4-helper/ConfigHelper.cs
@@ -0,0 +1,13 @@
+锘縩amespace Yw.Application.Curve
+{
+    internal class ConfigHelper
+    {
+        /// <summary>
+        /// 鐐规暟閲�
+        /// </summary>
+        public static int PointNumber
+        {
+            get { return Settings.CurveParasHelper.Curve.PointNumber; }
+        }
+    }
+}
diff --git a/Yw.Application.Curve.Core/1-pump-curve/1-mgr/PumpCurve_Controller.cs b/Yw.Application.Curve.Core/1-pump-curve/1-mgr/PumpCurve_Controller.cs
index 5d91201..6472051 100644
--- a/Yw.Application.Curve.Core/1-pump-curve/1-mgr/PumpCurve_Controller.cs
+++ b/Yw.Application.Curve.Core/1-pump-curve/1-mgr/PumpCurve_Controller.cs
@@ -98,13 +98,13 @@
         }
 
         /// <summary>
-        /// 更新曲线信息
+        /// 更新曲线表达式
         /// </summary>
-        [Route("UpdateCurveInfo@V1.0")]
+        [Route("UpdateCurveExpress@V1.0")]
         [HttpPut]
-        public bool UpdateCurveInfo(UpdatePumpCurveInfoInput input)
+        public bool UpdateCurveExpress(UpdatePumpCurveExpressInput input)
         {
-            var bol = _service.UpdateCurveInfo(input.ID, input.CurveInfo, UserManager.UserID, DateTime.Now);
+            var bol = _service.UpdateCurveInfo(input.ID, input.CurveExpress.Transfer(), UserManager.UserID, DateTime.Now);
             return bol;
         }
 
diff --git a/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/AddPumpCurveInput.cs b/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/AddPumpCurveInput.cs
index d66238f..debebbd 100644
--- a/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/AddPumpCurveInput.cs
+++ b/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/AddPumpCurveInput.cs
@@ -30,10 +30,10 @@
         public Dictionary<string, string> CoordParas { get; set; }
 
         /// <summary>
-        /// 鏇茬嚎淇℃伅
+        /// 鏇茬嚎琛ㄨ揪寮�
         /// </summary>
         [Required]
-        public PumpCurveInfoModel CurveInfo { get; set; }
+        public PumpCurveExpressInput CurveExpress { get; set; }
 
         /// <summary>
         /// 鍙俊搴�
diff --git a/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/PumpCurveDto.cs b/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/PumpCurveDto.cs
index dc2bfde..2f40aaf 100644
--- a/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/PumpCurveDto.cs
+++ b/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/PumpCurveDto.cs
@@ -20,7 +20,7 @@
             this.SourceWay = rhs.SourceWay;
             this.CreateMethod = rhs.CreateMethod;
             this.CoordParas = rhs.CoordParas;
-            this.CurveInfo = rhs.CurveInfo;
+            this.CurveExpress = new PumpCurveExpressDto(rhs.CurveInfo);
             this.ReliabilityStatus = rhs.ReliabilityStatus;
             this.CreateTime = rhs.CreateTime;
             this.CreateUserID = rhs.CreateUserID;
@@ -57,9 +57,9 @@
         public Dictionary<string, string> CoordParas { get; set; }
 
         /// <summary>
-        /// 鏇茬嚎淇℃伅
+        /// 鏇茬嚎琛ㄨ揪寮�
         /// </summary>
-        public PumpCurveInfoModel CurveInfo { get; set; }
+        public PumpCurveExpressDto CurveExpress { get; set; }
 
         /// <summary>
         /// 鍙俊搴�
diff --git a/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/UpdatePumpCurveInput.cs b/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/UpdatePumpCurveInput.cs
index 178ee76..f7f5bdc 100644
--- a/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/UpdatePumpCurveInput.cs
+++ b/Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/UpdatePumpCurveInput.cs
@@ -35,10 +35,10 @@
         public Dictionary<string, string> CoordParas { get; set; }
 
         /// <summary>
-        /// 鏇茬嚎淇℃伅
+        /// 鏇茬嚎琛ㄨ揪寮�
         /// </summary>
         [Required]
-        public PumpCurveInfoModel CurveInfo { get; set; }
+        public PumpCurveExpressInput CurveExpress { get; set; }
 
         /// <summary>
         /// 鍙俊搴�
diff --git a/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_StandardController.cs b/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs
similarity index 97%
rename from Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_StandardController.cs
rename to Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs
index bcda611..62a00db 100644
--- a/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_StandardController.cs
+++ b/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs
@@ -5,7 +5,7 @@
     /// </summary>
     [Route("Curve/Pump/Mapping/Extension")]
     [ApiDescriptionSettings("Curve", Name = "娉垫洸绾挎槧灏勬嫇灞�", Order = 8000)]
-    public partial class PumpCurveExMapping_StandardController : IDynamicApiController
+    public partial class PumpCurveExMapping_Controller : IDynamicApiController 
     {
         private readonly Service.PumpCurveExMapping _service = new();
 
diff --git a/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/AddPumpCurveExMappingInput.cs b/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/AddPumpCurveExMappingInput.cs
index 3f1ab77..fa5c94b 100644
--- a/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/AddPumpCurveExMappingInput.cs
+++ b/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/AddPumpCurveExMappingInput.cs
@@ -42,10 +42,10 @@
         public Dictionary<string, string> CoordParas { get; set; }
 
         /// <summary>
-        /// 鏇茬嚎淇℃伅
+        /// 鏇茬嚎琛ㄨ揪寮�
         /// </summary>
         [Required]
-        public PumpCurveInfoModel CurveInfo { get; set; }
+        public PumpCurveExpressInput CurveExpress { get; set; }
 
         /// <summary>
         /// 鍙俊搴�
diff --git a/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/PumpCurveExMappingDto.cs b/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/PumpCurveExMappingDto.cs
index 12f7b2f..96dbd0d 100644
--- a/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/PumpCurveExMappingDto.cs
+++ b/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/PumpCurveExMappingDto.cs
@@ -23,7 +23,7 @@
             this.SourceWay = curve.SourceWay;
             this.CreateMethod = curve.CreateMethod;
             this.CoordParas = curve.CoordParas;
-            this.CurveInfo = curve.CurveInfo;
+            this.CurveExpress = new PumpCurveExpressDto(curve.CurveInfo);
             this.ReliabilityStatus = curve.ReliabilityStatus;
             this.InputTime = curve.InputTime;
             this.IsWorking = mapping.IsWorking;
@@ -78,9 +78,9 @@
         public Dictionary<string, string> CoordParas { get; set; }
 
         /// <summary>
-        /// 鏇茬嚎淇℃伅
+        /// 鏇茬嚎琛ㄨ揪寮�
         /// </summary>
-        public PumpCurveInfoModel CurveInfo { get; set; }
+        public PumpCurveExpressDto CurveExpress { get; set; }
 
         /// <summary>
         /// 鍙俊搴�
diff --git a/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/UpdatePumpCurveExMappingInput.cs b/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/UpdatePumpCurveExMappingInput.cs
index ed3100b..a07c2fe 100644
--- a/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/UpdatePumpCurveExMappingInput.cs
+++ b/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/UpdatePumpCurveExMappingInput.cs
@@ -47,10 +47,10 @@
         public Dictionary<string, string> CoordParas { get; set; }
 
         /// <summary>
-        /// 鏇茬嚎淇℃伅
+        /// 鏇茬嚎琛ㄨ揪寮�
         /// </summary>
         [Required]
-        public PumpCurveInfoModel CurveInfo { get; set; }
+        public PumpCurveExpressInput CurveExpress { get; set; }
 
         /// <summary>
         /// 鍙俊搴�
diff --git a/Yw.Application.Curve.Core/9-tool/CurveTool_Controller.cs b/Yw.Application.Curve.Core/9-tool/CurveTool_Controller.cs
new file mode 100644
index 0000000..ee99db1
--- /dev/null
+++ b/Yw.Application.Curve.Core/9-tool/CurveTool_Controller.cs
@@ -0,0 +1,115 @@
+锘縩amespace Yw.Application
+{
+    /// <summary>
+    /// CurveTool
+    /// </summary>
+    [Route("Curve/Tool")]
+    [ApiDescriptionSettings("Curve", Name = "鏇茬嚎宸ュ叿", Order = 1000)]
+    public partial class CurveTool_Controller : IDynamicApiController
+    {
+        /// <summary>
+        /// 鐢熸垚鎷熷悎鐐瑰垪琛�
+        /// </summary>
+        [Route("GeneralFitPointList@V1.0")]
+        [HttpPost]
+        public List<CurvePoint> GeneralFitPointList([Required] CurveExpressToolInput input)
+        {
+            var fitHelper = new FitHelper(input.DefinePoints, input.FitType);
+            var pointNumber = ConfigHelper.PointNumber;
+            if (input.PointNumber.HasValue)
+            {
+                pointNumber = input.PointNumber.Value;
+            }
+            var list = fitHelper.GetFitPoints(pointNumber);
+            return list;
+        }
+
+        /// <summary>
+        /// 鐢熸垚娉垫嫙鍚堢偣鍒楄〃
+        /// </summary>
+        [Route("GeneralPumpFitPointList@V1.0")]
+        [HttpPost]
+        public PumpCurveExpressToolOutput GeneralPumpFitPointList([Required] PumpCurveExpressToolInput input)
+        {
+            var vm = new PumpCurveExpressToolOutput();
+
+            //鎵▼
+            var pointNumberQH = ConfigHelper.PointNumber;
+            if (input.PointNumberQH.HasValue)
+            {
+                pointNumberQH = input.PointNumberQH.Value;
+            }
+            var pointListQH = input.DefinePoints.Select(x => new CurvePoint(x.Q, x.H)).ToList();
+            var fitHelperQH = new FitHelper(pointListQH, input.FitTypeQH);
+            vm.PointListQH = fitHelperQH.GetFitPoints(pointNumberQH);
+
+            //鍔熺巼
+            var hasQP = false;
+            var pointNumberQP = ConfigHelper.PointNumber;
+            if (input.PointNumberQP.HasValue)
+            {
+                pointNumberQP = input.PointNumberQP.Value;
+            }
+            var pointListQP = input.DefinePoints.Where(x => x.P.HasValue).Select(x => new CurvePoint(x.Q, x.P.Value)).ToList();
+            if (pointListQP != null && pointListQP.Count > 3)
+            {
+                var fitPowQP = FitHelper.GetFitPow(input.FitTypeQP);
+                if (pointListQP.Count > fitPowQP)
+                {
+                    var fitHelperQP = new FitHelper(pointListQP, input.FitTypeQP);
+                    vm.PointListQP = fitHelperQP.GetFitPoints(pointNumberQP);
+                    hasQP = true;
+                }
+            }
+
+
+            //鏁堢巼
+            var hasQE = false;
+            var pointNumberQE = ConfigHelper.PointNumber;
+            if (input.PointNumberQE.HasValue)
+            {
+                pointNumberQE = input.PointNumberQE.Value;
+            }
+            var pointListQE = input.DefinePoints.Where(x => x.E.HasValue).Select(x => new CurvePoint(x.Q, x.E.Value)).ToList();
+            if (pointListQE != null && pointListQE.Count > 3)
+            {
+                var fitPowQE = FitHelper.GetFitPow(input.FitTypeQE);
+                if (pointListQE.Count > fitPowQE)
+                {
+                    var fitHelperQE = new FitHelper(pointListQE, input.FitTypeQE);
+                    vm.PointListQE = fitHelperQE.GetFitPoints(pointNumberQE);
+                    hasQE = true;
+                }
+            }
+
+            if (!hasQP && hasQE)
+            {
+                pointListQP = new List<CurvePoint>();
+                foreach (var item in pointListQE)
+                {
+                    var pointQH = pointListQH.Find(x => x.X == item.X);
+                    var p = Yw.Calculation.PumpCalcuHelper.CalculateP(pointQH.X, pointQH.Y, item.Y);
+                    pointListQP.Add(new CurvePoint(item.X, p));
+                }
+                var fitHelperQP = new FitHelper(pointListQP, input.FitTypeQE);
+                vm.PointListQP = fitHelperQP.GetFitPoints(pointNumberQP);
+            }
+            else if (hasQP && !hasQE)
+            {
+                pointListQE = new List<CurvePoint>();
+                foreach (var item in pointListQP)
+                {
+                    var pointQH = pointListQH.Find(x => x.X == item.X);
+                    var e = Yw.Calculation.PumpCalcuHelper.CalculateE(pointQH.X, pointQH.Y, item.Y);
+                    pointListQE.Add(new CurvePoint(item.X, e));
+                }
+                var fitHelperQE = new FitHelper(pointListQE, input.FitTypeQP);
+                vm.PointListQE = fitHelperQE.GetFitPoints(pointNumberQE);
+            }
+
+            return vm;
+
+        }
+
+    }
+}
\ No newline at end of file
diff --git a/Yw.Application.Curve.Core/9-tool/dto/CurveExpressToolInput.cs b/Yw.Application.Curve.Core/9-tool/dto/CurveExpressToolInput.cs
new file mode 100644
index 0000000..732e08e
--- /dev/null
+++ b/Yw.Application.Curve.Core/9-tool/dto/CurveExpressToolInput.cs
@@ -0,0 +1,50 @@
+锘縩amespace Yw.Application
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class CurveExpressToolInput : IValidatableObject
+    {
+        /// <summary>
+        /// 鎷熷悎绫诲瀷
+        /// </summary>
+        [Required]
+        public eFitType FitType { get; set; }
+
+        /// <summary>
+        /// 瀹氫箟鐐瑰垪琛�
+        /// </summary>
+        [Required]
+        public List<CurvePoint> DefinePoints { get; set; }
+
+        /// <summary>
+        /// 鐐规暟閲�
+        /// </summary>
+        public int? PointNumber { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
+        {
+            if (DefinePoints == null || DefinePoints.Count < 4)
+            {
+                yield return new ValidationResult("DefinePoints 鏁伴噺涓嶈冻锛岃嚦灏�4涓偣", new string[] { nameof(DefinePoints) });
+            }
+
+            var fitPow = FitHelper.GetFitPow(FitType);
+            if (DefinePoints.Count < fitPow + 1)
+            {
+                yield return new ValidationResult($"DefinePoints 鏁伴噺涓嶈冻锛岃嚦灏憑fitPow + 1}涓偣", new string[] { nameof(DefinePoints) });
+            }
+            if (PointNumber.HasValue)
+            {
+                if (PointNumber.Value < 6)
+                {
+                    yield return new ValidationResult($"PointNumber 涓嶈兘灏忎簬6", new string[] { nameof(PointNumber) });
+                }
+            }
+        }
+
+    }
+}
diff --git a/Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolInput.cs b/Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolInput.cs
new file mode 100644
index 0000000..d0c7e7c
--- /dev/null
+++ b/Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolInput.cs
@@ -0,0 +1,102 @@
+锘縩amespace Yw.Application
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class PumpCurveExpressToolInput : IValidatableObject
+    {
+        /// <summary>
+        /// 娴侀噺鎵▼鎷熷悎绫诲瀷
+        /// </summary>
+        public eFitType FitTypeQH { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鍔熺巼鎷熷悎绫诲瀷
+        /// </summary>
+        public eFitType FitTypeQP { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鏁堢巼鎷熷悎绫诲瀷
+        /// </summary>
+        public eFitType FitTypeQE { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鎵▼鐐规暟閲�
+        /// </summary>
+        public int? PointNumberQH { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鍔熺巼鐐规暟閲�
+        /// </summary>
+        public int? PointNumberQP { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鏁堢巼鐐规暟閲�
+        /// </summary>
+        public int? PointNumberQE { get; set; }
+
+        /// <summary>
+        /// 瀹氫箟鐐瑰垪琛�
+        /// </summary>
+        public List<PumpCurvePointToolDto> DefinePoints { get; set; }
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
+        {
+            if (this.DefinePoints == null || this.DefinePoints.Count < 4)
+            {
+                yield return new ValidationResult("DefinePoints 鏁伴噺涓嶈冻锛岃嚦灏�4涓偣", new string[] { nameof(DefinePoints) });
+            }
+
+            var fitPowQH = FitHelper.GetFitPow(this.FitTypeQH);
+            if (this.DefinePoints.Count < fitPowQH + 1)
+            {
+                yield return new ValidationResult($"DefinePoints 鏁伴噺涓嶈冻锛岃嚦灏憑fitPowQH + 1}涓偣", new string[] { nameof(DefinePoints) });
+            }
+
+            if (this.PointNumberQH.HasValue)
+            {
+                if (this.PointNumberQH.Value < 6)
+                {
+                    yield return new ValidationResult($"PointNumberQH 涓嶈兘灏忎簬6", new string[] { nameof(PointNumberQH) });
+                }
+            }
+
+            var fitPowQP = FitHelper.GetFitPow(this.FitTypeQP);
+            if (this.DefinePoints.Count < fitPowQP + 1)
+            {
+                yield return new ValidationResult($"DefinePoints 鏁伴噺涓嶈冻锛岃嚦灏憑fitPowQP + 1}涓偣", new string[] { nameof(DefinePoints) });
+            }
+            if (this.PointNumberQP.HasValue)
+            {
+                if (this.PointNumberQP.Value < 6)
+                {
+                    yield return new ValidationResult($"PointNumberQP 涓嶈兘灏忎簬6", new string[] { nameof(PointNumberQP) });
+                }
+            }
+
+            var fitPowQE = FitHelper.GetFitPow(this.FitTypeQE);
+            if (this.DefinePoints.Count < fitPowQE + 1)
+            {
+                yield return new ValidationResult($"DefinePoints 鏁伴噺涓嶈冻锛岃嚦灏憑fitPowQE + 1}涓偣", new string[] { nameof(DefinePoints) });
+            }
+            if (this.PointNumberQE.HasValue)
+            {
+                if (this.PointNumberQE.Value < 6)
+                {
+                    yield return new ValidationResult($"PointNumberQE 涓嶈兘灏忎簬6", new string[] { nameof(PointNumberQE) });
+                }
+            }
+
+
+
+
+
+        }
+
+
+    }
+}
diff --git a/Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolOutput.cs b/Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolOutput.cs
new file mode 100644
index 0000000..88b5aa5
--- /dev/null
+++ b/Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolOutput.cs
@@ -0,0 +1,23 @@
+锘縩amespace Yw.Application
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class PumpCurveExpressToolOutput
+    {
+        /// <summary>
+        /// 娴侀噺鎵▼鐐瑰垪琛�
+        /// </summary>
+        public List<CurvePoint> PointListQH { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鍔熺巼鐐瑰垪琛�
+        /// </summary>
+        public List<CurvePoint> PointListQP { get; set; }
+
+        /// <summary>
+        /// 娴侀噺鏁堢巼鐐瑰垪琛�
+        /// </summary>
+        public List<CurvePoint> PointListQE { get; set; }
+    }
+}
diff --git a/Yw.Application.Curve.Core/9-tool/dto/PumpCurvePointToolDto.cs b/Yw.Application.Curve.Core/9-tool/dto/PumpCurvePointToolDto.cs
new file mode 100644
index 0000000..d9a49db
--- /dev/null
+++ b/Yw.Application.Curve.Core/9-tool/dto/PumpCurvePointToolDto.cs
@@ -0,0 +1,28 @@
+锘縩amespace Yw.Application
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class PumpCurvePointToolDto
+    {
+        /// <summary>
+        /// 娴侀噺
+        /// </summary>
+        public double Q { get; set; }
+
+        /// <summary>
+        /// 鎵▼
+        /// </summary>
+        public double H { get; set; }
+
+        /// <summary>
+        /// 鍔熺巼
+        /// </summary>
+        public double? P { get; set; }
+
+        /// <summary>
+        /// 鏁堢巼
+        /// </summary>
+        public double? E { get; set; }
+    }
+}
diff --git a/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
index 98cb734..691e5cf 100644
--- a/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@
 -->
 <Project>
   <PropertyGroup>
-    <History>True|2023-11-07T03:05:59.7264456Z;True|2023-11-07T11:05:52.0532331+08:00;True|2023-10-24T23:17:54.0748672+08:00;True|2023-10-21T14:38:03.2722172+08:00;True|2023-09-26T14:10:22.2485377+08:00;True|2023-08-29T11:46:24.5710627+08:00;True|2023-08-23T11:34:59.7400481+08:00;True|2023-08-21T13:31:52.3074533+08:00;True|2023-08-18T16:51:57.4477528+08:00;True|2023-08-18T13:49:11.3231257+08:00;True|2023-08-17T14:51:49.8452519+08:00;True|2023-08-17T11:44:23.5001902+08:00;True|2023-08-16T17:43:46.8283841+08:00;True|2023-08-16T11:10:43.5110570+08:00;True|2023-08-15T16:51:35.3016945+08:00;True|2023-08-15T15:04:30.4334950+08:00;True|2023-08-10T15:23:57.4783701+08:00;True|2023-08-08T10:01:53.7466486+08:00;True|2023-08-07T11:49:59.7506144+08:00;True|2023-08-05T10:38:53.6104500+08:00;True|2023-08-02T15:25:21.6024349+08:00;True|2023-08-02T15:20:20.4985081+08:00;True|2023-08-02T13:31:18.6184059+08:00;True|2023-08-02T13:30:52.4975034+08:00;True|2023-08-02T13:29:34.9010019+08:00;True|2023-08-02T13:28:35.4729592+08:00;True|2023-07-25T15:08:42.3375388+08:00;True|2023-07-17T10:31:53.5181752+08:00;True|2023-07-17T10:31:44.6652344+08:00;True|2023-07-13T12:10:11.2591498+08:00;True|2023-05-25T18:02:16.3580168+08:00;True|2023-05-25T15:44:32.4909866+08:00;</History>
+    <History>True|2023-11-08T03:55:54.5929525Z;True|2023-11-07T11:05:59.7264456+08:00;True|2023-11-07T11:05:52.0532331+08:00;True|2023-10-24T23:17:54.0748672+08:00;True|2023-10-21T14:38:03.2722172+08:00;True|2023-09-26T14:10:22.2485377+08:00;True|2023-08-29T11:46:24.5710627+08:00;True|2023-08-23T11:34:59.7400481+08:00;True|2023-08-21T13:31:52.3074533+08:00;True|2023-08-18T16:51:57.4477528+08:00;True|2023-08-18T13:49:11.3231257+08:00;True|2023-08-17T14:51:49.8452519+08:00;True|2023-08-17T11:44:23.5001902+08:00;True|2023-08-16T17:43:46.8283841+08:00;True|2023-08-16T11:10:43.5110570+08:00;True|2023-08-15T16:51:35.3016945+08:00;True|2023-08-15T15:04:30.4334950+08:00;True|2023-08-10T15:23:57.4783701+08:00;True|2023-08-08T10:01:53.7466486+08:00;True|2023-08-07T11:49:59.7506144+08:00;True|2023-08-05T10:38:53.6104500+08:00;True|2023-08-02T15:25:21.6024349+08:00;True|2023-08-02T15:20:20.4985081+08:00;True|2023-08-02T13:31:18.6184059+08:00;True|2023-08-02T13:30:52.4975034+08:00;True|2023-08-02T13:29:34.9010019+08:00;True|2023-08-02T13:28:35.4729592+08:00;True|2023-07-25T15:08:42.3375388+08:00;True|2023-07-17T10:31:53.5181752+08:00;True|2023-07-17T10:31:44.6652344+08:00;True|2023-07-13T12:10:11.2591498+08:00;True|2023-05-25T18:02:16.3580168+08:00;True|2023-05-25T15:44:32.4909866+08:00;</History>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj b/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj
index 0fb7b83..be76585 100644
--- a/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj
+++ b/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj
@@ -7,7 +7,7 @@
     <RootNamespace>Yw.Application</RootNamespace>
     <GenerateDocumentationFile>True</GenerateDocumentationFile>
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-    <Version>1.0.0</Version>
+    <Version>1.0.1</Version>
   </PropertyGroup>
 
   <ItemGroup>
@@ -40,7 +40,11 @@
   <ItemGroup>
     <PackageReference Include="Yw.Application.Core" Version="1.2.5" />
     <PackageReference Include="Yw.Quartz.Core" Version="1.0.0" />
-    <PackageReference Include="Yw.Service.Curve.Core" Version="1.0.0" />
+    <PackageReference Include="Yw.Service.Curve.Core" Version="1.0.1" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Folder Include="2-pump-curve-mapping\2-std\" />
   </ItemGroup>
 
 </Project>
diff --git a/Yw.Service.Curve.Core/3-settings/paras/Paras_Curve.cs b/Yw.Service.Curve.Core/3-settings/paras/Paras_Curve.cs
index f9afd17..46330b4 100644
--- a/Yw.Service.Curve.Core/3-settings/paras/Paras_Curve.cs
+++ b/Yw.Service.Curve.Core/3-settings/paras/Paras_Curve.cs
@@ -11,6 +11,11 @@
         /// </summary>
         public Paras_Curve_DataBase DataBase { get; set; }
 
+        /// <summary>
+        /// 鐐规暟閲�
+        /// </summary>
+        public int PointNumber { get; set; }
+
 
     }
 }
diff --git a/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
index 5791534..d8d6b50 100644
--- a/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@
 -->
 <Project>
   <PropertyGroup>
-    <History>True|2023-11-07T03:00:32.3186525Z;True|2023-11-07T11:00:20.7173571+08:00;True|2023-10-24T23:16:33.8643304+08:00;True|2023-10-21T14:19:25.2606768+08:00;True|2023-09-26T14:09:33.8756384+08:00;True|2023-08-29T11:33:28.5466784+08:00;True|2023-08-21T13:26:43.3162454+08:00;True|2023-08-18T13:08:38.6378644+08:00;True|2023-08-16T17:42:45.3685771+08:00;True|2023-08-16T11:48:48.4326811+08:00;True|2023-08-15T15:00:14.6493599+08:00;True|2023-08-10T15:20:03.2786400+08:00;True|2023-08-07T11:48:46.2865626+08:00;True|2023-08-07T11:15:37.1248435+08:00;True|2023-08-07T10:40:31.7277832+08:00;True|2023-08-04T17:10:25.6488475+08:00;True|2023-08-02T15:24:28.5531853+08:00;True|2023-08-02T15:19:18.2260163+08:00;True|2023-08-02T13:26:30.0499052+08:00;True|2023-07-17T10:30:15.0370305+08:00;True|2023-07-13T11:54:33.7989040+08:00;True|2023-07-13T11:54:23.3967174+08:00;True|2023-07-06T09:49:52.7407983+08:00;True|2023-05-25T15:37:23.5406830+08:00;False|2023-05-25T15:36:09.3589239+08:00;</History>
+    <History>True|2023-11-08T03:54:49.6715090Z;True|2023-11-07T11:00:32.3186525+08:00;True|2023-11-07T11:00:20.7173571+08:00;True|2023-10-24T23:16:33.8643304+08:00;True|2023-10-21T14:19:25.2606768+08:00;True|2023-09-26T14:09:33.8756384+08:00;True|2023-08-29T11:33:28.5466784+08:00;True|2023-08-21T13:26:43.3162454+08:00;True|2023-08-18T13:08:38.6378644+08:00;True|2023-08-16T17:42:45.3685771+08:00;True|2023-08-16T11:48:48.4326811+08:00;True|2023-08-15T15:00:14.6493599+08:00;True|2023-08-10T15:20:03.2786400+08:00;True|2023-08-07T11:48:46.2865626+08:00;True|2023-08-07T11:15:37.1248435+08:00;True|2023-08-07T10:40:31.7277832+08:00;True|2023-08-04T17:10:25.6488475+08:00;True|2023-08-02T15:24:28.5531853+08:00;True|2023-08-02T15:19:18.2260163+08:00;True|2023-08-02T13:26:30.0499052+08:00;True|2023-07-17T10:30:15.0370305+08:00;True|2023-07-13T11:54:33.7989040+08:00;True|2023-07-13T11:54:23.3967174+08:00;True|2023-07-06T09:49:52.7407983+08:00;True|2023-05-25T15:37:23.5406830+08:00;False|2023-05-25T15:36:09.3589239+08:00;</History>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj b/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj
index ce3a792..53dfb68 100644
--- a/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj
+++ b/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj
@@ -7,7 +7,7 @@
 		<RootNamespace>Yw</RootNamespace>
 		<GenerateDocumentationFile>True</GenerateDocumentationFile>
 		<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-		<Version>1.0.0</Version>
+		<Version>1.0.1</Version>
 		<Description>澧炲姞璁惧鍋ュ悍璇勪环鏁版嵁鍒嗗彂</Description>
 	</PropertyGroup>
 
@@ -56,6 +56,9 @@
 		<Content Update="C:\Users\admin\.nuget\packages\yw.service.core\1.0.6\contentFiles\any\net6.0\paras_service_settings.json">
 		  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 		</Content>
+		<Content Update="C:\Users\admin\.nuget\packages\yw.service.core\1.1.2\contentFiles\any\net6.0\paras_service_settings.json">
+		  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+		</Content>
 		<Content Update="C:\Users\admin\.nuget\packages\yw.sqlsugar.core\1.0.0\contentFiles\any\net6.0\paras_sqlsugar_settings.json">
 			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
 		</Content>
diff --git a/Yw.Service.Curve.Core/paras_curve_settings.json b/Yw.Service.Curve.Core/paras_curve_settings.json
index e7fce82..ec474c4 100644
--- a/Yw.Service.Curve.Core/paras_curve_settings.json
+++ b/Yw.Service.Curve.Core/paras_curve_settings.json
@@ -2,20 +2,11 @@
   "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
 
 
-  "Health": {
+  "Curve": {
     "DataBase": {
-      "ConnectString": "PORT=5432;DATABASE=yw_health;HOST=localhost;PASSWORD=123456;USER ID=postgres;",
-      "RecordConnectString": "PORT=5432;DATABASE=yw_health_record;HOST=localhost;PASSWORD=123456;USER ID=postgres;"
+      "ConnectString": "PORT=5432;DATABASE=yw_health;HOST=localhost;PASSWORD=123456;USER ID=postgres;"
     },
-    "RedisCache": {
-      "Prefix": "yw"
-    },
-    "Run": {
-      "ExchangeName": "yw-health-evaluation-record-run-exchange"
-    },
-    "Task": {
-      "Frequency": 60
-    }
+    "PointNumber": 12
   }
 
 

--
Gitblit v1.9.3