From 1cb49b04ae6709e6054c328f5ed12bff9ca014c8 Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期二, 12 十一月 2024 09:21:57 +0800
Subject: [PATCH] no message

---
 CoreCms.Net.Model/CoreCms.Net.Model.csproj                                  |    6 
 CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user |    2 
 CoreCms.Net.IServices/IApiService.cs                                        |   19 
 CoreCms.Net.RedisMQ/CyPlanOderMq.cs                                         |  134 +
 CoreCms.Net.CodeGenerator/CoreCms.Net.CodeGenerator.csproj                  |    2 
 CoreCms.Net.Core/CoreCms.Net.Core.csproj                                    |    2 
 CoreCms.Net.IServices/CYOAServices/DTO.cs                                   |  459 ++++
 CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs                           |  144 +
 CoreCms.Net.Model/bin/Debug/net8.0/CoreCms.Net.Model.deps.json              |  776 +++++--
 CoreCms.Net.Uni-App/obj/CoreCms.Net.Uni-App.csproj.nuget.g.props            |    2 
 CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.csproj.user                   |    2 
 CoreCms.Net.Model/CyinOAModel/CoreDeliverOrderItem.cs                       |   91 
 CoreCms.Net.Configuration/GlobalConstVars.cs                                |   10 
 CoreCms.Net.Utility/Extensions/StringExtensions.cs                          |   61 
 CoreCms.Net.Model/CyinOAModel/Sys_CitySite.cs                               |    2 
 修改记录.MD                                                                     |    7 
 CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs   |  102 +
 CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.csproj.user                     |    2 
 CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/edit.html      |   13 
 CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs                       |  123 +
 CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/details.html   |   27 
 CoreCms.Net.Core/Config/RedisMessageQueueSetup.cs                           |    1 
 CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs                           |  249 ++
 CoreCms.Net.Services/CYOAServices/CyinOAService.cs                          | 1804 +++++++++++++++++++
 CoreCms.Net.Web.Admin/Properties/PublishProfiles/FolderProfile.pubxml.user  |    2 
 CoreCms.Net.Configuration/AppSettingsConstVars.cs                           |   18 
 CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs          |  171 +
 CoreCms.Net.Model/CyinOAModel/CoreDeliveryOrderTracks.cs                    |   62 
 CoreCms.Net.Web.WebApi/Controllers/UserController.cs                        |    2 
 CoreCms.Net.Services/ApiService.cs                                          |   49 
 CoreCms.Net.Utility/bin/Debug/net8.0/CoreCms.Net.Utility.deps.json          |  804 +++++---
 CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/index.html     |   16 
 CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs          |  190 ++
 CoreCms.Net.Model/CyinOAModel/OA_Staff.cs                                   |   11 
 CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs                        |  173 +
 35 files changed, 4,938 insertions(+), 600 deletions(-)

diff --git a/CoreCms.Net.CodeGenerator/CoreCms.Net.CodeGenerator.csproj b/CoreCms.Net.CodeGenerator/CoreCms.Net.CodeGenerator.csproj
index 05309ca..5768355 100644
--- a/CoreCms.Net.CodeGenerator/CoreCms.Net.CodeGenerator.csproj
+++ b/CoreCms.Net.CodeGenerator/CoreCms.Net.CodeGenerator.csproj
@@ -48,7 +48,7 @@
 
   <ItemGroup>
     <PackageReference Include="DotLiquid" Version="2.2.692" />
-    <PackageReference Include="sqlSugarCore" Version="5.1.4.129" />
+    <PackageReference Include="sqlSugarCore" Version="5.1.4.170" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/CoreCms.Net.Configuration/AppSettingsConstVars.cs b/CoreCms.Net.Configuration/AppSettingsConstVars.cs
index 99300ee..510ba43 100644
--- a/CoreCms.Net.Configuration/AppSettingsConstVars.cs
+++ b/CoreCms.Net.Configuration/AppSettingsConstVars.cs
@@ -56,6 +56,7 @@
         /// 宸濆嵃鏁版嵁搴撹繛绫诲瀷
         /// </summary>
         public static readonly string CyDbDbType = AppSettingsHelper.GetContent("CyConnectionStrings", "DbType");
+
         #endregion
 
         #region redis================================================================================
@@ -183,5 +184,22 @@
 
         #endregion
 
+
+
+        #region CyinOs 宸濆嵃绯荤粺鐩稿叧閰嶇疆
+        /// <summary>
+        /// 鍏徃ID
+        /// </summary>
+        public static readonly string CyOsFirmIds= AppSettingsHelper.GetContent("CyinOs", "FirmIds");
+        /// <summary>
+        /// 鑱屼綅鍚嶇О
+        /// </summary>
+        public static readonly string CyOsSMPost = AppSettingsHelper.GetContent("CyinOs", "SM_Post");
+        /// <summary>
+        /// 宸濆嵃鏈嶅姟鍦板潃
+        /// </summary>
+        public static readonly string CYOAHttps = AppSettingsHelper.GetContent("CyinOs", "CYOAHttps");
+        #endregion
+
     }
 }
diff --git a/CoreCms.Net.Configuration/GlobalConstVars.cs b/CoreCms.Net.Configuration/GlobalConstVars.cs
index 2033d4f..e432928 100644
--- a/CoreCms.Net.Configuration/GlobalConstVars.cs
+++ b/CoreCms.Net.Configuration/GlobalConstVars.cs
@@ -436,6 +436,16 @@
         /// </summary>
         public const string ActiveDistributionSendOderMQ = "ActiveDistributionSendOderMQ";
 
+        /// <summary>
+        /// 鎵嬫満閰嶉�佸崟鍦板潃鍧愭爣
+        /// </summary>
+        public const string CyDeliverOrderTarcks = "CyDeliverOrderTarcksMq";
+
+        /// <summary>
+        /// 璋冪敤OAAPI缁撶畻绋嬪簭
+        /// </summary>
+        public const string CyDeliverOAjisuanjine = "CyDeliverOAjisuanjine";
+
     }
 
     /// <summary>
diff --git a/CoreCms.Net.Core/Config/RedisMessageQueueSetup.cs b/CoreCms.Net.Core/Config/RedisMessageQueueSetup.cs
index 7a3e19c..7c52205 100644
--- a/CoreCms.Net.Core/Config/RedisMessageQueueSetup.cs
+++ b/CoreCms.Net.Core/Config/RedisMessageQueueSetup.cs
@@ -43,6 +43,7 @@
                     typeof(AliPayNoticeSubscribe),
                     typeof (DistributionAchievementMQ),
                      typeof(DistributionSendOderMQ),
+                     typeof(CyPlanOderMq)
                 };
                 //鏄剧ず鏃ュ織
                 m.ShowLog = false;
diff --git a/CoreCms.Net.Core/CoreCms.Net.Core.csproj b/CoreCms.Net.Core/CoreCms.Net.Core.csproj
index 7f1573c..6f8ff5c 100644
--- a/CoreCms.Net.Core/CoreCms.Net.Core.csproj
+++ b/CoreCms.Net.Core/CoreCms.Net.Core.csproj
@@ -25,7 +25,7 @@
     <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
     <PackageReference Include="Microsoft.OpenApi" Version="1.6.11" />
     <PackageReference Include="SqlSugar.IOC" Version="2.0.0" />
-    <PackageReference Include="sqlSugarCore" Version="5.1.4.129" />
+    <PackageReference Include="sqlSugarCore" Version="5.1.4.170" />
     <PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="7.0.12" />
   </ItemGroup>
 
diff --git a/CoreCms.Net.IServices/CYOAServices/DTO.cs b/CoreCms.Net.IServices/CYOAServices/DTO.cs
new file mode 100644
index 0000000..037f524
--- /dev/null
+++ b/CoreCms.Net.IServices/CYOAServices/DTO.cs
@@ -0,0 +1,459 @@
+锘縰sing EC_SeckillInfo;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+namespace CoreCms.Net.IServices.CYOAServices
+{
+    /// <summary>
+    /// 鍒楄〃dto
+    /// </summary>
+    public class CoreCmsPlanOrderListDto
+    {
+        /// <summary>
+        /// Desc:璁㈠崟鍙�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+
+        public int id { get; set; }
+
+        /// <summary>
+        /// Desc:鐪両d
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int shengId { get; set; }
+
+        /// <summary>
+        /// Desc:
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string sheng { get; set; }
+
+        /// <summary>
+        /// Desc:甯侷d
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int shiId { get; set; }
+
+        /// <summary>
+        /// Desc:甯�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shi { get; set; }
+
+        /// <summary>
+        /// Desc:鍖哄幙Id
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int quxianId { get; set; }
+
+        /// <summary>
+        /// Desc:鍖哄幙鍚嶇О
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string quxian { get; set; }
+
+        /// <summary>
+        /// Desc:鐗囧尯
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string pianqu { get; set; }
+
+
+        /// <summary>
+        /// Desc:瀛︽牎
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shipAddress { get; set; }
+
+    }
+
+    /// <summary>
+    /// 瀛︽牎璁㈠崟璇︽儏
+    /// </summary>
+    public class CoreCmsPlanOrderInfoDto()
+    {
+        /// <summary>
+        /// Desc:璁㈠崟鍙�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+
+        public int id { get; set; }
+
+        /// <summary>
+        /// Desc:鐪両d
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int shengId { get; set; }
+
+        /// <summary>
+        /// Desc:
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string sheng { get; set; }
+
+        /// <summary>
+        /// Desc:甯侷d
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int shiId { get; set; }
+
+        /// <summary>
+        /// Desc:甯�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shi { get; set; }
+
+        /// <summary>
+        /// Desc:鍖哄幙Id
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int quxianId { get; set; }
+
+        /// <summary>
+        /// Desc:鍖哄幙鍚嶇О
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string quxian { get; set; }
+
+        /// <summary>
+        /// Desc:鐗囧尯
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string pianqu { get; set; }
+
+        /// <summary>
+        /// Desc:璋冩暣璁㈠崟閲戦
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public decimal orderAmount { get; set; }
+
+        /// <summary>
+        /// Desc:璁㈠崟鐘舵��
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int status { get; set; }
+
+        /// <summary>
+        /// Desc:鐢ㄦ埛ID 鍏宠仈user.mobile
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string userMobile { get; set; }
+
+        /// <summary>
+        /// Desc:瀛︽牎
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shipAddress { get; set; }
+
+        /// <summary>
+        /// Desc:鑱旂郴浜�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shipName { get; set; }
+
+        /// <summary>
+        /// Desc:鏀惰揣鐢佃瘽
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shipMobile { get; set; }
+
+        /// <summary>
+        /// Desc:鏀惰揣鍦板潃
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shouhuoAddress { get; set; }
+
+        /// <summary>
+        /// Desc:璁″垝璁㈠崟閲戦
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public decimal oldOrderAmount { get; set; }
+
+        /// <summary>
+        /// Desc:鍙敤浣欓
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public decimal keYongAmount { get; set; }
+
+        /// <summary>
+        /// Desc:宸茶姳璐归噾棰�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public decimal huaFeiAmount { get; set; }
+
+        /// <summary>
+        /// Desc:寤虹珛鏃堕棿
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public DateTime? createTime { get; set; }
+
+
+
+        /// <summary>
+        /// Desc:鍒涘缓浜�
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public string createBy { get; set; }
+
+        /// <summary>
+        /// Desc:淇敼浜�
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public string upDataBy { get; set; }
+
+        /// <summary>
+        /// Desc:鍒犻櫎鏍囧織
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public bool isdelete { get; set; }
+        /// <summary>
+        /// 棰勭害閰嶉�佹椂闂�
+        /// </summary>
+        public DateTime? DeliverDataTime { get; set; }
+        ///// <summary>
+        ///// Desc:
+        ///// Default:
+        ///// Nullable:True
+        ///// </summary>           
+        //public int? orderkeyid { get; set; }
+        /// <summary>
+        /// 璁㈠崟璐у搧璇︽儏
+        /// </summary>
+        public List<CoreCmsPlanOrderItem> items { get; set; }
+        /// <summary>
+        /// 娲鹃�佸崟鍒楄〃
+        /// </summary>
+        public List<CoreDeliverOrder> DeliverOrderItems { get; set; }
+        /// <summary>
+        /// 鏈�鏂� 閰嶉�佸崟ID
+        /// </summary>
+        public Guid? DeliveryOderID { get; set; }
+
+        /// <summary>
+        /// 璁㈠崟璇存槑
+        /// </summary>
+        public string DeliverRemark { get; set; }
+    }
+    /// <summary>
+    ///  瀛︽牎璁㈠崟璇︽儏
+    /// </summary>
+    public class CoreCmsPlanOrderItemDto()
+    {
+        /// <summary>
+        /// id
+        /// </summary>
+        public int id { get; set; }
+        /// <summary>
+        /// Desc:鍟嗗搧鍚嶇О
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string name { get; set; }
+        /// <summary>
+        /// Desc:鍟嗗搧瑙勬牸
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string specification { get; set; }
+        /// <summary>
+        /// Desc:璐у搧浠锋牸鍗曚环
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public decimal price { get; set; }
+
+        /// <summary>
+        /// Desc:鏁伴噺
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int nums { get; set; }
+
+        /// <summary>
+        /// Desc:鎬讳环
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public decimal amount { get; set; }
+
+        /// <summary>
+        /// Desc:鏄惁鍘熷璁㈠崟
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public bool isOld { get; set; }
+
+        /// <summary>
+        /// 鏈�佹暟閲�
+        /// </summary>
+        public int? unDeliveredCount { get; set; }
+        /// <summary>
+        /// 閫佽揣鏁伴噺
+        /// </summary>
+        public int? DeliveredCount { get; set; }
+        /// <summary>
+        /// 鑺傜害鏁伴噺
+        /// </summary>
+        public int? LessNumber { get; set; } = 0;
+        /// <summary>
+        /// 鏈閫佺殑鏁伴噺
+        /// </summary>
+        public int? Number { get; set; }
+
+    }
+
+    /// <summary>
+    /// 璁㈠崟DTO
+    /// </summary>
+    public class DeliveryOrderDto
+    {
+
+        /// <summary>
+        /// Desc:Id
+        /// Default:
+        /// Nullable:False
+        /// </summary>          
+
+        public Guid? id { get; set; }
+
+        /// <summary>
+        /// Desc:
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int OrderId { get; set; }
+
+        /// <summary>
+        /// Desc:閫佽揣鍛樻墜鏈哄彿 鍞竴鏍囪瘑 鍙告満鎵嬫満鍙风爜
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string DeliveryMoble { get; set; }
+
+        /// <summary>
+        /// Desc:閰嶉�佺姸鎬�
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public CoreDeliverOrderType? OrderState { get; set; } = CoreDeliverOrderType.Start;
+
+        /// <summary>
+        /// 浣滀笟鏈厤閫佽〃
+        /// </summary>
+
+        public List<CoreCmsPlanOrderItemDto> items { get; set; }
+        /// <summary>
+        /// 杞ㄨ抗琛�
+        /// </summary>
+
+        public List<CoreDeliveryOrderTracks>? tracks { get; set; }
+
+        /// <summary>
+        /// 棰勭害鏃堕棿
+        /// </summary>
+        public DateTime? MakeTime { get; set; }
+
+        /// <summary>
+        /// 鎵�灞� 璁㈠崟
+        /// </summary>
+        public CoreCmsPlanOrderInfoDto? PlanOrdInfo { get; set; }
+
+
+     
+
+
+
+
+
+    }
+
+ 
+
+    /// <summary>
+    /// 璁剧疆閫佽揣璇存槑
+    /// </summary>
+    public class SetDeliveryDataDto
+    {
+        /// <summary>
+        /// 閫佽揣鏃堕棿
+        /// </summary>
+        public DateTime? MakeTime { get; set; }
+        /// <summary>
+        /// 閫佽揣璇存槑
+        /// </summary>
+       public string  DeliverRemark { get; set; }
+
+        /// <summary>
+        /// 瀛︽牎璁㈠崟ID
+        /// </summary>
+        public int PlanOrderId { get; set; }
+    }
+
+    /// <summary>
+    /// 璁剧疆鍧愭爣
+    /// </summary>
+    public class TracksDto
+    {
+  
+
+        /// <summary>
+        /// Desc:绮惧害
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string Latitude { get; set; }
+
+        /// <summary>
+        /// Desc:绾害
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string Longitude { get; set; }
+
+        /// <summary>
+        /// Desc:鍒涘缓鏃堕棿
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public DateTime CreateTime { get; set; }
+
+        /// <summary>
+        /// 鎵嬫満鍙�
+        /// </summary>
+        public string Moble {  get; set; }
+
+
+
+    }
+}
diff --git a/CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs b/CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs
new file mode 100644
index 0000000..2f5fb9c
--- /dev/null
+++ b/CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs
@@ -0,0 +1,173 @@
+锘縰sing CoreCms.Net.Model.FromBody;
+using CoreCms.Net.Model.ViewModels.UI;
+using EC_SeckillInfo;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CoreCms.Net.IServices.CYOAServices
+{
+    public interface ICyinOAService
+    {
+        /// <summary>
+        /// 鏄惁鏄鏍℃柟
+        /// </summary>
+        /// <returns></returns>
+        public  Task<bool> IsSchooler();
+       
+
+        /// <summary>
+        /// 鏄惁鏄徃鏈�
+        /// </summary>
+        /// <returns></returns>
+        public  Task<bool > IsDrive();
+
+        /// <summary>
+        /// 鏄惁鏄厤閫佺鐞嗗憳
+        /// </summary>
+        /// <returns></returns>
+        public Task<bool> IsDeliverManage();
+        #region 瀛︽牎閮ㄥ垎
+
+
+
+        /// <summary>
+        /// 鑾峰彇鍒楄〃
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> GetOderListOfSchool(FMPageByWhereOrder entity);
+        /// <summary>
+        /// 璁剧疆瀛︽牎绔殑鐨勬暟鎹�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> SetOderOfSchool(CoreCmsPlanOrderInfoDto planOrderInfoDto);
+
+        /// <summary>
+        /// 璁剧疆閰嶉�佽鍗�
+        /// </summary>
+        /// <param name="entity"> id 浼犻�佽鍗曠殑ID</param>
+        /// <returns>鑾峰彇鏈�杩戠殑閰嶉�佸崟</returns>
+        public Task<WebApiCallBack> GetDeliveryOrderInfoOfSchool(FMStringId entity);
+        /// <summary>
+        /// 璁剧疆閰嶉�佹椂闂村拰璇存槑
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public  Task<WebApiCallBack> SetDeliveryDataOfschool(SetDeliveryDataDto entity);
+
+        /// <summary>
+        /// 鑾峰彇鐗╂祦鍦板潃浣嶇疆淇℃伅
+        /// </summary>
+        /// <param name="entity"> id 閰嶉�佸崟ID</param>
+        /// <returns>鑾峰彇鏈�鏂扮殑閰嶉�佷綅缃�</returns>
+        public Task<WebApiCallBack> GetDeliveryTracksOfSchool(FMStringId entity);
+
+        /// <summary>
+        /// 鑾峰彇閫佽揣鍙告満鐨勭數璇濆彿鐮�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> GetDriverPhoneOfSchool(FMStringId entity);
+        /// <summary>
+        /// 鍙告満鍜屽鏍� 鑾峰彇璁㈠崟璇︽儏
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> GetOderInfo(FMIntId entity);
+        #endregion
+
+        #region 鍙告満閮ㄥ垎
+
+        /// <summary>
+        /// 鍙告満浠诲姟鍗曞垪琛�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> GetDeliverOderListOfDrver(FMPageByWhereOrder entity);
+        /// <summary>
+        /// 閫佽揣浠诲姟绠$悊
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> ManageDeliverOderListOfDrver(FMPageByWhereOrder entity);
+        /// <summary>
+        /// 娲鹃�佷换鍔″崟璇︽儏info
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> GetDeliverInfoOfDrver(FMStringId entity);
+
+
+        /// <summary>
+        /// 寮�濮嬮�佽揣
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> StartDeliverOrderOfDrver(FMStringId entity);
+
+        /// <summary>
+        /// 鏇存敼璁㈠崟
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> SetDeliverOrdeOfDrver(DeliveryOrderDto entity);
+
+
+        /// <summary>
+        /// 瀹屾垚閫佽揣鍗�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> FinishDeliverOrdeOfDrver(FMStringId entity);
+     
+
+        /// <summary>
+        /// 璁板綍鍧愭爣淇℃伅
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> SetTarcks(TracksDto entity);
+
+        #endregion
+
+
+        #region 閫佽揣绠$悊閮ㄥ垎
+        /// <summary>
+        /// 鑾峰彇閫佽揣绠$悊鏁版嵁
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> GetOderListOfDeliveryManage(FMPageByWhereOrder entity);
+        /// <summary>
+        /// 閫佽揣瀹夋帓  鏈畬鎴愯鍗曞叏閮ㄦ樉绀�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> GetSendDeliveryOderListOfDeliveryManage(FMPageByWhereOrder entity);
+        /// <summary>
+        /// 閫佽揣瀹夋帓
+        /// </summary>
+        /// <param name="entity"> 浼爋rderID</param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> GetDeliveryOderInfoOfDeliveryManage(FMIntId entity);
+
+        /// <summary>
+        /// 閫佽揣瀹夋帓
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public Task<WebApiCallBack> SetDeliveryOderOfDeliveryManage(DeliveryOrderDto entity);
+        #endregion
+
+
+        #region 鍏朵粬閮ㄥ垎
+        public Task<List<Sys_CitySite>> GetZoneList(Sys_CitySite? cyte);
+        public Task<List<Sys_CitySite>> GetZoneListALL();
+        #endregion
+
+    }
+}
diff --git a/CoreCms.Net.IServices/IApiService.cs b/CoreCms.Net.IServices/IApiService.cs
new file mode 100644
index 0000000..21eaaa3
--- /dev/null
+++ b/CoreCms.Net.IServices/IApiService.cs
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CoreCms.Net.IServices
+{
+    /// <summary>
+    /// api璇锋眰鎺ュ彛
+    /// </summary>
+    public interface IApiService
+    {
+        Task<T> GetAsync<T>(string endpoint);
+        Task PostAsync<T>(string endpoint, T data);
+        Task PutAsync<T>(string endpoint, T data);
+        Task DeleteAsync(string endpoint);
+    }
+}
diff --git a/CoreCms.Net.Model/CoreCms.Net.Model.csproj b/CoreCms.Net.Model/CoreCms.Net.Model.csproj
index 77d6464..469c6a1 100644
--- a/CoreCms.Net.Model/CoreCms.Net.Model.csproj
+++ b/CoreCms.Net.Model/CoreCms.Net.Model.csproj
@@ -8,7 +8,7 @@
 
   <ItemGroup>
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="2.36.0" />
-    <PackageReference Include="sqlSugarCore" Version="5.1.4.129" />
+    <PackageReference Include="sqlSugarCore" Version="5.1.4.170" />
   </ItemGroup>
 
   <ItemGroup>
@@ -19,10 +19,6 @@
     <None Update="CoreCms.Net.Model.xml">
       <CopyToOutputDirectory>Never</CopyToOutputDirectory>
     </None>
-  </ItemGroup>
-
-  <ItemGroup>
-    <Folder Include="CyinOAModel\" />
   </ItemGroup>
 
 </Project>
diff --git a/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs b/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs
new file mode 100644
index 0000000..a7c5fba
--- /dev/null
+++ b/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs
@@ -0,0 +1,249 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace EC_SeckillInfo
+{
+    ///<summary>
+    ///璁″垝璁㈠崟琛�
+    ///</summary>
+    [SugarTable("CoreCmsPlanOrder")]
+    public partial class CoreCmsPlanOrder
+    {
+        public CoreCmsPlanOrder()
+        {
+
+
+        }
+        /// <summary>
+        /// Desc:璁㈠崟鍙�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
+        public int id { get; set; }
+
+        /// <summary>
+        /// Desc:鐪両d
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int shengId { get; set; }
+
+        /// <summary>
+        /// Desc:
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string sheng { get; set; }
+
+        /// <summary>
+        /// Desc:甯侷d
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int shiId { get; set; }
+
+        /// <summary>
+        /// Desc:甯�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shi { get; set; }
+
+        /// <summary>
+        /// Desc:鍖哄幙Id
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int quxianId { get; set; }
+
+        /// <summary>
+        /// Desc:鍖哄幙鍚嶇О
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string quxian { get; set; }
+
+        /// <summary>
+        /// Desc:鐗囧尯
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string pianqu { get; set; }
+
+        /// <summary>
+        /// Desc:璋冩暣璁㈠崟閲戦
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public decimal orderAmount { get; set; }
+
+        /// <summary>
+        /// Desc:璁㈠崟鐘舵��
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int status { get; set; }
+
+        /// <summary>
+        /// Desc:鐢ㄦ埛ID 鍏宠仈user.mobile
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string userMobile { get; set; }
+
+        /// <summary>
+        /// Desc:瀛︽牎
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shipAddress { get; set; }
+
+        /// <summary>
+        /// Desc:鑱旂郴浜�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shipName { get; set; }
+
+        /// <summary>
+        /// Desc:鏀惰揣鐢佃瘽
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shipMobile { get; set; }
+
+        /// <summary>
+        /// Desc:鏀惰揣鍦板潃
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string shouhuoAddress { get; set; }
+
+        /// <summary>
+        /// Desc:璁″垝璁㈠崟閲戦
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public decimal oldOrderAmount { get; set; }
+
+        /// <summary>
+        /// Desc:鍙敤浣欓
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public decimal keYongAmount { get; set; }
+
+        /// <summary>
+        /// Desc:宸茶姳璐归噾棰�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public decimal huaFeiAmount { get; set; }
+
+        /// <summary>
+        /// Desc:寤虹珛鏃堕棿
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public DateTime? createTime { get; set; }
+
+        /// <summary>
+        /// Desc:淇敼鏃堕棿
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public DateTime? upDataTime { get; set; }
+
+        /// <summary>
+        /// Desc:鍒涘缓浜�
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public string createBy { get; set; }
+
+        /// <summary>
+        /// Desc:淇敼浜�
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public string upDataBy { get; set; }
+
+        /// <summary>
+        /// Desc:鍒犻櫎鏍囧織
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public bool isdelete { get; set; }
+
+        /// <summary>
+        /// Desc:
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public int? orderkeyid { get; set; }
+       
+        /// <summary>
+        /// 閰嶉�佺姸鎬�
+        /// </summary>        
+        public DeliverStateType DeliverState { get; set; } = DeliverStateType.NoDelivery;
+
+        /// <summary>
+        /// 浣滀笟鏈垪琛�
+        /// </summary>
+        [Navigate(NavigateType.OneToMany, nameof(CoreCmsPlanOrderItem.orderId))]
+        public List<CoreCmsPlanOrderItem> items { get; set; }
+        /// <summary>
+        /// 閫佽揣鍗�
+        /// </summary>
+        [SugarColumn(IsIgnore =true)]
+        public CoreDeliverOrder? deliverOrder { get; set; }
+        /// <summary>
+        /// 鏈�鏂版湭瀹屾垚鐨勯厤閫佸崟ID
+        /// </summary>
+        [SugarColumn(IsIgnore = true)]
+        public Guid? IngDeliverOrderID { get; set; }
+
+        /// <summary>
+        /// 閫佽揣鏃堕棿瀹夋帓
+        /// </summary>
+        [SugarColumn(IsIgnore = true)]
+        public DateTime? MakeTime { get; set; }
+        /// <summary>
+        /// 閫佽揣鍗曞垪琛�
+        /// </summary>
+        [Navigate(NavigateType.OneToMany, nameof(CoreDeliverOrder.OrderId))]
+        public List<CoreDeliverOrder> DeliverOrderItems { get; set; }
+        /// <summary>
+        /// 璁㈠崟璇存槑
+        /// </summary>
+        public string DeliverRemark {  get; set; }
+
+    }
+
+
+    /// <summary>
+    /// 璁㈠崟鐘舵��
+    /// </summary>
+    public enum DeliverStateType
+    {
+        /// <summary>
+        /// 鏈厤閫�
+        /// </summary>
+        NoDelivery,
+        /// <summary>
+        /// 閮ㄥ垎閰嶉��
+        /// </summary>
+        PartialDelivery,
+        /// <summary>
+        /// 瀹屾垚閰嶉��
+        /// </summary>
+        CompletedDelivery
+
+
+
+    }
+}
diff --git a/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs b/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs
new file mode 100644
index 0000000..c848267
--- /dev/null
+++ b/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs
@@ -0,0 +1,123 @@
+锘縰sing System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace EC_SeckillInfo
+{
+    ///<summary>
+    ///璁″垝璁㈠崟鏄庣粏琛�
+    ///</summary>
+    [SugarTable("CoreCmsPlanOrderItem")]
+    public partial class CoreCmsPlanOrderItem
+    {
+           public CoreCmsPlanOrderItem(){
+
+
+           }
+           /// <summary>
+           /// Desc:搴忓彿
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           [SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
+           public int id {get;set;}
+
+           /// <summary>
+           /// Desc:璁㈠崟ID 鍏宠仈order.id
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public int orderId {get;set;}
+
+           /// <summary>
+           /// Desc:鍟嗗搧鍚嶇О
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public string name {get;set;}
+
+           /// <summary>
+           /// Desc:鍟嗗搧瑙勬牸
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public string specification {get;set;}
+
+           /// <summary>
+           /// Desc:璐у搧浠锋牸鍗曚环
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public decimal price {get;set;}
+
+           /// <summary>
+           /// Desc:鏁伴噺
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public int nums {get;set;}
+
+           /// <summary>
+           /// Desc:鎬讳环
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public decimal amount {get;set;}
+
+           /// <summary>
+           /// Desc:鏄惁鍘熷璁㈠崟
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public bool isOld {get;set;}
+
+           /// <summary>
+           /// Desc:寤虹珛鏃堕棿
+           /// Default:
+           /// Nullable:True
+           /// </summary>           
+           public DateTime? createTime {get;set;}
+
+           /// <summary>
+           /// Desc:淇敼鏃堕棿
+           /// Default:
+           /// Nullable:True
+           /// </summary>           
+           public DateTime? upDataTime {get;set;}
+
+           /// <summary>
+           /// Desc:鍒涘缓浜�
+           /// Default:
+           /// Nullable:True
+           /// </summary>           
+           public string? createBy {get;set;}
+
+           /// <summary>
+           /// Desc:淇敼浜�
+           /// Default:
+           /// Nullable:True
+           /// </summary>           
+           public string? upDataBy {get;set;}
+
+           /// <summary>
+           /// Desc:鍒犻櫎鏍囧織
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public bool isdelete {get;set;}
+
+
+        /// <summary>
+        /// 鏈�佹暟閲�
+        /// </summary>
+        [SugarColumn(IsIgnore =true)]
+        public int? unDeliveredCount { get; set; }
+        /// <summary>
+        /// 閫佽揣鏁伴噺
+        /// </summary>
+        [SugarColumn(IsIgnore = true)]
+        public int? DeliveredCount { get; set; }
+
+    }
+}
diff --git a/CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs b/CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs
new file mode 100644
index 0000000..350db09
--- /dev/null
+++ b/CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs
@@ -0,0 +1,144 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace EC_SeckillInfo
+{
+    ///<summary>
+    ///
+    ///</summary>
+    [SugarTable("CoreDeliverOrder")]
+    public partial class CoreDeliverOrder
+    {
+           public CoreDeliverOrder(){
+
+
+           }
+           /// <summary>
+           /// Desc:Id
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           [SugarColumn(IsPrimaryKey=true)]
+           public Guid id {get;set;}
+
+           /// <summary>
+           /// Desc:
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public int OrderId {get;set;}
+
+           /// <summary>
+           /// Desc:閫佽揣鍛樻墜鏈哄彿 鍞竴鏍囪瘑 鍙告満鎵嬫満鍙风爜
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public string DeliveryMoble {get;set;}
+
+           /// <summary>
+           /// Desc:鍒涘缓鏃堕棿
+           /// Default:
+           /// Nullable:True
+           /// </summary>           
+           public DateTime? CreateTime {get;set;}
+
+           /// <summary>
+           /// Desc:鏈�鍚庢洿鏂版椂闂�
+           /// Default:
+           /// Nullable:True
+           /// </summary>           
+           public DateTime? UpdataTime {get;set;}
+
+           /// <summary>
+           /// Desc:鍒涘缓浜�
+           /// Default:
+           /// Nullable:True
+           /// </summary>           
+           public string? CreateBy {get;set;}
+
+           /// <summary>
+           /// Desc:鏈�鍚庢洿鏂颁汉
+           /// Default:
+           /// Nullable:True
+           /// </summary>           
+           public string? UpDataBy {get;set;}
+           ///杩欎釜闇�瑕佽幏鍙栧鏍¤仈绯讳汉 鍜岃仈绯荤數璇�
+           ///// <summary>
+           ///// Desc:鑱旂郴浜�
+           ///// Default:
+           ///// Nullable:True
+           ///// </summary>           
+           //public string? ContactName {get;set;}
+
+           ///// <summary>
+           ///// Desc:鑱旂郴鐢佃瘽
+           ///// Default:
+           ///// Nullable:True
+           ///// </summary>           
+           //public string? ContactPhone {get;set;}
+
+           /// <summary>
+           /// Desc:閰嶉�佺姸鎬�
+           /// Default:
+           /// Nullable:True
+           /// </summary>           
+           public CoreDeliverOrderType OrderState {get;set;} = CoreDeliverOrderType.Start;
+
+        /// <summary>
+        /// 浣滀笟鏈厤閫佽〃
+        /// </summary>
+        [Navigate(NavigateType.OneToMany, nameof(CoreDeliverOrderItem.OrderID))]
+        public List<CoreDeliverOrderItem> items { get;set;}
+        /// <summary>
+        /// 杞ㄨ抗琛�
+        /// </summary>
+        [Navigate(NavigateType.OneToMany, nameof(CoreDeliveryOrderTracks.OrderID))]
+        public List<CoreDeliverOrderItem> tracks { get; set; }
+
+
+        /// <summary>
+        /// 杞ㄨ抗琛�
+        /// </summary>
+        [Navigate(NavigateType.OneToOne, nameof(OrderId))]
+        public  CoreCmsPlanOrder Oreder { get; set; }
+        /// <summary>
+        /// 棰勭害鏃堕棿
+        /// </summary>
+        public DateTime? MakeTime { get;set;}
+
+        /// <summary>
+        /// 棰勭害鏃堕棿
+        /// </summary>
+        public DateTime? StartTime { get; set; }
+        /// <summary>
+        /// 缁撴潫鏃堕棿
+        /// </summary>
+        public DateTime? OverTime { get; set; }
+    }
+    /// <summary>
+    /// 閰嶉�佸崟鐘舵��
+    /// </summary>
+    public enum CoreDeliverOrderType
+    {
+        /// <summary>
+        /// 鏈紑濮嬶紝宸茬粡棰勭害  寤虹珛灏辫〃绀洪绾�
+        /// </summary>
+        UnStart,
+        /// <summary>
+        /// 寮�濮�
+        /// </summary>
+        Start,
+        /// <summary>
+        /// 瀹屾垚
+        /// </summary>
+        Completed,
+        /// <summary>
+        /// 澶辫触鍙栨秷
+        /// </summary>
+        Faile
+
+    }
+}
diff --git a/CoreCms.Net.Model/CyinOAModel/CoreDeliverOrderItem.cs b/CoreCms.Net.Model/CyinOAModel/CoreDeliverOrderItem.cs
new file mode 100644
index 0000000..24d344c
--- /dev/null
+++ b/CoreCms.Net.Model/CyinOAModel/CoreDeliverOrderItem.cs
@@ -0,0 +1,91 @@
+锘縰sing System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace EC_SeckillInfo
+{
+    ///<summary>
+    ///
+    ///</summary>
+    [SugarTable("CoreDeliverOrderItem")]
+    public partial class CoreDeliverOrderItem
+    {
+        public CoreDeliverOrderItem()
+        {
+
+
+        }
+        /// <summary>
+        /// Desc:
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        [SugarColumn(IsPrimaryKey = true)]
+        public Guid id { get; set; }
+
+        /// <summary>
+        /// Desc:閰嶉�佸崟ID
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public Guid OrderID { get; set; }
+
+        /// <summary>
+        /// Desc:浣滀笟鏈悕绉�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string ZYBName { get; set; }
+
+        /// <summary>
+        /// Desc:浣滀笟鏈紑鏈�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public string ZYBSpecification { get; set; }
+
+        /// <summary>
+        /// Desc:閰嶉�佹暟閲�
+        /// Default:
+        /// Nullable:False
+        /// </summary>           
+        public int Number { get; set; }
+
+        /// <summary>
+        /// Desc:
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public string? CreateBy { get; set; }
+
+        /// <summary>
+        /// Desc:
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public string? UpDataBy { get; set; }
+
+        /// <summary>
+        /// Desc:
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public DateTime? CreateTime { get; set; }
+
+        /// <summary>
+        /// Desc:
+        /// Default:
+        /// Nullable:True
+        /// </summary>           
+        public DateTime? UpdataTime { get; set; }
+        /// <summary>
+        /// 鑺傜害鏁伴噺
+        /// </summary>
+        public int LessNumber { get; set; } = 0;
+
+
+         
+
+    }
+}
diff --git a/CoreCms.Net.Model/CyinOAModel/CoreDeliveryOrderTracks.cs b/CoreCms.Net.Model/CyinOAModel/CoreDeliveryOrderTracks.cs
new file mode 100644
index 0000000..d26f94a
--- /dev/null
+++ b/CoreCms.Net.Model/CyinOAModel/CoreDeliveryOrderTracks.cs
@@ -0,0 +1,62 @@
+锘縰sing System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace EC_SeckillInfo
+{
+    ///<summary>
+    ///
+    ///</summary>
+    [SugarTable("CoreDeliveryOrderTracks")]
+    public partial class CoreDeliveryOrderTracks
+    {
+           public CoreDeliveryOrderTracks(){
+
+
+           }
+           /// <summary>
+           /// Desc:
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           [SugarColumn(IsPrimaryKey=true)]
+           public Guid id {get;set;}
+
+           /// <summary>
+           /// Desc:绮惧害
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public string Latitude {get;set;}
+
+           /// <summary>
+           /// Desc:绾害
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public string Longitude {get;set;}
+
+           /// <summary>
+           /// Desc:鍒涘缓鏃堕棿
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public DateTime CreateTime {get;set;}
+
+           /// <summary>
+           /// Desc:鍒涘缓浜�
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public string CreateBy {get;set;}
+
+           /// <summary>
+           /// Desc:鎵�灞為厤閫佸崟ID
+           /// Default:
+           /// Nullable:False
+           /// </summary>           
+           public Guid OrderID {get;set;}
+
+    }
+}
diff --git a/CoreCms.Net.Model/CyinOAModel/OA_Staff.cs b/CoreCms.Net.Model/CyinOAModel/OA_Staff.cs
index acb4ad2..99b5e51 100644
--- a/CoreCms.Net.Model/CyinOAModel/OA_Staff.cs
+++ b/CoreCms.Net.Model/CyinOAModel/OA_Staff.cs
@@ -457,5 +457,16 @@
            /// </summary>           
            public decimal? SM_SocialSecuritySelfMoney {get;set;}
 
+
+        /// <summary>
+        ///  鏄惁鏄徃鏈�
+        /// </summary>
+        public bool BF_IsDriver { get; set; } = false;
+
+        /// <summary>
+        ///  鏄惁鏄厤閫佺鐞嗗憳
+        /// </summary>
+        public bool BF_IsDeliverManage { get; set; } = false;
+
     }
 }
diff --git a/CoreCms.Net.Model/CyinOAModel/Sys_CitySite.cs b/CoreCms.Net.Model/CyinOAModel/Sys_CitySite.cs
index a879db0..438d953 100644
--- a/CoreCms.Net.Model/CyinOAModel/Sys_CitySite.cs
+++ b/CoreCms.Net.Model/CyinOAModel/Sys_CitySite.cs
@@ -21,7 +21,7 @@
            /// Nullable:False
            /// </summary>           
            [SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
-           public int Keyid {get;set;}
+           public int? Keyid {get;set;}
 
            /// <summary>
            /// Desc:
diff --git a/CoreCms.Net.Model/bin/Debug/net8.0/CoreCms.Net.Model.deps.json b/CoreCms.Net.Model/bin/Debug/net8.0/CoreCms.Net.Model.deps.json
index dcf7faf..6c5070f 100644
--- a/CoreCms.Net.Model/bin/Debug/net8.0/CoreCms.Net.Model.deps.json
+++ b/CoreCms.Net.Model/bin/Debug/net8.0/CoreCms.Net.Model.deps.json
@@ -10,10 +10,45 @@
         "dependencies": {
           "Chuanyin.Attribute": "1.0.0",
           "SKIT.FlurlHttpClient.Wechat.Api": "2.36.0",
-          "SqlSugarCore": "5.1.4.129"
+          "SqlSugarCore": "5.1.4.170"
         },
         "runtime": {
           "CoreCms.Net.Model.dll": {}
+        }
+      },
+      "Azure.Core/1.38.0": {
+        "dependencies": {
+          "Microsoft.Bcl.AsyncInterfaces": "1.1.1",
+          "System.ClientModel": "1.0.0",
+          "System.Diagnostics.DiagnosticSource": "6.0.1",
+          "System.Memory.Data": "1.0.2",
+          "System.Numerics.Vectors": "4.5.0",
+          "System.Text.Encodings.Web": "6.0.0",
+          "System.Text.Json": "6.0.7",
+          "System.Threading.Tasks.Extensions": "4.5.4"
+        },
+        "runtime": {
+          "lib/net6.0/Azure.Core.dll": {
+            "assemblyVersion": "1.38.0.0",
+            "fileVersion": "1.3800.24.12602"
+          }
+        }
+      },
+      "Azure.Identity/1.11.4": {
+        "dependencies": {
+          "Azure.Core": "1.38.0",
+          "Microsoft.Identity.Client": "4.61.3",
+          "Microsoft.Identity.Client.Extensions.Msal": "4.61.3",
+          "System.Memory": "4.5.4",
+          "System.Security.Cryptography.ProtectedData": "8.0.0",
+          "System.Text.Json": "6.0.7",
+          "System.Threading.Tasks.Extensions": "4.5.4"
+        },
+        "runtime": {
+          "lib/netstandard2.0/Azure.Identity.dll": {
+            "assemblyVersion": "1.11.4.0",
+            "fileVersion": "1.1100.424.31005"
+          }
         }
       },
       "Flurl/3.0.6": {
@@ -37,152 +72,222 @@
           }
         }
       },
-      "Microsoft.CSharp/4.5.0": {},
-      "Microsoft.Data.SqlClient/2.1.4": {
-        "dependencies": {
-          "Microsoft.Data.SqlClient.SNI.runtime": "2.1.1",
-          "Microsoft.Identity.Client": "4.21.1",
-          "Microsoft.IdentityModel.JsonWebTokens": "6.8.0",
-          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.8.0",
-          "Microsoft.Win32.Registry": "4.7.0",
-          "System.Configuration.ConfigurationManager": "6.0.0",
-          "System.Diagnostics.DiagnosticSource": "4.7.0",
-          "System.Runtime.Caching": "4.7.0",
-          "System.Security.Principal.Windows": "4.7.0",
-          "System.Text.Encoding.CodePages": "5.0.0"
-        },
+      "Microsoft.Bcl.AsyncInterfaces/1.1.1": {
         "runtime": {
-          "lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": {
-            "assemblyVersion": "2.0.20168.4",
-            "fileVersion": "2.0.20168.4"
-          }
-        },
-        "runtimeTargets": {
-          "runtimes/unix/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": {
-            "rid": "unix",
-            "assetType": "runtime",
-            "assemblyVersion": "2.0.20168.4",
-            "fileVersion": "2.0.20168.4"
-          },
-          "runtimes/win/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": {
-            "rid": "win",
-            "assetType": "runtime",
-            "assemblyVersion": "2.0.20168.4",
-            "fileVersion": "2.0.20168.4"
+          "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "4.700.20.21406"
           }
         }
       },
-      "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": {
+      "Microsoft.CSharp/4.5.0": {},
+      "Microsoft.Data.SqlClient/5.2.2": {
+        "dependencies": {
+          "Azure.Identity": "1.11.4",
+          "Microsoft.Data.SqlClient.SNI.runtime": "5.2.0",
+          "Microsoft.Identity.Client": "4.61.3",
+          "Microsoft.IdentityModel.JsonWebTokens": "6.35.0",
+          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.35.0",
+          "Microsoft.SqlServer.Server": "1.0.0",
+          "System.Configuration.ConfigurationManager": "8.0.0",
+          "System.Runtime.Caching": "8.0.0"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Data.SqlClient.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.22.24240.6"
+          }
+        },
+        "resources": {
+          "lib/net8.0/de/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "de"
+          },
+          "lib/net8.0/es/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "es"
+          },
+          "lib/net8.0/fr/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "fr"
+          },
+          "lib/net8.0/it/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "it"
+          },
+          "lib/net8.0/ja/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "ja"
+          },
+          "lib/net8.0/ko/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "ko"
+          },
+          "lib/net8.0/pt-BR/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "pt-BR"
+          },
+          "lib/net8.0/ru/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "ru"
+          },
+          "lib/net8.0/zh-Hans/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "zh-Hans"
+          },
+          "lib/net8.0/zh-Hant/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "zh-Hant"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/unix/lib/net8.0/Microsoft.Data.SqlClient.dll": {
+            "rid": "unix",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.22.24240.6"
+          },
+          "runtimes/win/lib/net8.0/Microsoft.Data.SqlClient.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.22.24240.6"
+          }
+        }
+      },
+      "Microsoft.Data.SqlClient.SNI.runtime/5.2.0": {
         "runtimeTargets": {
           "runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll": {
             "rid": "win-arm",
             "assetType": "native",
-            "fileVersion": "2.1.1.0"
+            "fileVersion": "5.2.0.0"
           },
           "runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": {
             "rid": "win-arm64",
             "assetType": "native",
-            "fileVersion": "2.1.1.0"
+            "fileVersion": "5.2.0.0"
           },
           "runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": {
             "rid": "win-x64",
             "assetType": "native",
-            "fileVersion": "2.1.1.0"
+            "fileVersion": "5.2.0.0"
           },
           "runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": {
             "rid": "win-x86",
             "assetType": "native",
-            "fileVersion": "2.1.1.0"
+            "fileVersion": "5.2.0.0"
           }
         }
       },
-      "Microsoft.Data.Sqlite/8.0.0": {
+      "Microsoft.Data.Sqlite/8.0.1": {
         "dependencies": {
-          "Microsoft.Data.Sqlite.Core": "8.0.0",
+          "Microsoft.Data.Sqlite.Core": "8.0.1",
           "SQLitePCLRaw.bundle_e_sqlite3": "2.1.6"
         }
       },
-      "Microsoft.Data.Sqlite.Core/8.0.0": {
+      "Microsoft.Data.Sqlite.Core/8.0.1": {
         "dependencies": {
           "SQLitePCLRaw.core": "2.1.6"
         },
         "runtime": {
           "lib/net8.0/Microsoft.Data.Sqlite.dll": {
-            "assemblyVersion": "8.0.0.0",
-            "fileVersion": "8.0.23.53103"
+            "assemblyVersion": "8.0.1.0",
+            "fileVersion": "8.0.123.58002"
           }
         }
       },
-      "Microsoft.Identity.Client/4.21.1": {
-        "runtime": {
-          "lib/netcoreapp2.1/Microsoft.Identity.Client.dll": {
-            "assemblyVersion": "4.21.1.0",
-            "fileVersion": "4.21.1.0"
-          }
-        }
-      },
-      "Microsoft.IdentityModel.JsonWebTokens/6.8.0": {
+      "Microsoft.Identity.Client/4.61.3": {
         "dependencies": {
-          "Microsoft.IdentityModel.Tokens": "6.8.0"
+          "Microsoft.IdentityModel.Abstractions": "6.35.0",
+          "System.Diagnostics.DiagnosticSource": "6.0.1"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
+          "lib/net6.0/Microsoft.Identity.Client.dll": {
+            "assemblyVersion": "4.61.3.0",
+            "fileVersion": "4.61.3.0"
           }
         }
       },
-      "Microsoft.IdentityModel.Logging/6.8.0": {
-        "runtime": {
-          "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
-          }
-        }
-      },
-      "Microsoft.IdentityModel.Protocols/6.8.0": {
+      "Microsoft.Identity.Client.Extensions.Msal/4.61.3": {
         "dependencies": {
-          "Microsoft.IdentityModel.Logging": "6.8.0",
-          "Microsoft.IdentityModel.Tokens": "6.8.0"
+          "Microsoft.Identity.Client": "4.61.3",
+          "System.Security.Cryptography.ProtectedData": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
+          "lib/net6.0/Microsoft.Identity.Client.Extensions.Msal.dll": {
+            "assemblyVersion": "4.61.3.0",
+            "fileVersion": "4.61.3.0"
           }
         }
       },
-      "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": {
+      "Microsoft.IdentityModel.Abstractions/6.35.0": {
+        "runtime": {
+          "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.JsonWebTokens/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Protocols": "6.8.0",
-          "System.IdentityModel.Tokens.Jwt": "6.8.0"
+          "Microsoft.IdentityModel.Tokens": "6.35.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encodings.Web": "6.0.0",
+          "System.Text.Json": "6.0.7"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
+          "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.Tokens/6.8.0": {
+      "Microsoft.IdentityModel.Logging/6.35.0": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Abstractions": "6.35.0"
+        },
+        "runtime": {
+          "lib/net6.0/Microsoft.IdentityModel.Logging.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Protocols/6.35.0": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Logging": "6.35.0",
+          "Microsoft.IdentityModel.Tokens": "6.35.0"
+        },
+        "runtime": {
+          "lib/net6.0/Microsoft.IdentityModel.Protocols.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.35.0": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Protocols": "6.35.0",
+          "System.IdentityModel.Tokens.Jwt": "6.35.0"
+        },
+        "runtime": {
+          "lib/net6.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Tokens/6.35.0": {
         "dependencies": {
           "Microsoft.CSharp": "4.5.0",
-          "Microsoft.IdentityModel.Logging": "6.8.0",
+          "Microsoft.IdentityModel.Logging": "6.35.0",
           "System.Security.Cryptography.Cng": "4.5.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
+          "lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
       "Microsoft.NETCore.Platforms/5.0.0": {},
-      "Microsoft.NETCore.Targets/1.1.0": {},
-      "Microsoft.Win32.Registry/4.7.0": {
-        "dependencies": {
-          "System.Security.AccessControl": "6.0.0",
-          "System.Security.Principal.Windows": "4.7.0"
+      "Microsoft.NETCore.Targets/1.1.3": {},
+      "Microsoft.SqlServer.Server/1.0.0": {
+        "runtime": {
+          "lib/netstandard2.0/Microsoft.SqlServer.Server.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.0.0"
+          }
         }
       },
       "Microsoft.Win32.SystemEvents/6.0.0": {
@@ -217,14 +322,14 @@
           }
         }
       },
-      "Npgsql/5.0.7": {
+      "Npgsql/5.0.18": {
         "dependencies": {
           "System.Runtime.CompilerServices.Unsafe": "6.0.0"
         },
         "runtime": {
           "lib/net5.0/Npgsql.dll": {
-            "assemblyVersion": "5.0.7.0",
-            "fileVersion": "5.0.7.0"
+            "assemblyVersion": "5.0.18.0",
+            "fileVersion": "5.0.18.0"
           }
         }
       },
@@ -238,6 +343,17 @@
           "lib/netstandard2.1/Oracle.ManagedDataAccess.dll": {
             "assemblyVersion": "3.1.21.1",
             "fileVersion": "3.1.21.1"
+          }
+        }
+      },
+      "Oscar.Data.SqlClient/4.0.4": {
+        "dependencies": {
+          "System.Text.Encoding.CodePages": "5.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/Oscar.Data.SqlClient.dll": {
+            "assemblyVersion": "4.0.4.0",
+            "fileVersion": "4.0.4.0"
           }
         }
       },
@@ -281,7 +397,7 @@
       },
       "SQLitePCLRaw.core/2.1.6": {
         "dependencies": {
-          "System.Memory": "4.5.3"
+          "System.Memory": "4.5.4"
         },
         "runtime": {
           "lib/netstandard2.0/SQLitePCLRaw.core.dll": {
@@ -405,61 +521,75 @@
           }
         }
       },
-      "SqlSugarCore/5.1.4.129": {
+      "SqlSugarCore/5.1.4.170": {
         "dependencies": {
-          "Microsoft.Data.SqlClient": "2.1.4",
-          "Microsoft.Data.Sqlite": "8.0.0",
+          "Microsoft.Data.SqlClient": "5.2.2",
+          "Microsoft.Data.Sqlite": "8.0.1",
           "MySqlConnector": "2.2.5",
           "Newtonsoft.Json": "13.0.2",
-          "Npgsql": "5.0.7",
+          "Npgsql": "5.0.18",
           "Oracle.ManagedDataAccess.Core": "3.21.100",
-          "SqlSugarCore.Dm": "1.2.0",
-          "SqlSugarCore.Kdbndp": "7.4.0",
+          "Oscar.Data.SqlClient": "4.0.4",
+          "SqlSugarCore.Dm": "8.6.0",
+          "SqlSugarCore.Kdbndp": "9.3.6.925",
           "System.Data.Common": "4.3.0",
-          "System.Reflection.Emit.Lightweight": "4.3.0"
+          "System.Reflection.Emit.Lightweight": "4.3.0",
+          "System.Text.RegularExpressions": "4.3.1"
         },
         "runtime": {
           "lib/netstandard2.1/SqlSugar.dll": {
-            "assemblyVersion": "5.1.4.129",
-            "fileVersion": "5.1.4.129"
+            "assemblyVersion": "5.1.4.170",
+            "fileVersion": "5.1.4.170"
           }
         }
       },
-      "SqlSugarCore.Dm/1.2.0": {
+      "SqlSugarCore.Dm/8.6.0": {
         "dependencies": {
           "System.Text.Encoding.CodePages": "5.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/DmProvider.dll": {
-            "assemblyVersion": "1.1.0.0",
-            "fileVersion": "1.1.0.16649"
+          "lib/netstandard2.0/DM.DmProvider.dll": {
+            "assemblyVersion": "8.3.1.27409",
+            "fileVersion": "8.3.1.27409"
           }
         }
       },
-      "SqlSugarCore.Kdbndp/7.4.0": {
+      "SqlSugarCore.Kdbndp/9.3.6.925": {
         "runtime": {
           "lib/netstandard2.1/Kdbndp.dll": {
-            "assemblyVersion": "8.3.712.0",
-            "fileVersion": "8.3.712.0"
+            "assemblyVersion": "9.3.6.801",
+            "fileVersion": "9.3.6.925"
+          }
+        }
+      },
+      "System.ClientModel/1.0.0": {
+        "dependencies": {
+          "System.Memory.Data": "1.0.2",
+          "System.Text.Json": "6.0.7"
+        },
+        "runtime": {
+          "lib/net6.0/System.ClientModel.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.24.5302"
           }
         }
       },
       "System.Collections/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
-      "System.Configuration.ConfigurationManager/6.0.0": {
+      "System.Configuration.ConfigurationManager/8.0.0": {
         "dependencies": {
-          "System.Security.Cryptography.ProtectedData": "6.0.0",
-          "System.Security.Permissions": "6.0.0"
+          "System.Diagnostics.EventLog": "8.0.0",
+          "System.Security.Cryptography.ProtectedData": "8.0.0"
         },
         "runtime": {
-          "lib/net6.0/System.Configuration.ConfigurationManager.dll": {
-            "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.21.52210"
+          "lib/net8.0/System.Configuration.ConfigurationManager.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -469,16 +599,42 @@
           "System.Globalization": "4.3.0",
           "System.IO": "4.3.0",
           "System.Resources.ResourceManager": "4.3.0",
-          "System.Runtime": "4.3.0",
+          "System.Runtime": "4.3.1",
           "System.Runtime.Extensions": "4.3.0",
-          "System.Text.RegularExpressions": "4.3.0",
+          "System.Text.RegularExpressions": "4.3.1",
           "System.Threading.Tasks": "4.3.0"
         }
       },
-      "System.Diagnostics.DiagnosticSource/4.7.0": {},
+      "System.Diagnostics.DiagnosticSource/6.0.1": {
+        "dependencies": {
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+        }
+      },
+      "System.Diagnostics.EventLog/8.0.0": {
+        "runtime": {
+          "lib/net8.0/System.Diagnostics.EventLog.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "0.0.0.0"
+          },
+          "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
+          }
+        }
+      },
       "System.Diagnostics.PerformanceCounter/6.0.1": {
         "dependencies": {
-          "System.Configuration.ConfigurationManager": "6.0.0"
+          "System.Configuration.ConfigurationManager": "8.0.0"
         },
         "runtime": {
           "lib/net6.0/System.Diagnostics.PerformanceCounter.dll": {
@@ -571,46 +727,59 @@
       "System.Globalization/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
-      "System.IdentityModel.Tokens.Jwt/6.8.0": {
+      "System.IdentityModel.Tokens.Jwt/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.JsonWebTokens": "6.8.0",
-          "Microsoft.IdentityModel.Tokens": "6.8.0"
+          "Microsoft.IdentityModel.JsonWebTokens": "6.35.0",
+          "Microsoft.IdentityModel.Tokens": "6.35.0"
         },
         "runtime": {
-          "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
+          "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
       "System.IO/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0",
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1",
           "System.Text.Encoding": "4.3.0",
           "System.Threading.Tasks": "4.3.0"
         }
       },
-      "System.Memory/4.5.3": {},
+      "System.Memory/4.5.4": {},
+      "System.Memory.Data/1.0.2": {
+        "dependencies": {
+          "System.Text.Encodings.Web": "6.0.0",
+          "System.Text.Json": "6.0.7"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Memory.Data.dll": {
+            "assemblyVersion": "1.0.2.0",
+            "fileVersion": "1.0.221.20802"
+          }
+        }
+      },
+      "System.Numerics.Vectors/4.5.0": {},
       "System.Reflection/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.1.3",
           "System.IO": "4.3.0",
           "System.Reflection.Primitives": "4.3.0",
-          "System.Runtime": "4.3.0"
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Reflection.Emit.ILGeneration/4.3.0": {
         "dependencies": {
           "System.Reflection": "4.3.0",
           "System.Reflection.Primitives": "4.3.0",
-          "System.Runtime": "4.3.0"
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Reflection.Emit.Lightweight/4.3.0": {
@@ -618,47 +787,47 @@
           "System.Reflection": "4.3.0",
           "System.Reflection.Emit.ILGeneration": "4.3.0",
           "System.Reflection.Primitives": "4.3.0",
-          "System.Runtime": "4.3.0"
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Reflection.Primitives/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Resources.ResourceManager/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.1.3",
           "System.Globalization": "4.3.0",
           "System.Reflection": "4.3.0",
-          "System.Runtime": "4.3.0"
+          "System.Runtime": "4.3.1"
         }
       },
-      "System.Runtime/4.3.0": {
+      "System.Runtime/4.3.1": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0"
+          "Microsoft.NETCore.Targets": "1.1.3"
         }
       },
-      "System.Runtime.Caching/4.7.0": {
+      "System.Runtime.Caching/8.0.0": {
         "dependencies": {
-          "System.Configuration.ConfigurationManager": "6.0.0"
+          "System.Configuration.ConfigurationManager": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/System.Runtime.Caching.dll": {
-            "assemblyVersion": "4.0.1.0",
-            "fileVersion": "4.700.19.56404"
+          "lib/net8.0/System.Runtime.Caching.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         },
         "runtimeTargets": {
-          "runtimes/win/lib/netstandard2.0/System.Runtime.Caching.dll": {
+          "runtimes/win/lib/net8.0/System.Runtime.Caching.dll": {
             "rid": "win",
             "assetType": "runtime",
-            "assemblyVersion": "4.0.1.0",
-            "fileVersion": "4.700.19.56404"
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -666,25 +835,17 @@
       "System.Runtime.Extensions/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Security.AccessControl/6.0.0": {},
       "System.Security.Cryptography.Cng/4.5.0": {},
-      "System.Security.Cryptography.ProtectedData/6.0.0": {
+      "System.Security.Cryptography.ProtectedData/8.0.0": {
         "runtime": {
-          "lib/net6.0/System.Security.Cryptography.ProtectedData.dll": {
-            "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.21.52210"
-          }
-        },
-        "runtimeTargets": {
-          "runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll": {
-            "rid": "win",
-            "assetType": "runtime",
-            "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.21.52210"
+          "lib/net8.0/System.Security.Cryptography.ProtectedData.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -700,12 +861,11 @@
           }
         }
       },
-      "System.Security.Principal.Windows/4.7.0": {},
       "System.Text.Encoding/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Text.Encoding.CodePages/5.0.0": {
@@ -724,18 +884,19 @@
           "System.Text.Encodings.Web": "6.0.0"
         }
       },
-      "System.Text.RegularExpressions/4.3.0": {
+      "System.Text.RegularExpressions/4.3.1": {
         "dependencies": {
-          "System.Runtime": "4.3.0"
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Threading.Tasks/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
+      "System.Threading.Tasks.Extensions/4.5.4": {},
       "System.Windows.Extensions/6.0.0": {
         "dependencies": {
           "System.Drawing.Common": "6.0.0"
@@ -757,7 +918,10 @@
       },
       "Chuanyin.Attribute/1.0.0": {
         "runtime": {
-          "Chuanyin.Attribute.dll": {}
+          "Chuanyin.Attribute.dll": {
+            "assemblyVersion": "1.0.0",
+            "fileVersion": "1.0.0.0"
+          }
         }
       }
     }
@@ -767,6 +931,20 @@
       "type": "project",
       "serviceable": false,
       "sha512": ""
+    },
+    "Azure.Core/1.38.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IuEgCoVA0ef7E4pQtpC3+TkPbzaoQfa77HlfJDmfuaJUCVJmn7fT0izamZiryW5sYUFKizsftIxMkXKbgIcPMQ==",
+      "path": "azure.core/1.38.0",
+      "hashPath": "azure.core.1.38.0.nupkg.sha512"
+    },
+    "Azure.Identity/1.11.4": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Sf4BoE6Q3jTgFkgBkx7qztYOFELBCo+wQgpYDwal/qJ1unBH73ywPztIJKXBXORRzAeNijsuxhk94h0TIMvfYg==",
+      "path": "azure.identity/1.11.4",
+      "hashPath": "azure.identity.1.11.4.nupkg.sha512"
     },
     "Flurl/3.0.6": {
       "type": "package",
@@ -782,6 +960,13 @@
       "path": "flurl.http/3.2.4",
       "hashPath": "flurl.http.3.2.4.nupkg.sha512"
     },
+    "Microsoft.Bcl.AsyncInterfaces/1.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==",
+      "path": "microsoft.bcl.asyncinterfaces/1.1.1",
+      "hashPath": "microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512"
+    },
     "Microsoft.CSharp/4.5.0": {
       "type": "package",
       "serviceable": true,
@@ -789,75 +974,89 @@
       "path": "microsoft.csharp/4.5.0",
       "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512"
     },
-    "Microsoft.Data.SqlClient/2.1.4": {
+    "Microsoft.Data.SqlClient/5.2.2": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-cDcKBTKILdRuAzJjbgXwGcUQXzMue+SG02kD4tZTXXfoz4ALrGLpCnA5k9khw3fnAMlMnRzLIGuvRdJurqmESA==",
-      "path": "microsoft.data.sqlclient/2.1.4",
-      "hashPath": "microsoft.data.sqlclient.2.1.4.nupkg.sha512"
+      "sha512": "sha512-mtoeRMh7F/OA536c/Cnh8L4H0uLSKB5kSmoi54oN7Fp0hNJDy22IqyMhaMH4PkDCqI7xL//Fvg9ldtuPHG0h5g==",
+      "path": "microsoft.data.sqlclient/5.2.2",
+      "hashPath": "microsoft.data.sqlclient.5.2.2.nupkg.sha512"
     },
-    "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": {
+    "Microsoft.Data.SqlClient.SNI.runtime/5.2.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-JwGDWkyZgm7SATJmFLfT2G4teimvNbNtq3lsS9a5DzvhEZnQrZjZhevCU0vdx8MjheLHoG5vocuO03QtioFQxQ==",
-      "path": "microsoft.data.sqlclient.sni.runtime/2.1.1",
-      "hashPath": "microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512"
+      "sha512": "sha512-po1jhvFd+8pbfvJR/puh+fkHi0GRanAdvayh/0e47yaM6CXWZ6opUjCMFuYlAnD2LcbyvQE7fPJKvogmaUcN+w==",
+      "path": "microsoft.data.sqlclient.sni.runtime/5.2.0",
+      "hashPath": "microsoft.data.sqlclient.sni.runtime.5.2.0.nupkg.sha512"
     },
-    "Microsoft.Data.Sqlite/8.0.0": {
+    "Microsoft.Data.Sqlite/8.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-H+iC5IvkCCKSNHXzL3JARvDn7VpkvuJM91KVB89sKjeTF/KX/BocNNh93ZJtX5MCQKb/z4yVKgkU2sVIq+xKfg==",
-      "path": "microsoft.data.sqlite/8.0.0",
-      "hashPath": "microsoft.data.sqlite.8.0.0.nupkg.sha512"
+      "sha512": "sha512-+7uDWNYZmLrVq9eABAKwy1phGbpoFVohKCUoh/nGg9WiBwi856EkAJYFiQhTJWoXxzpInkLFj/6KACoSB7ODYg==",
+      "path": "microsoft.data.sqlite/8.0.1",
+      "hashPath": "microsoft.data.sqlite.8.0.1.nupkg.sha512"
     },
-    "Microsoft.Data.Sqlite.Core/8.0.0": {
+    "Microsoft.Data.Sqlite.Core/8.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-pujbzfszX7jAl7oTbHhqx7pxd9jibeyHHl8zy1gd55XMaKWjDtc5XhhNYwQnrwWYCInNdVoArbaaAvLgW7TwuA==",
-      "path": "microsoft.data.sqlite.core/8.0.0",
-      "hashPath": "microsoft.data.sqlite.core.8.0.0.nupkg.sha512"
+      "sha512": "sha512-s8C8xbwMb79EqzTaIhwiBrYtbv6ATnUW19pJed4fKVgN5K4VPQ7JUGqBLztknvD6EJIMKrfRnINGTjnZghrDGw==",
+      "path": "microsoft.data.sqlite.core/8.0.1",
+      "hashPath": "microsoft.data.sqlite.core.8.0.1.nupkg.sha512"
     },
-    "Microsoft.Identity.Client/4.21.1": {
+    "Microsoft.Identity.Client/4.61.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-vycgk7S/HAbHaUaK4Tid1fsWHsXdFRRP2KavAIOHCVV27zvuQfYAjXmMvctuuF4egydSumG58CwPZob3gWeYgQ==",
-      "path": "microsoft.identity.client/4.21.1",
-      "hashPath": "microsoft.identity.client.4.21.1.nupkg.sha512"
+      "sha512": "sha512-naJo/Qm35Caaoxp5utcw+R8eU8ZtLz2ALh8S+gkekOYQ1oazfCQMWVT4NJ/FnHzdIJlm8dMz0oMpMGCabx5odA==",
+      "path": "microsoft.identity.client/4.61.3",
+      "hashPath": "microsoft.identity.client.4.61.3.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.JsonWebTokens/6.8.0": {
+    "Microsoft.Identity.Client.Extensions.Msal/4.61.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-+7JIww64PkMt7NWFxoe4Y/joeF7TAtA/fQ0b2GFGcagzB59sKkTt/sMZWR6aSZht5YC7SdHi3W6yM1yylRGJCQ==",
-      "path": "microsoft.identitymodel.jsonwebtokens/6.8.0",
-      "hashPath": "microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512"
+      "sha512": "sha512-PWnJcznrSGr25MN8ajlc2XIDW4zCFu0U6FkpaNLEWLgd1NgFCp5uDY3mqLDgM8zCN8hqj8yo5wHYfLB2HjcdGw==",
+      "path": "microsoft.identity.client.extensions.msal/4.61.3",
+      "hashPath": "microsoft.identity.client.extensions.msal.4.61.3.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Logging/6.8.0": {
+    "Microsoft.IdentityModel.Abstractions/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-Rfh/p4MaN4gkmhPxwbu8IjrmoDncGfHHPh1sTnc0AcM/Oc39/fzC9doKNWvUAjzFb8LqA6lgZyblTrIsX/wDXg==",
-      "path": "microsoft.identitymodel.logging/6.8.0",
-      "hashPath": "microsoft.identitymodel.logging.6.8.0.nupkg.sha512"
+      "sha512": "sha512-xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==",
+      "path": "microsoft.identitymodel.abstractions/6.35.0",
+      "hashPath": "microsoft.identitymodel.abstractions.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Protocols/6.8.0": {
+    "Microsoft.IdentityModel.JsonWebTokens/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-OJZx5nPdiH+MEkwCkbJrTAUiO/YzLe0VSswNlDxJsJD9bhOIdXHufh650pfm59YH1DNevp3/bXzukKrG57gA1w==",
-      "path": "microsoft.identitymodel.protocols/6.8.0",
-      "hashPath": "microsoft.identitymodel.protocols.6.8.0.nupkg.sha512"
+      "sha512": "sha512-9wxai3hKgZUb4/NjdRKfQd0QJvtXKDlvmGMYACbEC8DFaicMFCFhQFZq9ZET1kJLwZahf2lfY5Gtcpsx8zYzbg==",
+      "path": "microsoft.identitymodel.jsonwebtokens/6.35.0",
+      "hashPath": "microsoft.identitymodel.jsonwebtokens.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": {
+    "Microsoft.IdentityModel.Logging/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-X/PiV5l3nYYsodtrNMrNQIVlDmHpjQQ5w48E+o/D5H4es2+4niEyQf3l03chvZGWNzBRhfSstaXr25/Ye4AeYw==",
-      "path": "microsoft.identitymodel.protocols.openidconnect/6.8.0",
-      "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512"
+      "sha512": "sha512-jePrSfGAmqT81JDCNSY+fxVWoGuJKt9e6eJ+vT7+quVS55nWl//jGjUQn4eFtVKt4rt5dXaleZdHRB9J9AJZ7Q==",
+      "path": "microsoft.identitymodel.logging/6.35.0",
+      "hashPath": "microsoft.identitymodel.logging.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Tokens/6.8.0": {
+    "Microsoft.IdentityModel.Protocols/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-gTqzsGcmD13HgtNePPcuVHZ/NXWmyV+InJgalW/FhWpII1D7V1k0obIseGlWMeA4G+tZfeGMfXr0klnWbMR/mQ==",
-      "path": "microsoft.identitymodel.tokens/6.8.0",
-      "hashPath": "microsoft.identitymodel.tokens.6.8.0.nupkg.sha512"
+      "sha512": "sha512-BPQhlDzdFvv1PzaUxNSk+VEPwezlDEVADIKmyxubw7IiELK18uJ06RQ9QKKkds30XI+gDu9n8j24XQ8w7fjWcg==",
+      "path": "microsoft.identitymodel.protocols/6.35.0",
+      "hashPath": "microsoft.identitymodel.protocols.6.35.0.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.35.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LMtVqnECCCdSmyFoCOxIE5tXQqkOLrvGrL7OxHg41DIm1bpWtaCdGyVcTAfOQpJXvzND9zUKIN/lhngPkYR8vg==",
+      "path": "microsoft.identitymodel.protocols.openidconnect/6.35.0",
+      "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.35.0.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.Tokens/6.35.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-RN7lvp7s3Boucg1NaNAbqDbxtlLj5Qeb+4uSS1TeK5FSBVM40P4DKaTKChT43sHyKfh7V0zkrMph6DdHvyA4bg==",
+      "path": "microsoft.identitymodel.tokens/6.35.0",
+      "hashPath": "microsoft.identitymodel.tokens.6.35.0.nupkg.sha512"
     },
     "Microsoft.NETCore.Platforms/5.0.0": {
       "type": "package",
@@ -866,19 +1065,19 @@
       "path": "microsoft.netcore.platforms/5.0.0",
       "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512"
     },
-    "Microsoft.NETCore.Targets/1.1.0": {
+    "Microsoft.NETCore.Targets/1.1.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==",
-      "path": "microsoft.netcore.targets/1.1.0",
-      "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512"
+      "sha512": "sha512-3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==",
+      "path": "microsoft.netcore.targets/1.1.3",
+      "hashPath": "microsoft.netcore.targets.1.1.3.nupkg.sha512"
     },
-    "Microsoft.Win32.Registry/4.7.0": {
+    "Microsoft.SqlServer.Server/1.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-KSrRMb5vNi0CWSGG1++id2ZOs/1QhRqROt+qgbEAdQuGjGrFcl4AOl4/exGPUYz2wUnU42nvJqon1T3U0kPXLA==",
-      "path": "microsoft.win32.registry/4.7.0",
-      "hashPath": "microsoft.win32.registry.4.7.0.nupkg.sha512"
+      "sha512": "sha512-N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug==",
+      "path": "microsoft.sqlserver.server/1.0.0",
+      "hashPath": "microsoft.sqlserver.server.1.0.0.nupkg.sha512"
     },
     "Microsoft.Win32.SystemEvents/6.0.0": {
       "type": "package",
@@ -901,12 +1100,12 @@
       "path": "newtonsoft.json/13.0.2",
       "hashPath": "newtonsoft.json.13.0.2.nupkg.sha512"
     },
-    "Npgsql/5.0.7": {
+    "Npgsql/5.0.18": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-EQWwxb2lN9w78YG4f6Fxhw5lFEx4LuaNGasXzw86kTOJxiPsUORSh/BTencNZJO4uVqGZx3EO9Z8JXTAvRjgeg==",
-      "path": "npgsql/5.0.7",
-      "hashPath": "npgsql.5.0.7.nupkg.sha512"
+      "sha512": "sha512-1u4iCPKL9wtPeSUzChIbgq/BlOhvf44o7xASacdpMY7z0PbqACKpNOF0fjEn9jDV/AJl/HtPY6zk5qasQ1URhw==",
+      "path": "npgsql/5.0.18",
+      "hashPath": "npgsql.5.0.18.nupkg.sha512"
     },
     "Oracle.ManagedDataAccess.Core/3.21.100": {
       "type": "package",
@@ -914,6 +1113,13 @@
       "sha512": "sha512-nsqyUE+v246WB0SOnR1u9lfZxYoNcdj1fRjTt7TOhCN0JurEc6+qu+mMe+dl1sySB2UpyWdfqHG1iSQJYaXEfA==",
       "path": "oracle.manageddataaccess.core/3.21.100",
       "hashPath": "oracle.manageddataaccess.core.3.21.100.nupkg.sha512"
+    },
+    "Oscar.Data.SqlClient/4.0.4": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VJ3xVvRjxrPi/mMPT5EqYiMZor0MjFu83mw1qvUveBFWJSudGh9BOKZq7RkhqeNCcL1ud0uK0/TVkw+xTa4q4g==",
+      "path": "oscar.data.sqlclient/4.0.4",
+      "hashPath": "oscar.data.sqlclient.4.0.4.nupkg.sha512"
     },
     "SKIT.FlurlHttpClient.Common/2.6.0": {
       "type": "package",
@@ -957,26 +1163,33 @@
       "path": "sqlitepclraw.provider.e_sqlite3/2.1.6",
       "hashPath": "sqlitepclraw.provider.e_sqlite3.2.1.6.nupkg.sha512"
     },
-    "SqlSugarCore/5.1.4.129": {
+    "SqlSugarCore/5.1.4.170": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-Mc7WK7WHVeG+v+IQ74ETxxu8FOG5gFU9js6Aaf5PS0e0RH/D3YZ8YoSxYr0MUvR2MsbhX0so+4pIJCvfYfXZ9w==",
-      "path": "sqlsugarcore/5.1.4.129",
-      "hashPath": "sqlsugarcore.5.1.4.129.nupkg.sha512"
+      "sha512": "sha512-TVFfkbKak2I1VxUI8nqAUbn9rkt37m13ooq30pLK/bj9MZvV0hPbVElTn09Jg5PmfzFwXeXaQnay7IXwkODAtw==",
+      "path": "sqlsugarcore/5.1.4.170",
+      "hashPath": "sqlsugarcore.5.1.4.170.nupkg.sha512"
     },
-    "SqlSugarCore.Dm/1.2.0": {
+    "SqlSugarCore.Dm/8.6.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-JFhgCGfCMvI0/u7WdsSzK4D7ptZl1RXP8Q7KwSGpBndgUXlfnnmCfwJaz4f89XxalRLLk1h/x0RAuUei98/CmA==",
-      "path": "sqlsugarcore.dm/1.2.0",
-      "hashPath": "sqlsugarcore.dm.1.2.0.nupkg.sha512"
+      "sha512": "sha512-Q0NAjF9hvkxLbNedIrCqKd3uru0enzZ49GaQtenvsLDQ29aHwlSqg1mRkVYxZ/85UYJFgXh+XHqABSrMgun4aw==",
+      "path": "sqlsugarcore.dm/8.6.0",
+      "hashPath": "sqlsugarcore.dm.8.6.0.nupkg.sha512"
     },
-    "SqlSugarCore.Kdbndp/7.4.0": {
+    "SqlSugarCore.Kdbndp/9.3.6.925": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-cHqgzvPz65v6pkO61oZM2pcPKY0KXvZo2EEAbZFHmyl5X7suxzpTOz/b6DvXjmRlcHxTRKGav2wwmStqTiUacg==",
-      "path": "sqlsugarcore.kdbndp/7.4.0",
-      "hashPath": "sqlsugarcore.kdbndp.7.4.0.nupkg.sha512"
+      "sha512": "sha512-Qq1BAYi83aySpL6WHPLtIa0Pbh2TjFh5GYmAw9rxB4W7j6L3NKN3skaNxBbWw0Hn8y+bvCjnM0bejPK6i8Jihg==",
+      "path": "sqlsugarcore.kdbndp/9.3.6.925",
+      "hashPath": "sqlsugarcore.kdbndp.9.3.6.925.nupkg.sha512"
+    },
+    "System.ClientModel/1.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-I3CVkvxeqFYjIVEP59DnjbeoGNfo/+SZrCLpRz2v/g0gpCHaEMPtWSY0s9k/7jR1rAsLNg2z2u1JRB76tPjnIw==",
+      "path": "system.clientmodel/1.0.0",
+      "hashPath": "system.clientmodel.1.0.0.nupkg.sha512"
     },
     "System.Collections/4.3.0": {
       "type": "package",
@@ -985,12 +1198,12 @@
       "path": "system.collections/4.3.0",
       "hashPath": "system.collections.4.3.0.nupkg.sha512"
     },
-    "System.Configuration.ConfigurationManager/6.0.0": {
+    "System.Configuration.ConfigurationManager/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-7T+m0kDSlIPTHIkPMIu6m6tV6qsMqJpvQWW2jIc2qi7sn40qxFo0q+7mEQAhMPXZHMKnWrnv47ntGlM/ejvw3g==",
-      "path": "system.configuration.configurationmanager/6.0.0",
-      "hashPath": "system.configuration.configurationmanager.6.0.0.nupkg.sha512"
+      "sha512": "sha512-JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==",
+      "path": "system.configuration.configurationmanager/8.0.0",
+      "hashPath": "system.configuration.configurationmanager.8.0.0.nupkg.sha512"
     },
     "System.Data.Common/4.3.0": {
       "type": "package",
@@ -999,12 +1212,19 @@
       "path": "system.data.common/4.3.0",
       "hashPath": "system.data.common.4.3.0.nupkg.sha512"
     },
-    "System.Diagnostics.DiagnosticSource/4.7.0": {
+    "System.Diagnostics.DiagnosticSource/6.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-oJjw3uFuVDJiJNbCD8HB4a2p3NYLdt1fiT5OGsPLw+WTOuG0KpP4OXelMmmVKpClueMsit6xOlzy4wNKQFiBLg==",
-      "path": "system.diagnostics.diagnosticsource/4.7.0",
-      "hashPath": "system.diagnostics.diagnosticsource.4.7.0.nupkg.sha512"
+      "sha512": "sha512-KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==",
+      "path": "system.diagnostics.diagnosticsource/6.0.1",
+      "hashPath": "system.diagnostics.diagnosticsource.6.0.1.nupkg.sha512"
+    },
+    "System.Diagnostics.EventLog/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==",
+      "path": "system.diagnostics.eventlog/8.0.0",
+      "hashPath": "system.diagnostics.eventlog.8.0.0.nupkg.sha512"
     },
     "System.Diagnostics.PerformanceCounter/6.0.1": {
       "type": "package",
@@ -1041,12 +1261,12 @@
       "path": "system.globalization/4.3.0",
       "hashPath": "system.globalization.4.3.0.nupkg.sha512"
     },
-    "System.IdentityModel.Tokens.Jwt/6.8.0": {
+    "System.IdentityModel.Tokens.Jwt/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-5tBCjAub2Bhd5qmcd0WhR5s354e4oLYa//kOWrkX+6/7ZbDDJjMTfwLSOiZ/MMpWdE4DWPLOfTLOq/juj9CKzA==",
-      "path": "system.identitymodel.tokens.jwt/6.8.0",
-      "hashPath": "system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512"
+      "sha512": "sha512-yxGIQd3BFK7F6S62/7RdZk3C/mfwyVxvh6ngd1VYMBmbJ1YZZA9+Ku6suylVtso0FjI0wbElpJ0d27CdsyLpBQ==",
+      "path": "system.identitymodel.tokens.jwt/6.35.0",
+      "hashPath": "system.identitymodel.tokens.jwt.6.35.0.nupkg.sha512"
     },
     "System.IO/4.3.0": {
       "type": "package",
@@ -1055,12 +1275,26 @@
       "path": "system.io/4.3.0",
       "hashPath": "system.io.4.3.0.nupkg.sha512"
     },
-    "System.Memory/4.5.3": {
+    "System.Memory/4.5.4": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
-      "path": "system.memory/4.5.3",
-      "hashPath": "system.memory.4.5.3.nupkg.sha512"
+      "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==",
+      "path": "system.memory/4.5.4",
+      "hashPath": "system.memory.4.5.4.nupkg.sha512"
+    },
+    "System.Memory.Data/1.0.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==",
+      "path": "system.memory.data/1.0.2",
+      "hashPath": "system.memory.data.1.0.2.nupkg.sha512"
+    },
+    "System.Numerics.Vectors/4.5.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==",
+      "path": "system.numerics.vectors/4.5.0",
+      "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512"
     },
     "System.Reflection/4.3.0": {
       "type": "package",
@@ -1097,19 +1331,19 @@
       "path": "system.resources.resourcemanager/4.3.0",
       "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512"
     },
-    "System.Runtime/4.3.0": {
+    "System.Runtime/4.3.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
-      "path": "system.runtime/4.3.0",
-      "hashPath": "system.runtime.4.3.0.nupkg.sha512"
+      "sha512": "sha512-abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==",
+      "path": "system.runtime/4.3.1",
+      "hashPath": "system.runtime.4.3.1.nupkg.sha512"
     },
-    "System.Runtime.Caching/4.7.0": {
+    "System.Runtime.Caching/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-NdvNRjTPxYvIEhXQszT9L9vJhdQoX6AQ0AlhjTU+5NqFQVuacJTfhPVAvtGWNA2OJCqRiR/okBcZgMwI6MqcZg==",
-      "path": "system.runtime.caching/4.7.0",
-      "hashPath": "system.runtime.caching.4.7.0.nupkg.sha512"
+      "sha512": "sha512-4TmlmvGp4kzZomm7J2HJn6IIx0UUrQyhBDyb5O1XiunZlQImXW+B8b7W/sTPcXhSf9rp5NR5aDtQllwbB5elOQ==",
+      "path": "system.runtime.caching/8.0.0",
+      "hashPath": "system.runtime.caching.8.0.0.nupkg.sha512"
     },
     "System.Runtime.CompilerServices.Unsafe/6.0.0": {
       "type": "package",
@@ -1139,12 +1373,12 @@
       "path": "system.security.cryptography.cng/4.5.0",
       "hashPath": "system.security.cryptography.cng.4.5.0.nupkg.sha512"
     },
-    "System.Security.Cryptography.ProtectedData/6.0.0": {
+    "System.Security.Cryptography.ProtectedData/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==",
-      "path": "system.security.cryptography.protecteddata/6.0.0",
-      "hashPath": "system.security.cryptography.protecteddata.6.0.0.nupkg.sha512"
+      "sha512": "sha512-+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==",
+      "path": "system.security.cryptography.protecteddata/8.0.0",
+      "hashPath": "system.security.cryptography.protecteddata.8.0.0.nupkg.sha512"
     },
     "System.Security.Permissions/6.0.0": {
       "type": "package",
@@ -1152,13 +1386,6 @@
       "sha512": "sha512-T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==",
       "path": "system.security.permissions/6.0.0",
       "hashPath": "system.security.permissions.6.0.0.nupkg.sha512"
-    },
-    "System.Security.Principal.Windows/4.7.0": {
-      "type": "package",
-      "serviceable": true,
-      "sha512": "sha512-ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ==",
-      "path": "system.security.principal.windows/4.7.0",
-      "hashPath": "system.security.principal.windows.4.7.0.nupkg.sha512"
     },
     "System.Text.Encoding/4.3.0": {
       "type": "package",
@@ -1188,12 +1415,12 @@
       "path": "system.text.json/6.0.7",
       "hashPath": "system.text.json.6.0.7.nupkg.sha512"
     },
-    "System.Text.RegularExpressions/4.3.0": {
+    "System.Text.RegularExpressions/4.3.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==",
-      "path": "system.text.regularexpressions/4.3.0",
-      "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512"
+      "sha512": "sha512-N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==",
+      "path": "system.text.regularexpressions/4.3.1",
+      "hashPath": "system.text.regularexpressions.4.3.1.nupkg.sha512"
     },
     "System.Threading.Tasks/4.3.0": {
       "type": "package",
@@ -1202,6 +1429,13 @@
       "path": "system.threading.tasks/4.3.0",
       "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512"
     },
+    "System.Threading.Tasks.Extensions/4.5.4": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
+      "path": "system.threading.tasks.extensions/4.5.4",
+      "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512"
+    },
     "System.Windows.Extensions/6.0.0": {
       "type": "package",
       "serviceable": true,
diff --git a/CoreCms.Net.RedisMQ/CyPlanOderMq.cs b/CoreCms.Net.RedisMQ/CyPlanOderMq.cs
new file mode 100644
index 0000000..388dc8c
--- /dev/null
+++ b/CoreCms.Net.RedisMQ/CyPlanOderMq.cs
@@ -0,0 +1,134 @@
+锘縰sing CoreCms.Net.Configuration;
+using CoreCms.Net.IRepository.UnitOfWork;
+using CoreCms.Net.IServices;
+using CoreCms.Net.IServices.CYOAServices;
+using CoreCms.Net.Loging;
+using EC_SeckillInfo;
+using Essensoft.Paylink.Alipay.Notify;
+using InitQ.Abstractions;
+using InitQ.Attributes;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using NPOI.HSSF.Record;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.Http;
+using System.Text;
+using System.Text.Json;
+using System.Threading.Tasks;
+
+namespace CoreCms.Net.RedisMQ
+{
+    public class CyPlanOderMq: IRedisSubscribe
+    {
+        private readonly ISqlSugarClient _CyDbClient;
+        private readonly IUnitOfWork _UnitOfWork;
+        private readonly IApiService _ApiService;
+      
+        public CyPlanOderMq(IUnitOfWork UnitOfWork,IApiService apiService)
+        {
+             _UnitOfWork = UnitOfWork;
+            _CyDbClient = UnitOfWork.GetDbClient().GetConnection(AppSettingsConstVars.CYDbDbID);
+            _ApiService = apiService;
+         
+        }
+        /// <summary>
+        /// 澶勭悊闃熷垪
+        /// </summary>
+        /// <param name="DeliverOrderTarcks"></param>
+        /// <returns></returns>
+        [Subscribe(RedisMessageQueueKey.CyDeliverOrderTarcks)]
+        private async Task Set(string DeliverOrderTarcks)
+        {
+            var notify = JsonConvert.DeserializeObject<TracksDto>(DeliverOrderTarcks);
+            if(notify != null)
+            {
+             var lisrId=   await  _CyDbClient.Queryable<CoreDeliverOrder>().Where(x => x.OrderState == CoreDeliverOrderType.Start&&x.DeliveryMoble== notify.Moble).Select(x=>x.id).ToListAsync();
+
+                if(lisrId != null&&lisrId.Count>0)
+                {
+                    var tarklist = new List< CoreDeliveryOrderTracks>();
+                    //闇�瑕佸啓鍏�
+                     foreach(var item in lisrId)
+                    {
+                        tarklist.Add(new CoreDeliveryOrderTracks
+                        {
+                            CreateBy = notify.Moble,
+                            CreateTime = notify.CreateTime,
+                            Latitude = notify.Latitude,
+                            Longitude = notify.Longitude,
+                            id= Guid.NewGuid(),
+                            OrderID=item,
+                        });
+                        
+                    }
+                   await  _CyDbClient.Insertable(tarklist).ExecuteCommandAsync();
+                }
+
+            }
+        }
+
+        /// <summary>
+        /// 璋冪敤璁$畻缁撲綑鎺ュ彛
+        /// </summary>
+        /// <param name="msgID"></param>
+        /// <returns></returns>
+        [Subscribe(RedisMessageQueueKey.CyDeliverOAjisuanjine)]
+        private async Task CyDeliverOAjisuanjine(string msgID)
+        {
+            // 鍒涘缓 HttpClient 瀹炰緥
+            using (var client = new HttpClient())
+            {
+                // 璁剧疆璇锋眰 URL
+                string url = $"{AppSettingsConstVars.CYOAHttps}/Pages/business/jisuanjine.aspx?tmp={new Random().Next()}&Target=jisuanorderJine&OrderId={msgID}";
+
+                // 璁剧疆璇锋眰澶�
+                client.DefaultRequestHeaders.Add("Cookie", "ASP.NET_SessionId=d2u3uyhydzml21wnlcir1dh0");
+
+                // 鍒涘缓 HTTP POST 璇锋眰
+                var request = new HttpRequestMessage(HttpMethod.Post, url);
+
+                // 鍙戦�佽姹傚苟鑾峰彇鍝嶅簲
+                using (var response = await client.SendAsync(request))
+                {
+                    // 纭繚璇锋眰鎴愬姛
+                    response.EnsureSuccessStatusCode();
+
+                    try
+                    {
+                        // 璇诲彇鍝嶅簲鍐呭
+                        string responseBody = await response.Content.ReadAsStringAsync();
+
+                        try
+                        {
+                            JObject jsonObject = JObject.Parse(responseBody.ToLower());
+                          
+                            if ("True" == (string)jsonObject["status"])
+                            {
+                                return;
+                            }
+                            else
+                            {
+                                NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.PcWeb, "璋冪敤CYOA鍚庡彴杩斿洖閿欒", JsonConvert.SerializeObject(new { url, responseBody }));
+                            }
+                        }
+                        catch (Exception e)
+                        {
+
+                            NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.PcWeb, "璋冪敤CYOA鍚庡彴杩斿洖閿欒", JsonConvert.SerializeObject(new { url, responseBody }));
+                        }
+                      
+                    }
+                    catch (Exception e)
+                    {
+
+                        NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.PcWeb, "璋冪敤CYOA鍚庡彴閾炬帴閿欒", JsonConvert.SerializeObject(new { url, e.Message, e.StackTrace }));
+                    }
+                  
+                }
+            }
+        }
+    }
+}
diff --git a/CoreCms.Net.Services/ApiService.cs b/CoreCms.Net.Services/ApiService.cs
new file mode 100644
index 0000000..11b3c76
--- /dev/null
+++ b/CoreCms.Net.Services/ApiService.cs
@@ -0,0 +1,49 @@
+锘縰sing CoreCms.Net.IServices;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.Http;
+using System.Text;
+using System.Text.Json;
+using System.Threading.Tasks;
+
+namespace CoreCms.Net.Services
+{
+    public class ApiService : IApiService
+    {
+        private readonly HttpClient _httpClient;
+
+        public ApiService(HttpClient httpClient)
+        {
+            _httpClient = httpClient;
+        }
+
+        public async Task<T> GetAsync<T>(string endpoint)
+        {
+            var response = await _httpClient.GetAsync(endpoint);
+            response.EnsureSuccessStatusCode();
+            var content = await response.Content.ReadAsStringAsync();
+            return JsonSerializer.Deserialize<T>(content);
+        }
+
+        public async Task PostAsync<T>(string endpoint, T data)
+        {
+            var content = new StringContent(JsonSerializer.Serialize(data), Encoding.UTF8, "application/json");
+            var response = await _httpClient.PostAsync(endpoint, content);
+            response.EnsureSuccessStatusCode();
+        }
+
+        public async Task PutAsync<T>(string endpoint, T data)
+        {
+            var content = new StringContent(JsonSerializer.Serialize(data), Encoding.UTF8, "application/json");
+            var response = await _httpClient.PutAsync(endpoint, content);
+            response.EnsureSuccessStatusCode();
+        }
+
+        public async Task DeleteAsync(string endpoint)
+        {
+            var response = await _httpClient.DeleteAsync(endpoint);
+            response.EnsureSuccessStatusCode();
+        }
+    }
+}
diff --git a/CoreCms.Net.Services/CYOAServices/CyinOAService.cs b/CoreCms.Net.Services/CYOAServices/CyinOAService.cs
new file mode 100644
index 0000000..09f18ef
--- /dev/null
+++ b/CoreCms.Net.Services/CYOAServices/CyinOAService.cs
@@ -0,0 +1,1804 @@
+锘縰sing CoreCms.Net.Auth.HttpContextUser;
+using CoreCms.Net.Caching.AutoMate.RedisCache;
+using CoreCms.Net.Configuration;
+using CoreCms.Net.DTO.WeChatShipping;
+using CoreCms.Net.IRepository.UnitOfWork;
+using CoreCms.Net.IServices;
+using CoreCms.Net.IServices.CYOAServices;
+using CoreCms.Net.Model.Entities.Expression;
+using CoreCms.Net.Model.FromBody;
+using CoreCms.Net.Model.ViewModels.UI;
+using CoreCms.Net.Utility.Extensions;
+using EC_SeckillInfo;
+using EnumsNET;
+using Essensoft.Paylink.Alipay.Domain;
+using Nest;
+using Newtonsoft.Json;
+using NPOI.SS.Formula.Functions;
+using SqlSugar;
+using SqlSugar.Extensions;
+using StackExchange.Redis;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinExpressDeliveryOpenMessageGetDeliveryListResponse.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinGetCurrentSelfMenuInfoResponse.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinQrcodeCreateRequest.Types.Action.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinTagsMembersGetBlackListResponse.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinUserInfoBatchGetRequest.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.ScanProductAddV2Request.Types.Product.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.SemanticSemproxySearchResponse.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.WxaServiceMarketServiceGetServiceBuyerListResponse.Types.Buyer.Types;
+
+namespace CoreCms.Net.Services.CYOAServices
+{
+    /// <summary>
+    /// 宸濆嵃鐩稿叧鏈嶅姟
+    /// </summary>
+    public class CyinOAService: ICyinOAService
+    {
+        /// <summary>
+        /// 鏄惁鏄徃鏈簁ey
+        /// </summary>
+        const string IsCYDbDbKey = "IsCYDbDbKey:";
+
+        /// <summary>
+        /// 鏄惁鎷ユ湁宸濆嵃鏁欒偛灞�璁㈠崟绠$悊
+        /// </summary>
+        const string IsSchoolID = "IsShoodsID:";
+
+        const string IsDeliverManageKey = "IsDeliverManageKey:";
+        private readonly ISqlSugarClient _CyDbClient;
+        private readonly IUnitOfWork _UnitOfWork;
+        private readonly IHttpContextUser _User;
+        private readonly ICoreCmsUserServices _coreCmsUserServices;
+        private readonly IRedisOperationRepository _redisOperationRepository;
+        private readonly string _UserMoble;
+        private string? _DriveName { get; set; }
+        
+       
+        public CyinOAService( IUnitOfWork unitOfWork,IHttpContextUser contextUser,ICoreCmsUserServices coreCmsUserServices,
+            IRedisOperationRepository redisOperationRepository,ICoreCmsUserServices coreCmsUser) {         
+           
+            _UnitOfWork = unitOfWork;
+            _CyDbClient = unitOfWork.GetDbClient().GetConnection(AppSettingsConstVars.CYDbDbID);
+            _User = contextUser;
+            _coreCmsUserServices = coreCmsUserServices;
+            _redisOperationRepository = redisOperationRepository;
+            _coreCmsUserServices= coreCmsUserServices;
+
+            _UserMoble = _coreCmsUserServices.QueryById(_User.ID).mobile??"娌℃湁鎵惧埌鐢ㄦ埛";
+        }
+
+       
+        /// <summary>
+        /// 鏄惁鏄鏍℃柟
+        /// </summary>
+        /// <returns></returns>
+        public async Task<bool > IsSchooler()
+        {
+           
+            if (_User?.ID == null)
+            {
+
+
+                throw new Exception("鐧诲綍淇℃伅閿欒锛岃閲嶆柊鐧诲綍");
+
+            }
+         
+
+            var user = _coreCmsUserServices.QueryById(_User.ID);
+            if (user == null)
+            {
+
+                throw new Exception("鐧诲綍淇℃伅閿欒锛岃閲嶆柊鐧诲綍");
+            }
+            var isdrive = await _redisOperationRepository.Get(IsSchoolID + user.mobile);
+            if (string.IsNullOrEmpty(isdrive))
+            {
+                //娌℃湁閿��
+           
+
+
+
+
+                var data = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(x => x.userMobile == user.mobile).FirstAsync();
+
+                if (data != null)
+                {
+                    isdrive = "true";
+                }
+                else
+                    isdrive = "false";
+                await _redisOperationRepository.StringSetAsync(IsSchoolID + user.mobile, isdrive, TimeSpan.FromMinutes(1));
+            }
+
+            //db.DbFirst.IsCreateAttribute().CreateClassFile("c:\\Demo\\5", "EC_SeckillInfo"); ;
+            //var data= db.Queryable<EC_PrizeInfo>().ToList();
+            //ret.data= data;
+            if (isdrive == "true")
+            {
+                return true;
+
+            }
+            else
+            {
+                return false;
+            }
+           
+        }
+        /// <summary>
+        /// 鏄惁鏄�佽揣绠$悊鍛�
+        /// </summary>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public async Task<bool> IsDeliverManage()
+        {
+            var ret = new WebApiCallBack();
+            if (_User?.ID == null)
+            {
+
+                throw new Exception("鐧诲綍淇℃伅閿欒锛岃閲嶆柊鐧诲綍");
+
+            }
+            var user = _coreCmsUserServices.QueryById(_User.ID);
+            if (user == null)
+            {
+
+                throw new Exception("鐧诲綍淇℃伅閿欒锛岃閲嶆柊鐧诲綍");
+            }
+            var isdrive = await _redisOperationRepository.Get(IsDeliverManageKey + user.mobile);
+            if (string.IsNullOrEmpty(isdrive))
+            {
+
+
+                var FirmIds = AppSettingsConstVars.CyOsFirmIds;
+                var firmidlist = FirmIds?.Split(",")?.Select(x => new Guid(x));
+
+
+                var data = await _CyDbClient.Queryable<OA_Staff>().Where(x => x.Status == "鍦ㄨ亴" && x.MobieNum == user.mobile && x.BF_IsDeliverManage == true).FirstAsync();
+
+                if (data != null)
+                {
+                    isdrive = "true";
+                }
+                else
+                    isdrive = "false";
+                await _redisOperationRepository.StringSetAsync(IsDeliverManageKey + user.mobile, isdrive, TimeSpan.FromMinutes(1));
+            }
+
+            //db.DbFirst.IsCreateAttribute().CreateClassFile("c:\\Demo\\5", "EC_SeckillInfo"); ;
+            //var data= db.Queryable<EC_PrizeInfo>().ToList();
+            //ret.data= data;
+            if (isdrive == "true")
+            {
+                return true;
+
+            }
+            else
+            {
+                return false;
+            }
+        }
+        /// <summary>
+        /// 鏄惁鏄徃鏈�
+        /// </summary>
+        /// <returns></returns>
+        public async Task<bool > IsDrive()
+        {
+            var ret = new WebApiCallBack();
+            if (_User?.ID == null)
+            {
+
+                throw new Exception("鐧诲綍淇℃伅閿欒锛岃閲嶆柊鐧诲綍");
+
+            }
+            var user = _coreCmsUserServices.QueryById(_User.ID);
+            if (user == null)
+            {
+
+                throw new Exception("鐧诲綍淇℃伅閿欒锛岃閲嶆柊鐧诲綍");
+            }
+            var isdrive = await _redisOperationRepository.Get(IsCYDbDbKey + user.mobile);
+            if (string.IsNullOrEmpty(isdrive))
+            {
+             
+
+                var FirmIds = AppSettingsConstVars.CyOsFirmIds;
+                var firmidlist = FirmIds?.Split(",")?.Select(x => new Guid(x));
+
+
+                var data = await _CyDbClient.Queryable<OA_Staff>().Where(x => x.Status == "鍦ㄨ亴" && x.MobieNum == user.mobile && x.BF_IsDriver==true).FirstAsync();
+
+                if (data != null)
+                {
+                    _DriveName = data.Name;
+                    isdrive = "true";
+                }
+                else
+                {
+                    _DriveName =null;
+                    isdrive = "false";
+                }
+
+                await _redisOperationRepository.StringSetAsync(IsCYDbDbKey + user.mobile, isdrive, TimeSpan.FromMinutes(1));
+            }
+
+            //db.DbFirst.IsCreateAttribute().CreateClassFile("c:\\Demo\\5", "EC_SeckillInfo"); ;
+            //var data= db.Queryable<EC_PrizeInfo>().ToList();
+            //ret.data= data;
+            if (isdrive == "true")
+            {
+           
+
+                return true;
+
+            }
+            else
+            {
+                return false;
+            }
+            
+
+        }
+        #region 瀛︽牎绔垪琛�
+        /// <summary>
+        /// 鑾峰彇瀛︽牎璐﹀彿绔殑School
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public async Task<WebApiCallBack> GetOderListOfSchool(FMPageByWhereOrder entity)
+        {
+
+            var rt = await IsSchooler();
+            if (rt == false)
+            {
+                throw new Exception("娌℃湁鏉冮檺璁块棶");
+            }
+            var user = await _coreCmsUserServices.QueryByIdAsync(_User.ID);
+            if (user == null)
+            {
+                throw new Exception("娌℃湁鏉冮檺璁块棶");
+            }
+
+            var where = PredicateBuilder.True<CoreCmsPlanOrder>();
+
+            if (!string.IsNullOrWhiteSpace(entity.where))
+            {
+                var obj = JsonConvert.DeserializeAnonymousType(entity.where, new
+                {
+                    quxianId = "",
+                    sheng = "",
+                    shi="",
+                    quxian="",
+                    pianqu = "",
+                    shipAddress = "",
+                    DeliverState = ""
+
+                });
+                if (!string.IsNullOrWhiteSpace(obj.sheng))
+                {
+                 
+
+                        where = where.And(p => p.sheng == obj.sheng);
+                    
+                }
+                if (!string.IsNullOrWhiteSpace(obj.shi))
+                {
+
+
+                    where = where.And(p => p.shi == obj.shi);
+
+                }
+                if (!string.IsNullOrWhiteSpace(obj.quxian))
+                {
+
+
+                    where = where.And(p => p.quxian == obj.quxian);
+
+                }
+
+                if (!string.IsNullOrWhiteSpace(obj.quxianId))
+                {
+                    var quxianId = obj.quxianId.ObjToInt(0);
+                    if (quxianId >= 0)
+                    {
+
+                        where = where.And(p => p.quxianId == quxianId);
+                    }
+                }
+
+                if (!string.IsNullOrWhiteSpace(obj.pianqu))
+                {
+                    var pianqu = obj.pianqu;
+
+
+                    where = where.And(p => pianqu.Contains(p.pianqu));
+
+                }
+                if (!string.IsNullOrWhiteSpace(obj.shipAddress))
+                {
+                    var shipAddress = obj.shipAddress;
+
+
+                    where = where.And(p => shipAddress.Contains(p.shipAddress));
+                }
+
+                if (!string.IsNullOrWhiteSpace(obj.DeliverState))
+                {
+
+                    if (Enum.TryParse(obj.DeliverState, out DeliverStateType result))
+                    {
+                        where = where.And(p => p.DeliverState == result);
+                    }
+
+
+
+                }
+
+               
+
+
+
+
+            }
+            where = where.And(p => user.mobile == p.userMobile);
+            where = where.And(n => n.isdelete == false);
+            RefAsync<int> totalNumbe = 0;
+
+            var list = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(where).OrderBy(p => p.quxianId).Select(p => new CoreCmsPlanOrderListDto(), true).ToPageListAsync(entity.page, entity.limit, totalNumbe);
+
+            //.QueryPageByDTOAsync(where, entity.page, entity.limit, true);
+            return new WebApiCallBack()
+            {
+                status = true,
+                data = new
+                {
+                    list,
+                    entity.page,
+                    totalNumbe,
+                    entity.limit,
+                    entity.where,
+
+                }
+
+            };
+
+
+
+
+        }
+        /// <summary>
+        /// 鑾峰彇璁㈠崟璇︽儏
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        public async Task<WebApiCallBack> GetOderInfo(FMIntId entity)
+        {
+            var rt = await IsSchooler();
+            var rtb = await IsDrive();
+            if (rt == false && rtb == false)
+            {
+                throw new Exception("娌℃湁鏉冮檺璁块棶");
+            }
+
+
+            var list = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x=>x.items)
+                .Includes(x=>x.DeliverOrderItems,o=>o.items)
+                .Where(x => x.id == entity.id)
+          .Mapper(x=>
+            {
+
+              
+                x.deliverOrder = x.DeliverOrderItems.OrderByDescending(de=>de.CreateTime).FirstOrDefault();
+            }).FirstAsync();
+
+            var countList = await CountLessCount(list.DeliverOrderItems);
+
+            foreach (var item in list.items)
+            {
+
+                item.DeliveredCount = countList.Where(x => x.name == item.name && x.Specification == item.specification).Select(x => x.OverCount).FirstOrDefault(0);
+                if (item.nums - item.DeliveredCount > 0)
+                    item.unDeliveredCount = item.nums - item.DeliveredCount;
+                else
+                    item.unDeliveredCount = 0;
+
+            }
+
+
+            return
+                new WebApiCallBack()
+                {
+                    status = true,
+                    data = list,
+                };
+        }     
+
+     
+
+        public async Task<WebApiCallBack> SetOderOfSchool(CoreCmsPlanOrderInfoDto planOrderInfoDto)
+        {
+
+            var rt = await IsSchooler();
+            if (rt == false)
+            {
+               
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "浣犳病鏈夋潈闄愭搷浣�"
+                };
+            }
+            var oldOder = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x => x.items).Where(x => x.id == planOrderInfoDto.id).FirstAsync();
+            if(oldOder.status==2)
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "宸茬粡閿佸崟"
+                };
+            }
+            decimal auturo = 0;
+            foreach (var item in oldOder.items)
+            {
+                item.nums = planOrderInfoDto.items.Where(x => x.id == item.id).FirstOrDefault().nums;
+
+                item.amount = item.price * item.nums;
+                auturo += item.amount;
+
+            }
+            oldOder.shipMobile = planOrderInfoDto.shipMobile;
+            oldOder.shipName = planOrderInfoDto.shipName;
+            oldOder.orderAmount = auturo;
+
+            await _CyDbClient.AsTenant().BeginTranAsync();
+            try
+            {
+                await _CyDbClient.Updateable(oldOder).ExecuteCommandAsync();
+                await _CyDbClient.Updateable(oldOder.items).ExecuteCommandAsync();
+                await _CyDbClient.AsTenant().CommitTranAsync();
+            }
+            catch (Exception )
+            {
+
+                await _CyDbClient.AsTenant().RollbackTranAsync();
+                throw ;
+            }
+            //await _CyDbClient.UpdateNav(oldOder).Include(x => x.items,new UpdateNavOptions
+            //{
+            //      OneToOneSaveByPrimaryKey=true,
+            //}).ExecuteCommandAsync();
+
+
+            await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.CyDeliverOAjisuanjine,oldOder.orderkeyid?.ToString());
+            return new WebApiCallBack()
+            {
+                status = true,
+                data = true
+            };
+        }
+
+        public async Task<WebApiCallBack> GetDeliveryOrderInfoOfSchool(FMStringId entity)
+        {
+
+            var rt = await IsSchooler();
+            if (rt == false)
+            {
+                throw new Exception("娌℃湁鏉冮檺璁块棶");
+            }
+            var data = _CyDbClient.Queryable<CoreDeliverOrder>()
+                .Where(x=>x.id==new Guid(entity.id))
+                .Includes(x => x.items)
+                .Includes(x => x.tracks)
+                .Includes(x=>x.Oreder,o=>o.items)
+                 .Includes(x => x.Oreder, o => o.DeliverOrderItems)
+                .Select(x => new CoreDeliverOrder()
+            {
+                DeliveryMoble = "",
+
+                 
+
+            }, true).Mapper(x=>
+            {
+               
+            }).FirstAsync();
+
+         
+
+            return new WebApiCallBack()
+            {
+                status = true,
+                data = data
+            };
+        }
+
+        public async Task <WebApiCallBack> SetDeliveryDataOfschool(SetDeliveryDataDto entity)
+        {
+            if(await IsSchooler()==false)
+            {
+                return new WebApiCallBack()
+                {
+                    status = true,
+                    msg = "鏃犳潈闄�"
+                };
+
+            }
+
+
+          var olddata=  await _CyDbClient.Queryable<CoreCmsPlanOrder>()
+                .Includes(x=>x.items)
+                .Includes(x=>x.DeliverOrderItems,de=>de.items)
+                . Where(x => x.id == entity.PlanOrderId)
+                .Mapper(x=>x.deliverOrder= x.DeliverOrderItems.Where(y=>y.OrderState== CoreDeliverOrderType.UnStart).FirstOrDefault())
+                .FirstAsync();
+
+            if(olddata==null)
+            {
+                return new WebApiCallBack()
+                {
+                    status = false,
+                    msg = "娌℃湁鎵惧埌鐩稿叧璁㈠崟"
+                };
+            }
+            if(olddata.DeliverState == DeliverStateType.CompletedDelivery)
+            {
+                return new WebApiCallBack()
+                {
+                    status = false,
+                    msg = "宸茬粡瀹屾垚閰嶉�佷笉鍙慨鏀�"
+                };
+            }
+            var user = await _coreCmsUserServices.QueryByIdAsync(_User.ID);
+          await  _CyDbClient.AsTenant().BeginTranAsync();
+            try
+            {
+                if (entity.MakeTime != null)
+                {
+                    if(olddata.deliverOrder==null)
+                    {
+                        //娌℃湁閰嶉�佸崟 鏂板缓
+                        olddata.deliverOrder = await CreatDeliverItem(olddata);
+                        olddata.deliverOrder.MakeTime=entity.MakeTime;
+                  
+                        await  _CyDbClient.InsertNav(olddata.deliverOrder).Include(x => x.items).ExecuteCommandAsync();
+                       
+                    }
+                    else
+                    {
+                        if (olddata.deliverOrder.MakeTime != entity.MakeTime)
+                        {  //鏈夐厤閫佸崟
+                            olddata.deliverOrder.MakeTime = entity.MakeTime;
+                            olddata.upDataBy = _UserMoble;
+                            olddata.upDataTime = DateTime.Now;
+                            await _CyDbClient.Updateable(olddata.deliverOrder).ExecuteCommandAsync();
+                        }
+                    }
+                }
+
+                if (olddata.DeliverRemark != entity.DeliverRemark)
+
+                {
+                    olddata.DeliverRemark = entity.DeliverRemark;
+                    olddata.upDataBy=_UserMoble;
+                    olddata.upDataTime= DateTime.Now;
+                    await _CyDbClient.Updateable(olddata).ExecuteCommandAsync();
+                }
+                await _CyDbClient.AsTenant().CommitTranAsync();
+                return new WebApiCallBack()
+                {
+                    status = true,
+                   
+                };
+            }
+            catch (Exception)
+            {
+                await _CyDbClient.AsTenant().RollbackTranAsync();
+                throw;
+            }
+    
+          
+        }
+        public async Task<WebApiCallBack> GetDeliveryTracksOfSchool(FMStringId entity)
+        {
+            var rt = await IsSchooler();
+            if (rt == false)
+            {
+                throw new Exception("娌℃湁鏉冮檺璁块棶");
+            }
+            var data = await _CyDbClient.Queryable<CoreDeliveryOrderTracks>().Where(x => x.OrderID == new Guid(entity.id)).ToListAsync();
+
+            return new WebApiCallBack()
+            {
+                status = true,
+                data = data
+            };
+        }
+
+    
+
+        public async Task<WebApiCallBack> GetDriverPhoneOfSchool(FMStringId entity)
+        {
+
+            if (!Guid.TryParse(entity.id, out Guid guid))
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "id鏍煎紡閿欒"
+
+                };
+            }
+            var data = await _CyDbClient.Queryable<CoreDeliverOrder>().Where(x => x.id == guid).FirstAsync();
+            if (data != null && !string.IsNullOrEmpty(data.DeliveryMoble))
+            {
+                return new WebApiCallBack
+                {
+                    status = true,
+                    data = data.DeliveryMoble
+                };
+            }
+            else
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "娌℃湁鎵惧埌鑱旂郴鐢佃瘽"
+                };
+            }
+        }
+        #endregion
+
+
+        #region 閫佽揣绠$悊鐩稿叧
+        public async Task<WebApiCallBack> GetOderListOfDeliveryManage(FMPageByWhereOrder entity)
+        {
+            if (!await IsDeliverManage())
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "浣犳病鏈夋潈闄愭搷浣�"
+                };
+
+            var where = PredicateBuilder.True<CoreCmsPlanOrder>();
+            if (!string.IsNullOrWhiteSpace(entity.where))
+            {
+                var obj = JsonConvert.DeserializeAnonymousType(entity.where, new
+                {
+                    quxianId = "",
+                    pianqu = "",
+                    shipAddress = "",
+                    isScheduled = "",
+                    sheng = "",
+                    shi = "",
+                    quxian = "",
+
+
+                });
+                if (!string.IsNullOrWhiteSpace(obj.sheng))
+                {
+
+
+                    where = where.And(n => n.sheng == obj.sheng);
+
+                }
+                if (!string.IsNullOrWhiteSpace(obj.shi))
+                {
+
+
+                    where = where.And(n => n.shi == obj.shi);
+
+                }
+                if (!string.IsNullOrWhiteSpace(obj.quxian))
+                {
+
+
+                    where = where.And(n => n.quxian == obj.quxian);
+
+                }
+                if (!string.IsNullOrEmpty(obj.isScheduled))
+                {
+                    if (obj.isScheduled == "1")
+                        where = where.And(n => n.IngDeliverOrderID != null);
+                    else
+                        where = where.And(n => n.IngDeliverOrderID == null);
+                }
+
+                if (!string.IsNullOrEmpty(obj.quxianId))
+                {
+                    var ad = obj.quxianId.ToInt32OrDefault(0);
+                    if (ad > 0)
+                    {
+                        where = where.And(n => n.quxianId == ad);
+                    }
+
+                }
+
+
+                if (!string.IsNullOrEmpty(obj.pianqu))
+                {
+
+                    where = where.And(n => n.pianqu.Contains(obj.pianqu));
+
+
+                }
+
+                if (!string.IsNullOrEmpty(obj.shipAddress))
+                {
+
+                    where = where.And(n => n.shipAddress.Contains(obj.shipAddress));
+
+
+                }
+
+            }
+            where = where.And(n => n.isdelete == false);
+            RefAsync<int> totalNumbe = 0;
+            var dlist = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(n => n.DeliverState != DeliverStateType.CompletedDelivery)
+                  .Select((n) => new CoreCmsPlanOrder
+                  {
+
+                      IngDeliverOrderID = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id
+                    && x.OrderState != CoreDeliverOrderType.Faile
+                    && x.OrderState != CoreDeliverOrderType.Completed
+                    && (x.DeliveryMoble != "" || x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).Select(x=>x.id),
+                      deliverOrder = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id
+                    && x.OrderState != CoreDeliverOrderType.Faile
+                    && x.OrderState != CoreDeliverOrderType.Completed
+                    && (x.DeliveryMoble != "" || x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).First()
+                  },
+
+                  true
+                  ).MergeTable().Where(where).ToPageListAsync(entity.page, entity.limit, totalNumbe);
+
+            var data = dlist.Select(x => new
+            {
+                id = x.id,
+                MakeTime = x.deliverOrder?.MakeTime,
+                shipAddress = x.shipAddress,
+                isScheduled = x.deliverOrder != null ? "1" : "0",
+
+            }).ToList();
+            return new WebApiCallBack
+            {
+                status = true,
+                data= new
+                {
+                    totalNumbe,
+                    data,
+                }
+           
+            };
+        }
+        public async Task<WebApiCallBack> GetSendDeliveryOderListOfDeliveryManage(FMPageByWhereOrder entity)
+        {
+            if (!await IsDeliverManage())
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "浣犳病鏈夋潈闄愭搷浣�"
+                };
+
+            var where = PredicateBuilder.True<CoreCmsPlanOrder>();
+            if (!string.IsNullOrWhiteSpace(entity.where))
+            {
+                var obj = JsonConvert.DeserializeAnonymousType(entity.where, new
+                {
+                    quxianId = "",
+                    pianqu = "",
+                    shipAddress = "",
+                    MakeTime = "",
+                    sheng = "",
+                    shi = "",
+                    quxian = "",
+
+
+                });
+                if (!string.IsNullOrWhiteSpace(obj.sheng))
+                {
+
+
+                    where = where.And(n => n.sheng == obj.sheng);
+
+                }
+                if (!string.IsNullOrWhiteSpace(obj.shi))
+                {
+
+
+                    where = where.And(n => n.shi == obj.shi);
+
+                }
+                if (!string.IsNullOrWhiteSpace(obj.quxian))
+                {
+
+
+                    where = where.And(n => n.quxian == obj.quxian);
+
+                }
+                if (!string.IsNullOrEmpty(obj.MakeTime))
+                {
+                    var date = obj.MakeTime.ParseDateTimeRange();
+                    if (date.StartDate != null && date.EndDate != null)
+                    {
+
+                        where = where.And(n => n.deliverOrder.MakeTime > date.StartDate && n.deliverOrder.MakeTime < date.EndDate);
+                    }
+                }
+
+                if (!string.IsNullOrEmpty(obj.quxianId))
+                {
+                    var ad = obj.quxianId.ToInt32OrDefault(0);
+                    if (ad > 0)
+                    {
+                        where = where.And(n => n.quxianId == ad);
+                    }
+
+                }
+
+
+                if (!string.IsNullOrEmpty(obj.pianqu))
+                {
+
+                    where = where.And(n => n.pianqu.Contains(obj.pianqu));
+
+
+                }
+
+                if (!string.IsNullOrEmpty(obj.shipAddress))
+                {
+
+                    where = where.And(n => n.shipAddress.Contains(obj.shipAddress));
+
+
+                }
+
+            }
+            where = where.And(n => n.isdelete == false);
+            RefAsync<int> totalNumbe = 0;
+            var dlist = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(n => n.DeliverState != DeliverStateType.CompletedDelivery)
+                  .Select((n) => new CoreCmsPlanOrder
+                  {
+                     
+                      deliverOrder = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id
+                    && x.OrderState != CoreDeliverOrderType.Faile
+                    && x.OrderState != CoreDeliverOrderType.Completed
+                    && (x.DeliveryMoble != "" || x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).First(),
+                      MakeTime= SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id
+                    && x.OrderState != CoreDeliverOrderType.Faile
+                    && x.OrderState != CoreDeliverOrderType.Completed
+                    && (x.DeliveryMoble != "" || x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).Select(x=>x.MakeTime)
+                  }
+
+                  ,true
+                  ).MergeTable().Where(where).ToPageListAsync(entity.page, entity.limit, totalNumbe);
+
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data =  new
+                {
+                    totalNumbe,
+                    data = dlist.Select(x => new
+                    {
+                        id = x.id.ToString(),
+                        x.shipAddress,
+                        x.quxian,
+                        x.pianqu,
+                        x.deliverOrder
+
+
+                    }).ToList()
+                }
+            };
+        }
+        public async Task<WebApiCallBack> GetDeliveryOderInfoOfDeliveryManage(FMIntId entity)
+        {
+            if (!await IsDeliverManage())
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "浣犳病鏈夋潈闄愭搷浣�"
+                };
+
+         var data= await   _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x=>x.items).Includes(x=>x.DeliverOrderItems,itm=>itm.items)
+                .Where(x=>x.isdelete==false&&x.id==entity.id)
+                .FirstAsync();
+            if(data==null)
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "璁㈠崟宸插け鏁堟垨鑰呬笉鍙洿鏀�"
+                };
+            };
+
+            //鍙粺璁″凡缁忓紑濮嬮厤閫佺殑锛屽拰宸茬粡閰嶉�佸畬鎴愮殑璁㈠崟
+            var DeliverOrderlist = data.DeliverOrderItems.Where(x => x.OrderState == CoreDeliverOrderType.Start || x.OrderState == CoreDeliverOrderType.Completed).ToList();
+
+            var DeliverOrderItemList = new List<CoreDeliverOrderItem>();
+            foreach (var Deliveritem in DeliverOrderlist)
+            {
+                DeliverOrderItemList.AddRange(Deliveritem.items);
+
+            }
+
+            // 鎸� ZYBName 鍜� ZYBSpecification 鍒嗙粍锛屽苟缁熻姣忎釜鍒嗙粍鐨� Number 鎬诲拰
+            var groupedItems = DeliverOrderItemList
+                .GroupBy(item => new { item.ZYBName, item.ZYBSpecification })
+                .Select(group => new CoreDeliverOrderItem
+                {
+                    ZYBName = group.Key.ZYBName,
+                    ZYBSpecification = group.Key.ZYBSpecification,
+                    Number = group.Sum(item => item.Number)
+                })
+                .ToList();
+            ///鏈夊苟涓旀湭鎵ц閰嶉�佺殑璁㈠崟
+           var UndoDeliver = DeliverOrderlist.Where(x => x.OrderState == CoreDeliverOrderType.UnStart).FirstOrDefault();
+            //閰嶉�佸崟鍒楄〃璇︽儏
+            var orderItm = new List<CoreCmsPlanOrderItemDto>();
+            
+            foreach (var item in data.items)
+            {
+                var unDeliver = groupedItems.Where(x => x.ZYBName == item.name && x.ZYBSpecification == item.specification).FirstOrDefault()?.Number ?? 0;
+                 unDeliver = item.nums - unDeliver;
+                if (unDeliver < 0)
+                    unDeliver = 0;
+                int DeliveredCount = UndoDeliver?.items.Where(x=>x.ZYBSpecification== item.name&&x.ZYBName==item.name).FirstOrDefault()?.Number??
+                   unDeliver;
+                orderItm.Add(new CoreCmsPlanOrderItemDto
+                {
+                    amount = item.amount,
+                    id = item.id,
+                    name = item.name,
+                    nums = item.nums,
+                    price = item.price,
+                    specification = item.specification,
+                    isOld = item.isOld,
+                    unDeliveredCount = unDeliver,
+                    DeliveredCount = DeliveredCount
+                });
+            }
+
+            var  deliveryList = await _CyDbClient.Queryable<OA_Staff>().Where(x => x.Status == "鍦ㄨ亴"  && x.BF_IsDriver == true).Select(x=>new
+            {
+                deliveryMoble= x.MobieNum,
+                name= x.Name,
+
+            }).ToListAsync();
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data = new 
+                {
+                    id =UndoDeliver?.id,
+                     OrderId = data.id,
+                    //鍙告満鐢佃瘽
+                    DeliveryMoble = UndoDeliver?.DeliveryMoble,
+                    items = orderItm,
+                    UndoDeliver?.MakeTime,
+                    //鍙告満鍒楄〃
+                    deliveryList
+
+                }
+            };
+
+        }
+        public async Task<WebApiCallBack> SetDeliveryOderOfDeliveryManage(DeliveryOrderDto entity)
+        {
+            if (!await IsDeliverManage())
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "浣犳病鏈夋潈闄愭搷浣�"
+                };
+
+           var planOrder= await  _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x=>x.items).Where(x => x.id == entity.OrderId).FirstAsync();
+            if (planOrder == null)
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "娌℃壘鍒拌鍗�",
+                };
+            }
+
+    
+            if (entity.id!=null)
+            {
+                //鏄慨鏀�
+
+                var DeliverOrder = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x=>x.items).Where(x => x.id == entity.id ).FirstAsync();
+                if(DeliverOrder== null)
+                {
+                    return new WebApiCallBack
+                    {
+                        status = false,
+                        msg = "娌℃壘鍒拌鍗�",
+                    };
+                }
+                if(entity.MakeTime!=null) 
+
+                 DeliverOrder.MakeTime = entity.MakeTime;
+                if(entity.items!=null&&entity.items.Count>0)
+                {
+                    foreach (var item in DeliverOrder.items)
+                    {
+                         var newitem= entity.items.Where(x=>x.name==item.ZYBName&&x.specification==item.ZYBSpecification).FirstOrDefault();
+                        if(newitem!=null)
+                        {
+                            if (item.Number != newitem.nums)
+                            {
+                                item.Number = newitem.nums;
+                                item.UpDataBy = _UserMoble;
+                                item.UpdataTime = DateTime.Now;
+                            }
+                           
+                            
+                        }
+                    }
+                }
+                    //DeliverOrder.items= entity.items;
+               if(!string.IsNullOrEmpty( entity.DeliveryMoble))
+                    DeliverOrder.DeliveryMoble = entity.DeliveryMoble;
+                DeliverOrder.UpDataBy =  _coreCmsUserServices.QueryById(_User.ID)?.mobile;
+             
+                DeliverOrder.UpdataTime = DateTime.Now;
+
+               await  _CyDbClient.UpdateNav(DeliverOrder).Include(x => x.items).ExecuteCommandAsync();
+
+
+
+            }
+            else
+
+            {
+
+                var olddeliver = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x => x.items).Where(x => x.OrderId==entity.OrderId&&x.OrderState== CoreDeliverOrderType.UnStart).FirstAsync();
+                if (olddeliver != null)
+                {
+                    return new WebApiCallBack
+                    {
+                        status = false,
+                        msg = "閰嶉�佸崟宸茬粡鏀瑰彉锛岃鍒锋柊鍚庨噸鏂伴厤缃柊鐨勯厤閫佸崟",
+                    };
+                }
+                //鏂板缓
+                var DeliverOrder = new CoreDeliverOrder()
+                {
+                    MakeTime = entity.MakeTime,
+                    OrderId = entity.OrderId,
+                    CreateTime = DateTime.Now,
+                    CreateBy = _UserMoble,
+                    DeliveryMoble = entity.DeliveryMoble,
+                    id = Guid.NewGuid(),
+                    OrderState = CoreDeliverOrderType.UnStart,
+                    items =  new List<CoreDeliverOrderItem>()
+                };
+                if (entity.items != null && entity.items.Count > 0)
+                {
+                    foreach (var item in entity.items)
+                    {
+                        DeliverOrder.items.Add(new CoreDeliverOrderItem()
+                        {
+                            CreateBy = _UserMoble,
+                            CreateTime = DateTime.Now,
+                            id = Guid.NewGuid(),
+                            Number = item.nums,
+                             OrderID= DeliverOrder.id,
+                              ZYBName= item.name,
+                              ZYBSpecification= item.specification,
+                               
+                              
+                        });
+
+                    }
+                   
+                }
+
+                    await _CyDbClient.InsertNav(DeliverOrder).Include(x => x.items).ExecuteCommandAsync();
+            }
+            return new WebApiCallBack()
+            {
+                status = true,
+                data = true
+            };
+
+        }
+
+        #endregion
+        #region 鍙告満绔�
+
+        public async Task<WebApiCallBack> GetDeliverOderListOfDrver(FMPageByWhereOrder entity)
+        {
+            if (!await IsDrive())
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "浣犳病鏈夋潈闄愭搷浣�"
+                };
+            var where = PredicateBuilder.True<CoreCmsPlanOrder>();
+            if (!string.IsNullOrWhiteSpace(entity.where))
+            {
+                var obj = JsonConvert.DeserializeAnonymousType(entity.where, new
+                {
+                    quxianId = "",
+                    sheng="",
+                    pianqu = "",
+                    shipAddress = "",                   
+                    shi = "",
+                    quxian = "",
+                    DeliverState=""
+
+
+
+                });
+                if (!string.IsNullOrWhiteSpace(obj.DeliverState))
+                {
+                    var ad = obj.DeliverState.ToInt32OrDefault(0);
+
+                    where = where.And(n => n.DeliverState ==  (DeliverStateType)ad  );
+
+                }
+                if (!string.IsNullOrWhiteSpace(obj.sheng))
+                {
+
+
+                    where = where.And(n => n.sheng == obj.sheng);
+
+                }
+              
+                if (!string.IsNullOrWhiteSpace(obj.shi))
+                {
+
+
+                    where = where.And(n => n.shi == obj.shi);
+
+                }
+                if (!string.IsNullOrWhiteSpace(obj.quxian))
+                {
+
+
+                    where = where.And(n => n.quxian == obj.quxian);
+
+                }
+                if (!string.IsNullOrEmpty(obj.quxianId))
+                {
+                    var ad = obj.quxianId.ToInt32OrDefault(0);
+                    if (ad > 0)
+                    {
+                        where = where.And(n => n.quxianId == ad);
+                    }
+
+                }
+
+
+                if (!string.IsNullOrEmpty(obj.pianqu))
+                {
+
+                    where = where.And(n => n.pianqu.Contains(obj.pianqu));
+
+
+                }
+
+                if (!string.IsNullOrEmpty(obj.shipAddress))
+                {
+
+                    where = where.And(n => n.shipAddress.Contains(obj.shipAddress));
+
+
+                }
+
+            }
+            where = where.And(n => n.isdelete == false);
+            var user = _coreCmsUserServices.QueryById(_User.ID);
+            if (user == null)
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "鐧诲綍淇℃伅閿欒"
+                };
+            }
+            RefAsync<int> totalNumbe = 0;
+            var lisdata = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(where).Select(n => new CoreCmsPlanOrder
+            {
+
+                IngDeliverOrderID = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id && (x.OrderState == CoreDeliverOrderType.UnStart || x.OrderState == CoreDeliverOrderType.Start)
+                 && x.DeliveryMoble == user.mobile).Select(x => x.id),
+                deliverOrder = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id && (x.OrderState == CoreDeliverOrderType.UnStart || x.OrderState == CoreDeliverOrderType.Start)
+                 && x.DeliveryMoble == user.mobile).First()
+
+            }, true).MergeTable().Where(x=>x.IngDeliverOrderID != null).ToPageListAsync( entity.page,entity.limit, totalNumbe);
+            return new WebApiCallBack
+            {
+                status = true,
+                data =  new
+                {
+                    totalNumbe,
+                    data= lisdata
+                }
+            };
+        }
+        public async Task<WebApiCallBack> ManageDeliverOderListOfDrver(FMPageByWhereOrder entity)
+        {
+            if (!await IsDrive())
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "浣犳病鏈夋潈闄愭搷浣�"
+                };
+
+            var where = PredicateBuilder.True<CoreDeliverOrder>();
+            if (!string.IsNullOrWhiteSpace(entity.where))
+            {
+                var obj = JsonConvert.DeserializeAnonymousType(entity.where, new
+                {
+                    quxianId = "",
+                    sheng = "",
+                    pianqu = "",
+                    shipAddress = "",
+                    shi = "",
+                    quxian = "",
+                    OrderState = "",
+                    StartTimeZone="",                
+                    EndTimeStartZone= "",
+                 
+
+                });
+                if (!string.IsNullOrWhiteSpace(obj.OrderState))
+                {
+                    var ad = obj.OrderState.ToInt32OrDefault(0);
+
+                    where = where.And(n => n.OrderState ==  (CoreDeliverOrderType)ad);
+
+                }
+                if (!string.IsNullOrWhiteSpace(obj.sheng))
+                {
+
+
+                    where = where.And(n => n.Oreder.sheng == obj.sheng);
+
+                }
+
+                if (!string.IsNullOrWhiteSpace(obj.shi))
+                {
+
+
+                    where = where.And(n => n.Oreder.shi  == obj.shi);
+
+                }
+                if (!string.IsNullOrWhiteSpace(obj.quxian))
+                {
+
+
+                    where = where.And(n => n.Oreder.quxian == obj.quxian);
+
+                }
+               
+
+
+                if (!string.IsNullOrEmpty(obj.pianqu))
+                {
+
+                    where = where.And(n => n.Oreder.pianqu.Contains(obj.pianqu));
+
+
+                }
+
+                if (!string.IsNullOrEmpty(obj.shipAddress))
+                {
+
+                    where = where.And(n => n.Oreder.shipAddress.Contains(obj.shipAddress));
+
+
+                }         
+
+
+                if (!string.IsNullOrEmpty(obj.EndTimeStartZone))
+                {
+                    var date = obj.EndTimeStartZone.ParseDateTimeRange();
+                    if (date.StartDate != null && date.EndDate != null)
+
+                        where = where.And(n => n.OverTime<date.EndDate&&n.OverTime>date.EndDate);
+
+
+                }
+                if (!string.IsNullOrEmpty(obj.StartTimeZone))
+                {
+                    var date = obj.StartTimeZone.ParseDateTimeRange();
+                    if (date.StartDate != null && date.EndDate != null)
+                        where = where.And(n => n.StartTime < date.EndDate && n.StartTime > date.EndDate);
+
+
+                }
+
+            }
+            where = where.And(n => n.DeliveryMoble == _UserMoble);
+            RefAsync<int> totalNumbe = 0;
+            var data= await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(n=>n.Oreder).Where(where).OrderByDescending(n=>n.StartTime).ToPageListAsync( entity.page,entity.limit, totalNumbe);
+            //var datalist= await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x => x.DeliverOrderItems).Where(where).Select(x => new CoreCmsPlanOrder
+            //{
+            //    IngDeliverOrderID = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(ide => ide.DeliveryMoble == _UserMoble && ide.OrderId == x.id).Select(ide => ide.id)
+            //},true).MergeTable().Where(x => x.IngDeliverOrderID != null).Mapper(x=>
+            //{
+            //    x.DeliverOrderItems.Where(x => x.DeliveryMoble == _UserMoble).ToList();
+            //    x.IngDeliverOrderID = null;
+            //}).ToListAsync();
+            return new WebApiCallBack()
+            {
+                status = true,
+                data = new 
+                {
+                     list= data,
+                    totalNumbe
+                }
+            };
+
+        }
+
+        public async Task<WebApiCallBack> GetDeliverInfoOfDrver(FMStringId entity)
+        {
+
+
+            if (!Guid.TryParse(entity.id, out Guid guid))
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "id鏍煎紡閿欒"
+
+                };
+            }
+           
+            var data=  await _CyDbClient.Queryable<CoreDeliverOrder>()
+                .Where(x => x.id == guid  && x.OrderState != CoreDeliverOrderType.Faile)
+                .Includes(x => x.items).Includes(x=>x.Oreder,or=>or.items).FirstAsync();
+            if(data==null)
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "娌℃湁閰嶉�佽鍗曞彲浠ユ搷浣�"
+                };
+            }
+            var DeliverOrderlist = await _CyDbClient.Queryable<CoreDeliverOrder>().Where(x => x.OrderId == data.OrderId).ToListAsync();
+            var lessdata = await CountLessCount(DeliverOrderlist);
+
+            var ret = new DeliveryOrderDto()
+            {
+                MakeTime = data.MakeTime,
+                DeliveryMoble = data.DeliveryMoble,
+                OrderState = data.OrderState,
+                PlanOrdInfo = new CoreCmsPlanOrderInfoDto()
+                {
+                    pianqu = data.Oreder.pianqu,
+                    quxianId = data.Oreder.quxianId,
+                    shipMobile = data.Oreder.shipMobile,
+                    shipAddress = data.Oreder.shipAddress,
+                    shouhuoAddress = data.Oreder.shipAddress,
+                    DeliverRemark = data.Oreder.DeliverRemark,
+                     shipName= data.Oreder.shipName,
+                     sheng= data.Oreder.sheng,
+                      shi= data.Oreder.shi,
+                      quxian= data.Oreder.quxian,
+                    DeliveryOderID=data.id,
+
+
+
+                },
+                items = new List<CoreCmsPlanOrderItemDto>()
+
+            };
+            foreach (var item in data.Oreder.items)
+            {
+                var count = lessdata.Where(x => x.name == item.name && x.Specification == item.specification).Select(x => x.OverCount).FirstOrDefault(0);
+                var thisNumber = data.items.Where(x => x.ZYBName == item.name && x.ZYBSpecification == item.specification).FirstOrDefault();
+                ret.items.Add(new CoreCmsPlanOrderItemDto()
+                {
+                    name = item.name,
+                    specification = item.specification,
+                    nums = item.nums,
+                    DeliveredCount = count,
+                    Number = thisNumber?.Number ?? count,
+                    unDeliveredCount = item.nums > count ? item.nums - count : 0,
+                    LessNumber= thisNumber.LessNumber,
+                });
+
+
+            }
+            return new WebApiCallBack()
+            {
+                status = true,
+                data = ret
+            };
+
+        }
+
+        public async Task<WebApiCallBack> StartDeliverOrderOfDrver(FMStringId entity)
+        {
+
+            if (!Guid.TryParse(entity.id, out Guid guid))
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "id鏍煎紡閿欒"
+
+                };
+            }
+
+            var data = await _CyDbClient.Queryable<CoreDeliverOrder>()
+               .Where(x => x.id == guid && x.OrderState == CoreDeliverOrderType.UnStart )
+               .FirstAsync();
+            if (data == null)
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "娌℃湁鏁版嵁锛屾垨鑰呮槸娌℃湁鏉冮檺鍙搷浣�"
+                };
+            data.OrderState = CoreDeliverOrderType.Start;
+            data.UpDataBy = _UserMoble;
+             data.UpdataTime = DateTime.Now;
+            data.StartTime = DateTime.Now;
+           await  _CyDbClient.Updateable(data).ExecuteCommandAsync();
+            return new WebApiCallBack()
+            {
+                status = true
+            };
+
+        }
+      
+        public async Task<WebApiCallBack> SetDeliverOrdeOfDrver(DeliveryOrderDto entity)
+        {
+
+            if (!await IsDrive())
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "娌℃湁鏉冮檺鎿嶄綔"
+                };
+            var data= await  _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x=>x.items).Includes(x=>x.Oreder).Where(x => x.id == entity.id && x.OrderState != CoreDeliverOrderType.Faile && x.DeliveryMoble==_UserMoble).FirstAsync();
+            if(data==null)
+            {
+                return new WebApiCallBack()
+                {
+                    status = false,
+                    msg = "娌℃湁鏉冮檺鎴栬�呯姸鎬佸凡缁忛攣瀹氫笉鍙洿鏀�"
+                };
+            }
+            var deliverlist = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x=>x.items).Where(x => x.OrderId == data.OrderId).ToListAsync();
+            var countlist = await CountLessCount(deliverlist);
+
+            if(!string.IsNullOrEmpty( data.Oreder?.DeliverRemark))
+            {
+                if (data.Oreder.DeliverRemark != data.Oreder?.DeliverRemark)
+                {
+                    data.Oreder.DeliverRemark = data.Oreder?.DeliverRemark;
+                    data.Oreder.upDataTime = DateTime.Now;
+                    data.Oreder.upDataBy = _UserMoble;
+                }
+            }
+            foreach (var item in data.items) 
+            {
+                var it = entity.items.Where(x => x.name == item.ZYBName && x.specification == item.ZYBSpecification).FirstOrDefault();
+                if (it?.LessNumber != null)
+                    if (item.LessNumber!=it.LessNumber)
+                {
+                    item.LessNumber = it.LessNumber??0;
+                    item.UpDataBy = _UserMoble;
+                    item.UpdataTime = DateTime.Now;
+
+                    
+                }
+             //   閫佽揣鏁伴噺鏄惁鑳借秴杩囬瀹氭暟閲忥紵
+                //item.Number- countlist.Where(x=>x.name==item.ZYBName&&x.Specification==item.ZYBSpecification).Select(x=>x.OverCount).FirstOrDefault(0)
+                if(it?.nums!=null)
+                if (item.Number!=it.Number )
+                {
+                    item.Number = it.Number??0;
+                    item.UpDataBy = _UserMoble;
+                    item.UpdataTime = DateTime.Now;
+                }
+            }
+           await  _CyDbClient.UpdateNav(data).Include(x => x.Oreder).Include(x => x.items).ExecuteCommandAsync();
+
+            return new WebApiCallBack
+            {
+                status = true
+            };
+
+        }
+
+        public async Task<WebApiCallBack> FinishDeliverOrdeOfDrver(FMStringId entity)
+        {
+
+            if (!Guid.TryParse(entity.id, out Guid guid))
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "id鏍煎紡閿欒"
+
+                };
+            }
+            if (!await IsDrive())
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "娌℃湁鏉冮檺鎿嶄綔"
+                };
+
+            var data = await _CyDbClient.Queryable<CoreDeliverOrder>()
+              .Where(x => x.id == guid && x.OrderState == CoreDeliverOrderType.Start)             
+              .FirstAsync();
+            if (data == null)
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "娌℃湁鏁版嵁锛屾垨鑰呮槸娌℃湁鏉冮檺鍙搷浣�"
+                };
+
+            var order = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(x => x.id == data.OrderId).Includes(x => x.items)
+               .Includes(x => x.DeliverOrderItems, deo => deo.items).FirstAsync();
+            if(order == null)
+            {
+                return new WebApiCallBack
+                {
+                    status = false,
+                    msg = "娌℃湁鎵惧埌璁㈠崟"
+                };
+            }
+            var countlist = await CountLessCount(order.DeliverOrderItems);
+          await   _CyDbClient.AsTenant().BeginTranAsync();
+            try
+            {
+                if (countlist != null)
+                {
+                    //淇敼璁㈠崟鐘舵��
+                    DeliverStateType isOver = DeliverStateType.CompletedDelivery;
+                    for (int i = 0; i < order.items.Count; i++)
+                    {
+
+                        var dcount = countlist.Where(x => x.name == order.items[i].name && x.Specification == order.items[i].specification).FirstOrDefault();
+                        if (dcount != null)
+                        {
+
+                            if (order.items[i].nums > (dcount.OverCount + dcount.IngCount))
+
+                            {
+                                isOver = DeliverStateType.PartialDelivery;
+                                break;
+                            }
+                        }
+                    }
+
+
+                    if (countlist.Count == 0)
+                    {
+
+                        isOver = DeliverStateType.NoDelivery;
+                    }
+                    if (order.DeliverState != isOver)
+
+                    {
+                        order.DeliverState = isOver;
+                        order.upDataBy = _UserMoble;
+                        order.upDataTime = DateTime.Now;
+                        await _CyDbClient.Updateable(order).ExecuteCommandAsync();
+                    }
+
+
+                }
+                data.OrderState = CoreDeliverOrderType.Completed;
+                data.UpDataBy = _UserMoble;
+                data.UpdataTime = DateTime.Now;
+                data.OverTime = DateTime.Now;
+                await _CyDbClient.Updateable(data).ExecuteCommandAsync();
+
+                await _CyDbClient.AsTenant().CommitTranAsync();
+                return new WebApiCallBack()
+                {
+                    status = true
+                };
+
+            }
+            catch (Exception)
+            {
+                await _CyDbClient.AsTenant().RollbackTranAsync();
+                throw;
+            }
+           
+        }
+        public async Task<WebApiCallBack> SetTarcks(TracksDto entity)
+        {
+
+          if(  ! await IsDrive())
+            {
+
+                return new WebApiCallBack()
+                {
+                     status= false,
+                     
+                     msg= "闈炲徃鏈虹涓嶉泦鍧愭爣鏁版嵁",
+                };
+            }
+           entity.Moble = _UserMoble;
+            await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.CyDeliverOrderTarcks, JsonConvert.SerializeObject(entity));
+            return new WebApiCallBack()
+            {
+                status = true,
+            };
+        }
+
+
+        #endregion
+        #region 鍏朵粬鎺ュ彛鍑芥暟
+        public async Task<List<Sys_CitySite>> GetZoneList(Sys_CitySite cyte = null)
+        {
+            if (cyte == null)
+            return await   _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.CityLevel == 1 && x.IsDisplay == true && x.ProvinceId == 0&&x.CityId==0).OrderBy(x => x.OrderNum).ToListAsync();
+            if (cyte.CityLevel == 3)
+                return new List<Sys_CitySite>();
+            if(cyte.CityLevel==2)
+                //鍖�
+            return await _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.CityLevel == 3 && x.IsDisplay == true && x.ProvinceId == cyte.ProvinceId && x.CityId == cyte.Keyid).OrderBy(x => x.OrderNum).ToListAsync();
+            if (cyte.CityLevel == 1) 
+                //鏌ュ競绾�
+                return await _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.CityLevel == 2 && x.IsDisplay == true && x.ProvinceId == cyte.Keyid && x.CityId == 0).OrderBy(x => x.OrderNum).ToListAsync();
+            return new List<Sys_CitySite>();
+        }
+
+        public async Task<List<Sys_CitySite>> GetZoneListALL()
+        {
+            return await _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.IsDisplay == true ).ToListAsync();
+        }
+
+        #endregion
+
+        #region 鍏朵粬鍑芥暟
+        /// <summary>
+        /// 鍒涘缓鏂扮殑閰嶉�佸崟鍒楄〃锛屼細鏍规嵁褰撳墠璁㈠崟鎯呭喌鍒涘缓璁㈠崟
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        private async Task< CoreDeliverOrder> CreatDeliverItem( CoreCmsPlanOrder order)
+        {
+            if(order.items==null)
+              order.items= await  _CyDbClient.Queryable<CoreCmsPlanOrderItem>().Where(x=>x.orderId==order.id).ToListAsync();
+            if(order.DeliverOrderItems == null)
+              order.DeliverOrderItems= await  _CyDbClient.Queryable<CoreDeliverOrder>().Where(x=>x.OrderId==order.id).Includes(x=>x.items).ToListAsync();
+            
+            var countlist = await CountLessCount(order.DeliverOrderItems);
+            var DeliverOrder = new CoreDeliverOrder()
+            {
+                CreateBy = _UserMoble,
+                CreateTime = DateTime.Now,
+                OrderId = order.id,
+                id = Guid.NewGuid(),
+
+            };
+            var ret= new List<CoreDeliverOrderItem>();
+
+            foreach (var item in order.items)
+            {
+                var Number = item.nums -= countlist.Where(x => x.name == item.name && x.Specification == item.specification).Select(x => x.OverCount + x.IngCount).FirstOrDefault(0);
+                if(Number<0)
+                    Number = 0;
+
+                ret.Add(new CoreDeliverOrderItem()
+                {
+                    CreateBy = _UserMoble,
+                    CreateTime = DateTime.Now,
+                    Number = Number,
+                    ZYBName = item.name,
+                    ZYBSpecification = item.specification,
+                    id = Guid.NewGuid(),
+                    OrderID= DeliverOrder.id,
+
+                });
+            }
+            DeliverOrder.items= ret;
+            return DeliverOrder;
+        }
+        /// <summary>
+        /// 宸查厤閫佽揣鐗╃粺璁� 
+        /// </summary>
+        /// <param name=""></param>
+        /// <returns></returns>
+        private async Task< List<SendCountDto> > CountLessCount(List<CoreDeliverOrder> datain)
+        {
+
+            var OverCountlistdata = new List<CoreDeliverOrderItem>();
+            //缁熻宸茬粡瀹岀粨鐨勫崟
+            foreach (var item in datain.Where(x=>x.OrderState== CoreDeliverOrderType.Completed).ToList())
+            {
+                //鍏堢粺璁″凡缁忓畬缁撶殑閰嶉�佸崟
+                if(item.items==null||item.items.Count==0)
+                {
+                    item.items= await _CyDbClient.Queryable<CoreDeliverOrderItem>().Where(x=>x.OrderID==item.id).ToListAsync();
+                }
+                OverCountlistdata.AddRange(item.items);
+            }
+
+         var overlist=   OverCountlistdata.GroupBy(x => new
+            {
+                x.ZYBName,
+                x.ZYBSpecification
+            }).Select(x => new
+            {
+                name = x.Key.ZYBName,
+                Specification = x.Key.ZYBSpecification,
+                num = x.Sum(x => x.Number)
+
+            }).ToList();
+            
+            //缁熻鏈畬鎴愮殑鍗�
+            var ingCountlistdata = new List<CoreDeliverOrderItem>();
+            foreach (var item in datain.Where(x => x.OrderState == CoreDeliverOrderType.UnStart||x.OrderState== CoreDeliverOrderType.Start).ToList())
+            {
+                //鍏堢粺璁″凡缁忓畬缁撶殑閰嶉�佸崟
+                if (item.items == null || item.items.Count == 0)
+                {
+                    item.items = await _CyDbClient.Queryable<CoreDeliverOrderItem>().Where(x => x.OrderID == item.id).ToListAsync();
+                }
+                ingCountlistdata.AddRange(item.items);
+            }
+
+          var inglist=  ingCountlistdata.GroupBy(x => new
+            {
+                x.ZYBName,
+                x.ZYBSpecification
+            }).Select(x => new
+            {
+                name = x.Key.ZYBName,
+                Specification = x.Key.ZYBSpecification,
+                num = x.Sum(x => x.Number)
+
+            }).ToList();
+            var retlist = new  List<SendCountDto>();
+            foreach (var item in overlist)
+            {
+                retlist.Add(new SendCountDto
+                {
+                    name = item.name,
+                    Specification = item.Specification,
+                    OverCount = item.num,
+                    IngCount = inglist.Where(x => x.name == item.name && x.Specification == item.Specification).Select(x => x.num).FirstOrDefault(0)
+                });
+            }
+           
+            return retlist;
+
+        }
+
+     
+
+
+        #endregion
+    }
+     class SendCountDto
+    {
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+            public string name {  get; set; }
+        /// <summary>
+        /// 寮�鏈�
+        /// </summary>
+        public string Specification { get; set; }
+        /// <summary>
+        /// 宸插畬鎴愰厤閫�
+        /// </summary>
+        public int OverCount { get; set; }
+        /// <summary>
+        /// 宸茶缃垨鑰呮湭瀹屾垚
+        /// </summary>
+        public int  IngCount { get; set; }
+    }
+
+
+}
diff --git a/CoreCms.Net.Uni-App/obj/CoreCms.Net.Uni-App.csproj.nuget.g.props b/CoreCms.Net.Uni-App/obj/CoreCms.Net.Uni-App.csproj.nuget.g.props
index dd269e8..d62c82e 100644
--- a/CoreCms.Net.Uni-App/obj/CoreCms.Net.Uni-App.csproj.nuget.g.props
+++ b/CoreCms.Net.Uni-App/obj/CoreCms.Net.Uni-App.csproj.nuget.g.props
@@ -7,7 +7,7 @@
     <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
     <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Administrator\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
     <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
-    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.2</NuGetToolVersion>
+    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.1</NuGetToolVersion>
   </PropertyGroup>
   <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
     <SourceRoot Include="C:\Users\Administrator\.nuget\packages\" />
diff --git a/CoreCms.Net.Utility/Extensions/StringExtensions.cs b/CoreCms.Net.Utility/Extensions/StringExtensions.cs
index 10bb5cb..c23a1af 100644
--- a/CoreCms.Net.Utility/Extensions/StringExtensions.cs
+++ b/CoreCms.Net.Utility/Extensions/StringExtensions.cs
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
+using System.Text.RegularExpressions;
 using System.Threading.Tasks;
 
 namespace CoreCms.Net.Utility.Extensions
@@ -25,6 +26,64 @@
             }
             return defaultValue;
         }
-        
+
+        /// <summary>
+        /// 灏唝yyy-MM-dd'T'HH:mm:ss~yyyy-MM-dd'T'HH:mm:ss 鏍煎紡鏈猄tartDate 鍜宔nddata
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        public static (DateTime? StartDate, DateTime? EndDate) ParseDateTimeRange(this string input)
+        {
+            // 瀹氫箟鏃ユ湡鏃堕棿鏍煎紡
+            string format = "yyyy-MM-dd'T'HH:mm:ss";
+
+            // 鎷嗗垎瀛楃涓�
+            string[] parts = input.Split('~');
+
+            if (parts.Length == 2)
+            {
+                // 瑙f瀽寮�濮嬫椂闂�
+                DateTime startDate;
+                bool isStartDateValid = DateTime.TryParseExact(parts[0], format, null, System.Globalization.DateTimeStyles.None, out startDate);
+
+                // 瑙f瀽缁撴潫鏃堕棿
+                DateTime endDate;
+                bool isEndDateValid = DateTime.TryParseExact(parts[1], format, null, System.Globalization.DateTimeStyles.None, out endDate);
+
+                if (isStartDateValid && isEndDateValid)
+                {
+                    if(startDate<endDate)
+                    return (startDate, endDate);
+                    else
+                    {
+                        return (null, null);
+                    }
+                }
+                else if (isStartDateValid)
+                {
+                    return (startDate, null);
+                }
+                else if (isEndDateValid)
+                {
+                    return (null, endDate);
+                }
+            }
+
+            // 濡傛灉杈撳叆瀛楃涓叉牸寮忎笉姝g‘鎴栬В鏋愬け璐ワ紝杩斿洖 (null, null)
+            return (null, null);
+        }
+        /// <summary>
+        /// 鏍¢獙鏄惁鏄墜鏈哄彿鐮�
+        /// </summary>
+        /// <param name="phoneNumber"></param>
+        /// <returns></returns>
+      public  static bool IsPhoneNumberValid(this string phoneNumber)
+        {
+            // 瀹氫箟姝e垯琛ㄨ揪寮忔ā寮�
+            string pattern = @"^1[3-9]\d{9}$";
+
+            // 浣跨敤 Regex.IsMatch 鏂规硶杩涜鍖归厤
+            return Regex.IsMatch(phoneNumber, pattern);
+        }
     }
 }
diff --git a/CoreCms.Net.Utility/bin/Debug/net8.0/CoreCms.Net.Utility.deps.json b/CoreCms.Net.Utility/bin/Debug/net8.0/CoreCms.Net.Utility.deps.json
index 8ccab31..bf0f644 100644
--- a/CoreCms.Net.Utility/bin/Debug/net8.0/CoreCms.Net.Utility.deps.json
+++ b/CoreCms.Net.Utility/bin/Debug/net8.0/CoreCms.Net.Utility.deps.json
@@ -21,7 +21,7 @@
       },
       "Autofac/7.1.0": {
         "dependencies": {
-          "System.Diagnostics.DiagnosticSource": "4.7.1"
+          "System.Diagnostics.DiagnosticSource": "6.0.1"
         },
         "runtime": {
           "lib/net7.0/Autofac.dll": {
@@ -38,6 +38,41 @@
           "lib/netstandard2.1/AutoMapper.dll": {
             "assemblyVersion": "12.0.0.0",
             "fileVersion": "12.0.1.0"
+          }
+        }
+      },
+      "Azure.Core/1.38.0": {
+        "dependencies": {
+          "Microsoft.Bcl.AsyncInterfaces": "1.1.1",
+          "System.ClientModel": "1.0.0",
+          "System.Diagnostics.DiagnosticSource": "6.0.1",
+          "System.Memory.Data": "1.0.2",
+          "System.Numerics.Vectors": "4.5.0",
+          "System.Text.Encodings.Web": "8.0.0",
+          "System.Text.Json": "8.0.0",
+          "System.Threading.Tasks.Extensions": "4.5.4"
+        },
+        "runtime": {
+          "lib/net6.0/Azure.Core.dll": {
+            "assemblyVersion": "1.38.0.0",
+            "fileVersion": "1.3800.24.12602"
+          }
+        }
+      },
+      "Azure.Identity/1.11.4": {
+        "dependencies": {
+          "Azure.Core": "1.38.0",
+          "Microsoft.Identity.Client": "4.61.3",
+          "Microsoft.Identity.Client.Extensions.Msal": "4.61.3",
+          "System.Memory": "4.5.4",
+          "System.Security.Cryptography.ProtectedData": "8.0.0",
+          "System.Text.Json": "8.0.0",
+          "System.Threading.Tasks.Extensions": "4.5.4"
+        },
+        "runtime": {
+          "lib/netstandard2.0/Azure.Identity.dll": {
+            "assemblyVersion": "1.11.4.0",
+            "fileVersion": "1.1100.424.31005"
           }
         }
       },
@@ -86,79 +121,117 @@
           }
         }
       },
-      "Microsoft.CSharp/4.7.0": {},
-      "Microsoft.Data.SqlClient/2.1.4": {
-        "dependencies": {
-          "Microsoft.Data.SqlClient.SNI.runtime": "2.1.1",
-          "Microsoft.Identity.Client": "4.21.1",
-          "Microsoft.IdentityModel.JsonWebTokens": "6.8.0",
-          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.8.0",
-          "Microsoft.Win32.Registry": "4.7.0",
-          "System.Configuration.ConfigurationManager": "6.0.0",
-          "System.Diagnostics.DiagnosticSource": "4.7.1",
-          "System.Runtime.Caching": "4.7.0",
-          "System.Security.Principal.Windows": "4.7.0",
-          "System.Text.Encoding.CodePages": "5.0.0"
-        },
+      "Microsoft.Bcl.AsyncInterfaces/1.1.1": {
         "runtime": {
-          "lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": {
-            "assemblyVersion": "2.0.20168.4",
-            "fileVersion": "2.0.20168.4"
-          }
-        },
-        "runtimeTargets": {
-          "runtimes/unix/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": {
-            "rid": "unix",
-            "assetType": "runtime",
-            "assemblyVersion": "2.0.20168.4",
-            "fileVersion": "2.0.20168.4"
-          },
-          "runtimes/win/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": {
-            "rid": "win",
-            "assetType": "runtime",
-            "assemblyVersion": "2.0.20168.4",
-            "fileVersion": "2.0.20168.4"
+          "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "4.700.20.21406"
           }
         }
       },
-      "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": {
+      "Microsoft.CSharp/4.7.0": {},
+      "Microsoft.Data.SqlClient/5.2.2": {
+        "dependencies": {
+          "Azure.Identity": "1.11.4",
+          "Microsoft.Data.SqlClient.SNI.runtime": "5.2.0",
+          "Microsoft.Identity.Client": "4.61.3",
+          "Microsoft.IdentityModel.JsonWebTokens": "6.35.0",
+          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.35.0",
+          "Microsoft.SqlServer.Server": "1.0.0",
+          "System.Configuration.ConfigurationManager": "8.0.0",
+          "System.Runtime.Caching": "8.0.0"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Data.SqlClient.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.22.24240.6"
+          }
+        },
+        "resources": {
+          "lib/net8.0/de/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "de"
+          },
+          "lib/net8.0/es/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "es"
+          },
+          "lib/net8.0/fr/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "fr"
+          },
+          "lib/net8.0/it/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "it"
+          },
+          "lib/net8.0/ja/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "ja"
+          },
+          "lib/net8.0/ko/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "ko"
+          },
+          "lib/net8.0/pt-BR/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "pt-BR"
+          },
+          "lib/net8.0/ru/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "ru"
+          },
+          "lib/net8.0/zh-Hans/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "zh-Hans"
+          },
+          "lib/net8.0/zh-Hant/Microsoft.Data.SqlClient.resources.dll": {
+            "locale": "zh-Hant"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/unix/lib/net8.0/Microsoft.Data.SqlClient.dll": {
+            "rid": "unix",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.22.24240.6"
+          },
+          "runtimes/win/lib/net8.0/Microsoft.Data.SqlClient.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.22.24240.6"
+          }
+        }
+      },
+      "Microsoft.Data.SqlClient.SNI.runtime/5.2.0": {
         "runtimeTargets": {
           "runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll": {
             "rid": "win-arm",
             "assetType": "native",
-            "fileVersion": "2.1.1.0"
+            "fileVersion": "5.2.0.0"
           },
           "runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": {
             "rid": "win-arm64",
             "assetType": "native",
-            "fileVersion": "2.1.1.0"
+            "fileVersion": "5.2.0.0"
           },
           "runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": {
             "rid": "win-x64",
             "assetType": "native",
-            "fileVersion": "2.1.1.0"
+            "fileVersion": "5.2.0.0"
           },
           "runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": {
             "rid": "win-x86",
             "assetType": "native",
-            "fileVersion": "2.1.1.0"
+            "fileVersion": "5.2.0.0"
           }
         }
       },
-      "Microsoft.Data.Sqlite/8.0.0": {
+      "Microsoft.Data.Sqlite/8.0.1": {
         "dependencies": {
-          "Microsoft.Data.Sqlite.Core": "8.0.0",
+          "Microsoft.Data.Sqlite.Core": "8.0.1",
           "SQLitePCLRaw.bundle_e_sqlite3": "2.1.6"
         }
       },
-      "Microsoft.Data.Sqlite.Core/8.0.0": {
+      "Microsoft.Data.Sqlite.Core/8.0.1": {
         "dependencies": {
           "SQLitePCLRaw.core": "2.1.6"
         },
         "runtime": {
           "lib/net8.0/Microsoft.Data.Sqlite.dll": {
-            "assemblyVersion": "8.0.0.0",
-            "fileVersion": "8.0.23.53103"
+            "assemblyVersion": "8.0.1.0",
+            "fileVersion": "8.0.123.58002"
           }
         }
       },
@@ -255,67 +328,97 @@
           }
         }
       },
-      "Microsoft.Identity.Client/4.21.1": {
-        "runtime": {
-          "lib/netcoreapp2.1/Microsoft.Identity.Client.dll": {
-            "assemblyVersion": "4.21.1.0",
-            "fileVersion": "4.21.1.0"
-          }
-        }
-      },
-      "Microsoft.IdentityModel.JsonWebTokens/6.8.0": {
+      "Microsoft.Identity.Client/4.61.3": {
         "dependencies": {
-          "Microsoft.IdentityModel.Tokens": "6.8.0"
+          "Microsoft.IdentityModel.Abstractions": "6.35.0",
+          "System.Diagnostics.DiagnosticSource": "6.0.1"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
+          "lib/net6.0/Microsoft.Identity.Client.dll": {
+            "assemblyVersion": "4.61.3.0",
+            "fileVersion": "4.61.3.0"
           }
         }
       },
-      "Microsoft.IdentityModel.Logging/6.8.0": {
-        "runtime": {
-          "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
-          }
-        }
-      },
-      "Microsoft.IdentityModel.Protocols/6.8.0": {
+      "Microsoft.Identity.Client.Extensions.Msal/4.61.3": {
         "dependencies": {
-          "Microsoft.IdentityModel.Logging": "6.8.0",
-          "Microsoft.IdentityModel.Tokens": "6.8.0"
+          "Microsoft.Identity.Client": "4.61.3",
+          "System.Security.Cryptography.ProtectedData": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
+          "lib/net6.0/Microsoft.Identity.Client.Extensions.Msal.dll": {
+            "assemblyVersion": "4.61.3.0",
+            "fileVersion": "4.61.3.0"
           }
         }
       },
-      "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": {
+      "Microsoft.IdentityModel.Abstractions/6.35.0": {
+        "runtime": {
+          "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.JsonWebTokens/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Protocols": "6.8.0",
-          "System.IdentityModel.Tokens.Jwt": "6.8.0"
+          "Microsoft.IdentityModel.Tokens": "6.35.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encodings.Web": "8.0.0",
+          "System.Text.Json": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
+          "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.Tokens/6.8.0": {
+      "Microsoft.IdentityModel.Logging/6.35.0": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Abstractions": "6.35.0"
+        },
+        "runtime": {
+          "lib/net6.0/Microsoft.IdentityModel.Logging.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Protocols/6.35.0": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Logging": "6.35.0",
+          "Microsoft.IdentityModel.Tokens": "6.35.0"
+        },
+        "runtime": {
+          "lib/net6.0/Microsoft.IdentityModel.Protocols.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.35.0": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Protocols": "6.35.0",
+          "System.IdentityModel.Tokens.Jwt": "6.35.0"
+        },
+        "runtime": {
+          "lib/net6.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Tokens/6.35.0": {
         "dependencies": {
           "Microsoft.CSharp": "4.7.0",
-          "Microsoft.IdentityModel.Logging": "6.8.0",
+          "Microsoft.IdentityModel.Logging": "6.35.0",
           "System.Security.Cryptography.Cng": "4.5.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
+          "lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
@@ -328,11 +431,13 @@
         }
       },
       "Microsoft.NETCore.Platforms/5.0.0": {},
-      "Microsoft.NETCore.Targets/1.1.0": {},
-      "Microsoft.Win32.Registry/4.7.0": {
-        "dependencies": {
-          "System.Security.AccessControl": "6.0.0",
-          "System.Security.Principal.Windows": "4.7.0"
+      "Microsoft.NETCore.Targets/1.1.3": {},
+      "Microsoft.SqlServer.Server/1.0.0": {
+        "runtime": {
+          "lib/netstandard2.0/Microsoft.SqlServer.Server.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.0.0"
+          }
         }
       },
       "Microsoft.Win32.SystemEvents/6.0.0": {
@@ -367,14 +472,14 @@
           }
         }
       },
-      "Npgsql/5.0.7": {
+      "Npgsql/5.0.18": {
         "dependencies": {
-          "System.Runtime.CompilerServices.Unsafe": "5.0.0"
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
         },
         "runtime": {
           "lib/net5.0/Npgsql.dll": {
-            "assemblyVersion": "5.0.7.0",
-            "fileVersion": "5.0.7.0"
+            "assemblyVersion": "5.0.18.0",
+            "fileVersion": "5.0.18.0"
           }
         }
       },
@@ -387,7 +492,7 @@
           "SharpZipLib": "1.3.3",
           "SixLabors.Fonts": "1.0.0",
           "SixLabors.ImageSharp": "2.1.4",
-          "System.Configuration.ConfigurationManager": "6.0.0",
+          "System.Configuration.ConfigurationManager": "8.0.0",
           "System.Security.Cryptography.Xml": "6.0.1"
         },
         "runtime": {
@@ -422,6 +527,17 @@
           }
         }
       },
+      "Oscar.Data.SqlClient/4.0.4": {
+        "dependencies": {
+          "System.Text.Encoding.CodePages": "5.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/Oscar.Data.SqlClient.dll": {
+            "assemblyVersion": "4.0.4.0",
+            "fileVersion": "4.0.4.0"
+          }
+        }
+      },
       "SharpZipLib/1.3.3": {
         "runtime": {
           "lib/netstandard2.1/ICSharpCode.SharpZipLib.dll": {
@@ -440,7 +556,7 @@
       },
       "SixLabors.ImageSharp/2.1.4": {
         "dependencies": {
-          "System.Runtime.CompilerServices.Unsafe": "5.0.0",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0",
           "System.Text.Encoding.CodePages": "5.0.0"
         },
         "runtime": {
@@ -490,7 +606,7 @@
       },
       "SQLitePCLRaw.core/2.1.6": {
         "dependencies": {
-          "System.Memory": "4.5.3"
+          "System.Memory": "4.5.4"
         },
         "runtime": {
           "lib/netstandard2.0/SQLitePCLRaw.core.dll": {
@@ -614,61 +730,75 @@
           }
         }
       },
-      "SqlSugarCore/5.1.4.129": {
+      "SqlSugarCore/5.1.4.170": {
         "dependencies": {
-          "Microsoft.Data.SqlClient": "2.1.4",
-          "Microsoft.Data.Sqlite": "8.0.0",
+          "Microsoft.Data.SqlClient": "5.2.2",
+          "Microsoft.Data.Sqlite": "8.0.1",
           "MySqlConnector": "2.2.5",
           "Newtonsoft.Json": "13.0.3",
-          "Npgsql": "5.0.7",
+          "Npgsql": "5.0.18",
           "Oracle.ManagedDataAccess.Core": "3.21.100",
-          "SqlSugarCore.Dm": "1.2.0",
-          "SqlSugarCore.Kdbndp": "7.4.0",
+          "Oscar.Data.SqlClient": "4.0.4",
+          "SqlSugarCore.Dm": "8.6.0",
+          "SqlSugarCore.Kdbndp": "9.3.6.925",
           "System.Data.Common": "4.3.0",
-          "System.Reflection.Emit.Lightweight": "4.3.0"
+          "System.Reflection.Emit.Lightweight": "4.3.0",
+          "System.Text.RegularExpressions": "4.3.1"
         },
         "runtime": {
           "lib/netstandard2.1/SqlSugar.dll": {
-            "assemblyVersion": "5.1.4.129",
-            "fileVersion": "5.1.4.129"
+            "assemblyVersion": "5.1.4.170",
+            "fileVersion": "5.1.4.170"
           }
         }
       },
-      "SqlSugarCore.Dm/1.2.0": {
+      "SqlSugarCore.Dm/8.6.0": {
         "dependencies": {
           "System.Text.Encoding.CodePages": "5.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/DmProvider.dll": {
-            "assemblyVersion": "1.1.0.0",
-            "fileVersion": "1.1.0.16649"
+          "lib/netstandard2.0/DM.DmProvider.dll": {
+            "assemblyVersion": "8.3.1.27409",
+            "fileVersion": "8.3.1.27409"
           }
         }
       },
-      "SqlSugarCore.Kdbndp/7.4.0": {
+      "SqlSugarCore.Kdbndp/9.3.6.925": {
         "runtime": {
           "lib/netstandard2.1/Kdbndp.dll": {
-            "assemblyVersion": "8.3.712.0",
-            "fileVersion": "8.3.712.0"
+            "assemblyVersion": "9.3.6.801",
+            "fileVersion": "9.3.6.925"
+          }
+        }
+      },
+      "System.ClientModel/1.0.0": {
+        "dependencies": {
+          "System.Memory.Data": "1.0.2",
+          "System.Text.Json": "8.0.0"
+        },
+        "runtime": {
+          "lib/net6.0/System.ClientModel.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.24.5302"
           }
         }
       },
       "System.Collections/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
-      "System.Configuration.ConfigurationManager/6.0.0": {
+      "System.Configuration.ConfigurationManager/8.0.0": {
         "dependencies": {
-          "System.Security.Cryptography.ProtectedData": "6.0.0",
-          "System.Security.Permissions": "6.0.0"
+          "System.Diagnostics.EventLog": "8.0.0",
+          "System.Security.Cryptography.ProtectedData": "8.0.0"
         },
         "runtime": {
-          "lib/net6.0/System.Configuration.ConfigurationManager.dll": {
-            "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.21.52210"
+          "lib/net8.0/System.Configuration.ConfigurationManager.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -678,16 +808,42 @@
           "System.Globalization": "4.3.0",
           "System.IO": "4.3.0",
           "System.Resources.ResourceManager": "4.3.0",
-          "System.Runtime": "4.3.0",
+          "System.Runtime": "4.3.1",
           "System.Runtime.Extensions": "4.3.0",
-          "System.Text.RegularExpressions": "4.3.0",
+          "System.Text.RegularExpressions": "4.3.1",
           "System.Threading.Tasks": "4.3.0"
         }
       },
-      "System.Diagnostics.DiagnosticSource/4.7.1": {},
+      "System.Diagnostics.DiagnosticSource/6.0.1": {
+        "dependencies": {
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+        }
+      },
+      "System.Diagnostics.EventLog/8.0.0": {
+        "runtime": {
+          "lib/net8.0/System.Diagnostics.EventLog.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "0.0.0.0"
+          },
+          "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
+          }
+        }
+      },
       "System.Diagnostics.PerformanceCounter/6.0.1": {
         "dependencies": {
-          "System.Configuration.ConfigurationManager": "6.0.0"
+          "System.Configuration.ConfigurationManager": "8.0.0"
         },
         "runtime": {
           "lib/net6.0/System.Diagnostics.PerformanceCounter.dll": {
@@ -781,46 +937,59 @@
       "System.Globalization/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
-      "System.IdentityModel.Tokens.Jwt/6.8.0": {
+      "System.IdentityModel.Tokens.Jwt/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.JsonWebTokens": "6.8.0",
-          "Microsoft.IdentityModel.Tokens": "6.8.0"
+          "Microsoft.IdentityModel.JsonWebTokens": "6.35.0",
+          "Microsoft.IdentityModel.Tokens": "6.35.0"
         },
         "runtime": {
-          "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": {
-            "assemblyVersion": "6.8.0.0",
-            "fileVersion": "6.8.0.11012"
+          "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
       "System.IO/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0",
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1",
           "System.Text.Encoding": "4.3.0",
           "System.Threading.Tasks": "4.3.0"
         }
       },
-      "System.Memory/4.5.3": {},
+      "System.Memory/4.5.4": {},
+      "System.Memory.Data/1.0.2": {
+        "dependencies": {
+          "System.Text.Encodings.Web": "8.0.0",
+          "System.Text.Json": "8.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Memory.Data.dll": {
+            "assemblyVersion": "1.0.2.0",
+            "fileVersion": "1.0.221.20802"
+          }
+        }
+      },
+      "System.Numerics.Vectors/4.5.0": {},
       "System.Reflection/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.1.3",
           "System.IO": "4.3.0",
           "System.Reflection.Primitives": "4.3.0",
-          "System.Runtime": "4.3.0"
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Reflection.Emit.ILGeneration/4.3.0": {
         "dependencies": {
           "System.Reflection": "4.3.0",
           "System.Reflection.Primitives": "4.3.0",
-          "System.Runtime": "4.3.0"
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Reflection.Emit.Lightweight/4.3.0": {
@@ -828,56 +997,56 @@
           "System.Reflection": "4.3.0",
           "System.Reflection.Emit.ILGeneration": "4.3.0",
           "System.Reflection.Primitives": "4.3.0",
-          "System.Runtime": "4.3.0"
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Reflection.Primitives/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Resources.ResourceManager/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.1.3",
           "System.Globalization": "4.3.0",
           "System.Reflection": "4.3.0",
-          "System.Runtime": "4.3.0"
+          "System.Runtime": "4.3.1"
         }
       },
-      "System.Runtime/4.3.0": {
+      "System.Runtime/4.3.1": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0"
+          "Microsoft.NETCore.Targets": "1.1.3"
         }
       },
-      "System.Runtime.Caching/4.7.0": {
+      "System.Runtime.Caching/8.0.0": {
         "dependencies": {
-          "System.Configuration.ConfigurationManager": "6.0.0"
+          "System.Configuration.ConfigurationManager": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/System.Runtime.Caching.dll": {
-            "assemblyVersion": "4.0.1.0",
-            "fileVersion": "4.700.19.56404"
+          "lib/net8.0/System.Runtime.Caching.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         },
         "runtimeTargets": {
-          "runtimes/win/lib/netstandard2.0/System.Runtime.Caching.dll": {
+          "runtimes/win/lib/net8.0/System.Runtime.Caching.dll": {
             "rid": "win",
             "assetType": "runtime",
-            "assemblyVersion": "4.0.1.0",
-            "fileVersion": "4.700.19.56404"
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
-      "System.Runtime.CompilerServices.Unsafe/5.0.0": {},
+      "System.Runtime.CompilerServices.Unsafe/6.0.0": {},
       "System.Runtime.Extensions/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Security.AccessControl/6.0.0": {},
@@ -901,19 +1070,11 @@
           }
         }
       },
-      "System.Security.Cryptography.ProtectedData/6.0.0": {
+      "System.Security.Cryptography.ProtectedData/8.0.0": {
         "runtime": {
-          "lib/net6.0/System.Security.Cryptography.ProtectedData.dll": {
-            "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.21.52210"
-          }
-        },
-        "runtimeTargets": {
-          "runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll": {
-            "rid": "win",
-            "assetType": "runtime",
-            "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.21.52210"
+          "lib/net8.0/System.Security.Cryptography.ProtectedData.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -941,12 +1102,11 @@
           }
         }
       },
-      "System.Security.Principal.Windows/4.7.0": {},
       "System.Text.Encoding/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Text.Encoding.CodePages/5.0.0": {
@@ -960,18 +1120,19 @@
           "System.Text.Encodings.Web": "8.0.0"
         }
       },
-      "System.Text.RegularExpressions/4.3.0": {
+      "System.Text.RegularExpressions/4.3.1": {
         "dependencies": {
-          "System.Runtime": "4.3.0"
+          "System.Runtime": "4.3.1"
         }
       },
       "System.Threading.Tasks/4.3.0": {
         "dependencies": {
           "Microsoft.NETCore.Platforms": "5.0.0",
-          "Microsoft.NETCore.Targets": "1.1.0",
-          "System.Runtime": "4.3.0"
+          "Microsoft.NETCore.Targets": "1.1.3",
+          "System.Runtime": "4.3.1"
         }
       },
+      "System.Threading.Tasks.Extensions/4.5.4": {},
       "System.Windows.Extensions/6.0.0": {
         "dependencies": {
           "System.Drawing.Common": "6.0.0"
@@ -1009,7 +1170,10 @@
       },
       "Chuanyin.Attribute/1.0.0": {
         "runtime": {
-          "Chuanyin.Attribute.dll": {}
+          "Chuanyin.Attribute.dll": {
+            "assemblyVersion": "1.0.0",
+            "fileVersion": "1.0.0.0"
+          }
         }
       },
       "CoreCms.Net.Configuration/1.0.0": {
@@ -1020,17 +1184,23 @@
           "Microsoft.Extensions.Configuration.Json": "8.0.0"
         },
         "runtime": {
-          "CoreCms.Net.Configuration.dll": {}
+          "CoreCms.Net.Configuration.dll": {
+            "assemblyVersion": "1.0.0",
+            "fileVersion": "1.0.0.0"
+          }
         }
       },
       "CoreCms.Net.Model/1.0.0": {
         "dependencies": {
           "Chuanyin.Attribute": "1.0.0",
           "SKIT.FlurlHttpClient.Wechat.Api": "2.36.0",
-          "SqlSugarCore": "5.1.4.129"
+          "SqlSugarCore": "5.1.4.170"
         },
         "runtime": {
-          "CoreCms.Net.Model.dll": {}
+          "CoreCms.Net.Model.dll": {
+            "assemblyVersion": "1.0.0",
+            "fileVersion": "1.0.0.0"
+          }
         }
       }
     }
@@ -1054,6 +1224,20 @@
       "sha512": "sha512-hvV62vl6Hp/WfQ24yzo3Co9+OPl8wH8hApwVtgWpiAynVJkUcs7xvehnSftawL8Pe8FrPffBRM3hwzLQqWDNjA==",
       "path": "automapper/12.0.1",
       "hashPath": "automapper.12.0.1.nupkg.sha512"
+    },
+    "Azure.Core/1.38.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IuEgCoVA0ef7E4pQtpC3+TkPbzaoQfa77HlfJDmfuaJUCVJmn7fT0izamZiryW5sYUFKizsftIxMkXKbgIcPMQ==",
+      "path": "azure.core/1.38.0",
+      "hashPath": "azure.core.1.38.0.nupkg.sha512"
+    },
+    "Azure.Identity/1.11.4": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Sf4BoE6Q3jTgFkgBkx7qztYOFELBCo+wQgpYDwal/qJ1unBH73ywPztIJKXBXORRzAeNijsuxhk94h0TIMvfYg==",
+      "path": "azure.identity/1.11.4",
+      "hashPath": "azure.identity.1.11.4.nupkg.sha512"
     },
     "BouncyCastle.Cryptography/2.2.1": {
       "type": "package",
@@ -1090,6 +1274,13 @@
       "path": "mathnet.numerics.signed/4.15.0",
       "hashPath": "mathnet.numerics.signed.4.15.0.nupkg.sha512"
     },
+    "Microsoft.Bcl.AsyncInterfaces/1.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==",
+      "path": "microsoft.bcl.asyncinterfaces/1.1.1",
+      "hashPath": "microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512"
+    },
     "Microsoft.CSharp/4.7.0": {
       "type": "package",
       "serviceable": true,
@@ -1097,33 +1288,33 @@
       "path": "microsoft.csharp/4.7.0",
       "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512"
     },
-    "Microsoft.Data.SqlClient/2.1.4": {
+    "Microsoft.Data.SqlClient/5.2.2": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-cDcKBTKILdRuAzJjbgXwGcUQXzMue+SG02kD4tZTXXfoz4ALrGLpCnA5k9khw3fnAMlMnRzLIGuvRdJurqmESA==",
-      "path": "microsoft.data.sqlclient/2.1.4",
-      "hashPath": "microsoft.data.sqlclient.2.1.4.nupkg.sha512"
+      "sha512": "sha512-mtoeRMh7F/OA536c/Cnh8L4H0uLSKB5kSmoi54oN7Fp0hNJDy22IqyMhaMH4PkDCqI7xL//Fvg9ldtuPHG0h5g==",
+      "path": "microsoft.data.sqlclient/5.2.2",
+      "hashPath": "microsoft.data.sqlclient.5.2.2.nupkg.sha512"
     },
-    "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": {
+    "Microsoft.Data.SqlClient.SNI.runtime/5.2.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-JwGDWkyZgm7SATJmFLfT2G4teimvNbNtq3lsS9a5DzvhEZnQrZjZhevCU0vdx8MjheLHoG5vocuO03QtioFQxQ==",
-      "path": "microsoft.data.sqlclient.sni.runtime/2.1.1",
-      "hashPath": "microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512"
+      "sha512": "sha512-po1jhvFd+8pbfvJR/puh+fkHi0GRanAdvayh/0e47yaM6CXWZ6opUjCMFuYlAnD2LcbyvQE7fPJKvogmaUcN+w==",
+      "path": "microsoft.data.sqlclient.sni.runtime/5.2.0",
+      "hashPath": "microsoft.data.sqlclient.sni.runtime.5.2.0.nupkg.sha512"
     },
-    "Microsoft.Data.Sqlite/8.0.0": {
+    "Microsoft.Data.Sqlite/8.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-H+iC5IvkCCKSNHXzL3JARvDn7VpkvuJM91KVB89sKjeTF/KX/BocNNh93ZJtX5MCQKb/z4yVKgkU2sVIq+xKfg==",
-      "path": "microsoft.data.sqlite/8.0.0",
-      "hashPath": "microsoft.data.sqlite.8.0.0.nupkg.sha512"
+      "sha512": "sha512-+7uDWNYZmLrVq9eABAKwy1phGbpoFVohKCUoh/nGg9WiBwi856EkAJYFiQhTJWoXxzpInkLFj/6KACoSB7ODYg==",
+      "path": "microsoft.data.sqlite/8.0.1",
+      "hashPath": "microsoft.data.sqlite.8.0.1.nupkg.sha512"
     },
-    "Microsoft.Data.Sqlite.Core/8.0.0": {
+    "Microsoft.Data.Sqlite.Core/8.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-pujbzfszX7jAl7oTbHhqx7pxd9jibeyHHl8zy1gd55XMaKWjDtc5XhhNYwQnrwWYCInNdVoArbaaAvLgW7TwuA==",
-      "path": "microsoft.data.sqlite.core/8.0.0",
-      "hashPath": "microsoft.data.sqlite.core.8.0.0.nupkg.sha512"
+      "sha512": "sha512-s8C8xbwMb79EqzTaIhwiBrYtbv6ATnUW19pJed4fKVgN5K4VPQ7JUGqBLztknvD6EJIMKrfRnINGTjnZghrDGw==",
+      "path": "microsoft.data.sqlite.core/8.0.1",
+      "hashPath": "microsoft.data.sqlite.core.8.0.1.nupkg.sha512"
     },
     "Microsoft.Extensions.Configuration/8.0.0": {
       "type": "package",
@@ -1181,47 +1372,61 @@
       "path": "microsoft.extensions.primitives/8.0.0",
       "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Identity.Client/4.21.1": {
+    "Microsoft.Identity.Client/4.61.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-vycgk7S/HAbHaUaK4Tid1fsWHsXdFRRP2KavAIOHCVV27zvuQfYAjXmMvctuuF4egydSumG58CwPZob3gWeYgQ==",
-      "path": "microsoft.identity.client/4.21.1",
-      "hashPath": "microsoft.identity.client.4.21.1.nupkg.sha512"
+      "sha512": "sha512-naJo/Qm35Caaoxp5utcw+R8eU8ZtLz2ALh8S+gkekOYQ1oazfCQMWVT4NJ/FnHzdIJlm8dMz0oMpMGCabx5odA==",
+      "path": "microsoft.identity.client/4.61.3",
+      "hashPath": "microsoft.identity.client.4.61.3.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.JsonWebTokens/6.8.0": {
+    "Microsoft.Identity.Client.Extensions.Msal/4.61.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-+7JIww64PkMt7NWFxoe4Y/joeF7TAtA/fQ0b2GFGcagzB59sKkTt/sMZWR6aSZht5YC7SdHi3W6yM1yylRGJCQ==",
-      "path": "microsoft.identitymodel.jsonwebtokens/6.8.0",
-      "hashPath": "microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512"
+      "sha512": "sha512-PWnJcznrSGr25MN8ajlc2XIDW4zCFu0U6FkpaNLEWLgd1NgFCp5uDY3mqLDgM8zCN8hqj8yo5wHYfLB2HjcdGw==",
+      "path": "microsoft.identity.client.extensions.msal/4.61.3",
+      "hashPath": "microsoft.identity.client.extensions.msal.4.61.3.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Logging/6.8.0": {
+    "Microsoft.IdentityModel.Abstractions/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-Rfh/p4MaN4gkmhPxwbu8IjrmoDncGfHHPh1sTnc0AcM/Oc39/fzC9doKNWvUAjzFb8LqA6lgZyblTrIsX/wDXg==",
-      "path": "microsoft.identitymodel.logging/6.8.0",
-      "hashPath": "microsoft.identitymodel.logging.6.8.0.nupkg.sha512"
+      "sha512": "sha512-xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==",
+      "path": "microsoft.identitymodel.abstractions/6.35.0",
+      "hashPath": "microsoft.identitymodel.abstractions.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Protocols/6.8.0": {
+    "Microsoft.IdentityModel.JsonWebTokens/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-OJZx5nPdiH+MEkwCkbJrTAUiO/YzLe0VSswNlDxJsJD9bhOIdXHufh650pfm59YH1DNevp3/bXzukKrG57gA1w==",
-      "path": "microsoft.identitymodel.protocols/6.8.0",
-      "hashPath": "microsoft.identitymodel.protocols.6.8.0.nupkg.sha512"
+      "sha512": "sha512-9wxai3hKgZUb4/NjdRKfQd0QJvtXKDlvmGMYACbEC8DFaicMFCFhQFZq9ZET1kJLwZahf2lfY5Gtcpsx8zYzbg==",
+      "path": "microsoft.identitymodel.jsonwebtokens/6.35.0",
+      "hashPath": "microsoft.identitymodel.jsonwebtokens.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": {
+    "Microsoft.IdentityModel.Logging/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-X/PiV5l3nYYsodtrNMrNQIVlDmHpjQQ5w48E+o/D5H4es2+4niEyQf3l03chvZGWNzBRhfSstaXr25/Ye4AeYw==",
-      "path": "microsoft.identitymodel.protocols.openidconnect/6.8.0",
-      "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512"
+      "sha512": "sha512-jePrSfGAmqT81JDCNSY+fxVWoGuJKt9e6eJ+vT7+quVS55nWl//jGjUQn4eFtVKt4rt5dXaleZdHRB9J9AJZ7Q==",
+      "path": "microsoft.identitymodel.logging/6.35.0",
+      "hashPath": "microsoft.identitymodel.logging.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Tokens/6.8.0": {
+    "Microsoft.IdentityModel.Protocols/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-gTqzsGcmD13HgtNePPcuVHZ/NXWmyV+InJgalW/FhWpII1D7V1k0obIseGlWMeA4G+tZfeGMfXr0klnWbMR/mQ==",
-      "path": "microsoft.identitymodel.tokens/6.8.0",
-      "hashPath": "microsoft.identitymodel.tokens.6.8.0.nupkg.sha512"
+      "sha512": "sha512-BPQhlDzdFvv1PzaUxNSk+VEPwezlDEVADIKmyxubw7IiELK18uJ06RQ9QKKkds30XI+gDu9n8j24XQ8w7fjWcg==",
+      "path": "microsoft.identitymodel.protocols/6.35.0",
+      "hashPath": "microsoft.identitymodel.protocols.6.35.0.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.35.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LMtVqnECCCdSmyFoCOxIE5tXQqkOLrvGrL7OxHg41DIm1bpWtaCdGyVcTAfOQpJXvzND9zUKIN/lhngPkYR8vg==",
+      "path": "microsoft.identitymodel.protocols.openidconnect/6.35.0",
+      "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.35.0.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.Tokens/6.35.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-RN7lvp7s3Boucg1NaNAbqDbxtlLj5Qeb+4uSS1TeK5FSBVM40P4DKaTKChT43sHyKfh7V0zkrMph6DdHvyA4bg==",
+      "path": "microsoft.identitymodel.tokens/6.35.0",
+      "hashPath": "microsoft.identitymodel.tokens.6.35.0.nupkg.sha512"
     },
     "Microsoft.IO.RecyclableMemoryStream/2.3.2": {
       "type": "package",
@@ -1237,19 +1442,19 @@
       "path": "microsoft.netcore.platforms/5.0.0",
       "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512"
     },
-    "Microsoft.NETCore.Targets/1.1.0": {
+    "Microsoft.NETCore.Targets/1.1.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==",
-      "path": "microsoft.netcore.targets/1.1.0",
-      "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512"
+      "sha512": "sha512-3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==",
+      "path": "microsoft.netcore.targets/1.1.3",
+      "hashPath": "microsoft.netcore.targets.1.1.3.nupkg.sha512"
     },
-    "Microsoft.Win32.Registry/4.7.0": {
+    "Microsoft.SqlServer.Server/1.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-KSrRMb5vNi0CWSGG1++id2ZOs/1QhRqROt+qgbEAdQuGjGrFcl4AOl4/exGPUYz2wUnU42nvJqon1T3U0kPXLA==",
-      "path": "microsoft.win32.registry/4.7.0",
-      "hashPath": "microsoft.win32.registry.4.7.0.nupkg.sha512"
+      "sha512": "sha512-N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug==",
+      "path": "microsoft.sqlserver.server/1.0.0",
+      "hashPath": "microsoft.sqlserver.server.1.0.0.nupkg.sha512"
     },
     "Microsoft.Win32.SystemEvents/6.0.0": {
       "type": "package",
@@ -1272,12 +1477,12 @@
       "path": "newtonsoft.json/13.0.3",
       "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
     },
-    "Npgsql/5.0.7": {
+    "Npgsql/5.0.18": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-EQWwxb2lN9w78YG4f6Fxhw5lFEx4LuaNGasXzw86kTOJxiPsUORSh/BTencNZJO4uVqGZx3EO9Z8JXTAvRjgeg==",
-      "path": "npgsql/5.0.7",
-      "hashPath": "npgsql.5.0.7.nupkg.sha512"
+      "sha512": "sha512-1u4iCPKL9wtPeSUzChIbgq/BlOhvf44o7xASacdpMY7z0PbqACKpNOF0fjEn9jDV/AJl/HtPY6zk5qasQ1URhw==",
+      "path": "npgsql/5.0.18",
+      "hashPath": "npgsql.5.0.18.nupkg.sha512"
     },
     "NPOI/2.6.2": {
       "type": "package",
@@ -1292,6 +1497,13 @@
       "sha512": "sha512-nsqyUE+v246WB0SOnR1u9lfZxYoNcdj1fRjTt7TOhCN0JurEc6+qu+mMe+dl1sySB2UpyWdfqHG1iSQJYaXEfA==",
       "path": "oracle.manageddataaccess.core/3.21.100",
       "hashPath": "oracle.manageddataaccess.core.3.21.100.nupkg.sha512"
+    },
+    "Oscar.Data.SqlClient/4.0.4": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VJ3xVvRjxrPi/mMPT5EqYiMZor0MjFu83mw1qvUveBFWJSudGh9BOKZq7RkhqeNCcL1ud0uK0/TVkw+xTa4q4g==",
+      "path": "oscar.data.sqlclient/4.0.4",
+      "hashPath": "oscar.data.sqlclient.4.0.4.nupkg.sha512"
     },
     "SharpZipLib/1.3.3": {
       "type": "package",
@@ -1356,26 +1568,33 @@
       "path": "sqlitepclraw.provider.e_sqlite3/2.1.6",
       "hashPath": "sqlitepclraw.provider.e_sqlite3.2.1.6.nupkg.sha512"
     },
-    "SqlSugarCore/5.1.4.129": {
+    "SqlSugarCore/5.1.4.170": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-Mc7WK7WHVeG+v+IQ74ETxxu8FOG5gFU9js6Aaf5PS0e0RH/D3YZ8YoSxYr0MUvR2MsbhX0so+4pIJCvfYfXZ9w==",
-      "path": "sqlsugarcore/5.1.4.129",
-      "hashPath": "sqlsugarcore.5.1.4.129.nupkg.sha512"
+      "sha512": "sha512-TVFfkbKak2I1VxUI8nqAUbn9rkt37m13ooq30pLK/bj9MZvV0hPbVElTn09Jg5PmfzFwXeXaQnay7IXwkODAtw==",
+      "path": "sqlsugarcore/5.1.4.170",
+      "hashPath": "sqlsugarcore.5.1.4.170.nupkg.sha512"
     },
-    "SqlSugarCore.Dm/1.2.0": {
+    "SqlSugarCore.Dm/8.6.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-JFhgCGfCMvI0/u7WdsSzK4D7ptZl1RXP8Q7KwSGpBndgUXlfnnmCfwJaz4f89XxalRLLk1h/x0RAuUei98/CmA==",
-      "path": "sqlsugarcore.dm/1.2.0",
-      "hashPath": "sqlsugarcore.dm.1.2.0.nupkg.sha512"
+      "sha512": "sha512-Q0NAjF9hvkxLbNedIrCqKd3uru0enzZ49GaQtenvsLDQ29aHwlSqg1mRkVYxZ/85UYJFgXh+XHqABSrMgun4aw==",
+      "path": "sqlsugarcore.dm/8.6.0",
+      "hashPath": "sqlsugarcore.dm.8.6.0.nupkg.sha512"
     },
-    "SqlSugarCore.Kdbndp/7.4.0": {
+    "SqlSugarCore.Kdbndp/9.3.6.925": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-cHqgzvPz65v6pkO61oZM2pcPKY0KXvZo2EEAbZFHmyl5X7suxzpTOz/b6DvXjmRlcHxTRKGav2wwmStqTiUacg==",
-      "path": "sqlsugarcore.kdbndp/7.4.0",
-      "hashPath": "sqlsugarcore.kdbndp.7.4.0.nupkg.sha512"
+      "sha512": "sha512-Qq1BAYi83aySpL6WHPLtIa0Pbh2TjFh5GYmAw9rxB4W7j6L3NKN3skaNxBbWw0Hn8y+bvCjnM0bejPK6i8Jihg==",
+      "path": "sqlsugarcore.kdbndp/9.3.6.925",
+      "hashPath": "sqlsugarcore.kdbndp.9.3.6.925.nupkg.sha512"
+    },
+    "System.ClientModel/1.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-I3CVkvxeqFYjIVEP59DnjbeoGNfo/+SZrCLpRz2v/g0gpCHaEMPtWSY0s9k/7jR1rAsLNg2z2u1JRB76tPjnIw==",
+      "path": "system.clientmodel/1.0.0",
+      "hashPath": "system.clientmodel.1.0.0.nupkg.sha512"
     },
     "System.Collections/4.3.0": {
       "type": "package",
@@ -1384,12 +1603,12 @@
       "path": "system.collections/4.3.0",
       "hashPath": "system.collections.4.3.0.nupkg.sha512"
     },
-    "System.Configuration.ConfigurationManager/6.0.0": {
+    "System.Configuration.ConfigurationManager/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-7T+m0kDSlIPTHIkPMIu6m6tV6qsMqJpvQWW2jIc2qi7sn40qxFo0q+7mEQAhMPXZHMKnWrnv47ntGlM/ejvw3g==",
-      "path": "system.configuration.configurationmanager/6.0.0",
-      "hashPath": "system.configuration.configurationmanager.6.0.0.nupkg.sha512"
+      "sha512": "sha512-JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==",
+      "path": "system.configuration.configurationmanager/8.0.0",
+      "hashPath": "system.configuration.configurationmanager.8.0.0.nupkg.sha512"
     },
     "System.Data.Common/4.3.0": {
       "type": "package",
@@ -1398,12 +1617,19 @@
       "path": "system.data.common/4.3.0",
       "hashPath": "system.data.common.4.3.0.nupkg.sha512"
     },
-    "System.Diagnostics.DiagnosticSource/4.7.1": {
+    "System.Diagnostics.DiagnosticSource/6.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-j81Lovt90PDAq8kLpaJfJKV/rWdWuEk6jfV+MBkee33vzYLEUsy4gXK8laa9V2nZlLM9VM9yA/OOQxxPEJKAMw==",
-      "path": "system.diagnostics.diagnosticsource/4.7.1",
-      "hashPath": "system.diagnostics.diagnosticsource.4.7.1.nupkg.sha512"
+      "sha512": "sha512-KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==",
+      "path": "system.diagnostics.diagnosticsource/6.0.1",
+      "hashPath": "system.diagnostics.diagnosticsource.6.0.1.nupkg.sha512"
+    },
+    "System.Diagnostics.EventLog/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==",
+      "path": "system.diagnostics.eventlog/8.0.0",
+      "hashPath": "system.diagnostics.eventlog.8.0.0.nupkg.sha512"
     },
     "System.Diagnostics.PerformanceCounter/6.0.1": {
       "type": "package",
@@ -1447,12 +1673,12 @@
       "path": "system.globalization/4.3.0",
       "hashPath": "system.globalization.4.3.0.nupkg.sha512"
     },
-    "System.IdentityModel.Tokens.Jwt/6.8.0": {
+    "System.IdentityModel.Tokens.Jwt/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-5tBCjAub2Bhd5qmcd0WhR5s354e4oLYa//kOWrkX+6/7ZbDDJjMTfwLSOiZ/MMpWdE4DWPLOfTLOq/juj9CKzA==",
-      "path": "system.identitymodel.tokens.jwt/6.8.0",
-      "hashPath": "system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512"
+      "sha512": "sha512-yxGIQd3BFK7F6S62/7RdZk3C/mfwyVxvh6ngd1VYMBmbJ1YZZA9+Ku6suylVtso0FjI0wbElpJ0d27CdsyLpBQ==",
+      "path": "system.identitymodel.tokens.jwt/6.35.0",
+      "hashPath": "system.identitymodel.tokens.jwt.6.35.0.nupkg.sha512"
     },
     "System.IO/4.3.0": {
       "type": "package",
@@ -1461,12 +1687,26 @@
       "path": "system.io/4.3.0",
       "hashPath": "system.io.4.3.0.nupkg.sha512"
     },
-    "System.Memory/4.5.3": {
+    "System.Memory/4.5.4": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
-      "path": "system.memory/4.5.3",
-      "hashPath": "system.memory.4.5.3.nupkg.sha512"
+      "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==",
+      "path": "system.memory/4.5.4",
+      "hashPath": "system.memory.4.5.4.nupkg.sha512"
+    },
+    "System.Memory.Data/1.0.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==",
+      "path": "system.memory.data/1.0.2",
+      "hashPath": "system.memory.data.1.0.2.nupkg.sha512"
+    },
+    "System.Numerics.Vectors/4.5.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==",
+      "path": "system.numerics.vectors/4.5.0",
+      "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512"
     },
     "System.Reflection/4.3.0": {
       "type": "package",
@@ -1503,26 +1743,26 @@
       "path": "system.resources.resourcemanager/4.3.0",
       "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512"
     },
-    "System.Runtime/4.3.0": {
+    "System.Runtime/4.3.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
-      "path": "system.runtime/4.3.0",
-      "hashPath": "system.runtime.4.3.0.nupkg.sha512"
+      "sha512": "sha512-abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==",
+      "path": "system.runtime/4.3.1",
+      "hashPath": "system.runtime.4.3.1.nupkg.sha512"
     },
-    "System.Runtime.Caching/4.7.0": {
+    "System.Runtime.Caching/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-NdvNRjTPxYvIEhXQszT9L9vJhdQoX6AQ0AlhjTU+5NqFQVuacJTfhPVAvtGWNA2OJCqRiR/okBcZgMwI6MqcZg==",
-      "path": "system.runtime.caching/4.7.0",
-      "hashPath": "system.runtime.caching.4.7.0.nupkg.sha512"
+      "sha512": "sha512-4TmlmvGp4kzZomm7J2HJn6IIx0UUrQyhBDyb5O1XiunZlQImXW+B8b7W/sTPcXhSf9rp5NR5aDtQllwbB5elOQ==",
+      "path": "system.runtime.caching/8.0.0",
+      "hashPath": "system.runtime.caching.8.0.0.nupkg.sha512"
     },
-    "System.Runtime.CompilerServices.Unsafe/5.0.0": {
+    "System.Runtime.CompilerServices.Unsafe/6.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-ZD9TMpsmYJLrxbbmdvhwt9YEgG5WntEnZ/d1eH8JBX9LBp+Ju8BSBhUGbZMNVHHomWo2KVImJhTDl2hIgw/6MA==",
-      "path": "system.runtime.compilerservices.unsafe/5.0.0",
-      "hashPath": "system.runtime.compilerservices.unsafe.5.0.0.nupkg.sha512"
+      "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
+      "path": "system.runtime.compilerservices.unsafe/6.0.0",
+      "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
     },
     "System.Runtime.Extensions/4.3.0": {
       "type": "package",
@@ -1552,12 +1792,12 @@
       "path": "system.security.cryptography.pkcs/6.0.1",
       "hashPath": "system.security.cryptography.pkcs.6.0.1.nupkg.sha512"
     },
-    "System.Security.Cryptography.ProtectedData/6.0.0": {
+    "System.Security.Cryptography.ProtectedData/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==",
-      "path": "system.security.cryptography.protecteddata/6.0.0",
-      "hashPath": "system.security.cryptography.protecteddata.6.0.0.nupkg.sha512"
+      "sha512": "sha512-+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==",
+      "path": "system.security.cryptography.protecteddata/8.0.0",
+      "hashPath": "system.security.cryptography.protecteddata.8.0.0.nupkg.sha512"
     },
     "System.Security.Cryptography.Xml/6.0.1": {
       "type": "package",
@@ -1572,13 +1812,6 @@
       "sha512": "sha512-T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==",
       "path": "system.security.permissions/6.0.0",
       "hashPath": "system.security.permissions.6.0.0.nupkg.sha512"
-    },
-    "System.Security.Principal.Windows/4.7.0": {
-      "type": "package",
-      "serviceable": true,
-      "sha512": "sha512-ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ==",
-      "path": "system.security.principal.windows/4.7.0",
-      "hashPath": "system.security.principal.windows.4.7.0.nupkg.sha512"
     },
     "System.Text.Encoding/4.3.0": {
       "type": "package",
@@ -1608,12 +1841,12 @@
       "path": "system.text.json/8.0.0",
       "hashPath": "system.text.json.8.0.0.nupkg.sha512"
     },
-    "System.Text.RegularExpressions/4.3.0": {
+    "System.Text.RegularExpressions/4.3.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==",
-      "path": "system.text.regularexpressions/4.3.0",
-      "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512"
+      "sha512": "sha512-N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==",
+      "path": "system.text.regularexpressions/4.3.1",
+      "hashPath": "system.text.regularexpressions.4.3.1.nupkg.sha512"
     },
     "System.Threading.Tasks/4.3.0": {
       "type": "package",
@@ -1622,6 +1855,13 @@
       "path": "system.threading.tasks/4.3.0",
       "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512"
     },
+    "System.Threading.Tasks.Extensions/4.5.4": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
+      "path": "system.threading.tasks.extensions/4.5.4",
+      "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512"
+    },
     "System.Windows.Extensions/6.0.0": {
       "type": "package",
       "serviceable": true,
diff --git a/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.csproj.user b/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.csproj.user
index a8e7a36..a81bbc9 100644
--- a/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.csproj.user
+++ b/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.csproj.user
@@ -5,6 +5,6 @@
   </PropertyGroup>
   <PropertyGroup>
     <ActiveDebugProfile>CoreCms.Net.Web.Admin</ActiveDebugProfile>
-    <NameOfLastUsedPublishProfile>E:\workdir\鐧惧垎鐧惧晢鍩庡悗鍙癨CoreCms.Net.Web.Admin\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
+    <NameOfLastUsedPublishProfile>D:\workdir\鐧惧垎鐧惧晢鍩庡悗鍙癨CoreCms.Net.Web.Admin\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/CoreCms.Net.Web.Admin/Properties/PublishProfiles/FolderProfile.pubxml.user b/CoreCms.Net.Web.Admin/Properties/PublishProfiles/FolderProfile.pubxml.user
index 692ff33..2ad2404 100644
--- a/CoreCms.Net.Web.Admin/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/CoreCms.Net.Web.Admin/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
 <Project>
   <PropertyGroup>
     <_PublishTargetUrl>D:\鐧惧垎鐧惧叺娉昞amdin</_PublishTargetUrl>
-    <History>True|2024-03-25T08:23:53.3700098Z||;True|2024-03-22T15:47:32.7654733+08:00||;True|2024-03-22T15:09:29.2264498+08:00||;True|2024-03-22T15:07:15.2508456+08:00||;True|2024-03-22T15:05:16.2711535+08:00||;False|2024-03-22T15:04:31.2575304+08:00||;True|2024-03-22T15:03:00.8920659+08:00||;True|2024-03-22T15:01:27.3610041+08:00||;True|2024-03-22T14:57:44.8810310+08:00||;True|2024-03-12T10:40:47.9194314+08:00||;True|2024-03-12T10:34:02.7762360+08:00||;True|2024-03-05T11:41:33.0893153+08:00||;True|2024-03-05T11:40:03.2217071+08:00||;True|2024-03-05T11:36:59.7527058+08:00||;True|2024-03-05T11:28:53.3016177+08:00||;True|2024-03-05T11:25:36.1455179+08:00||;True|2024-03-05T11:21:14.3434416+08:00||;True|2024-03-05T11:19:24.1653295+08:00||;True|2024-03-05T11:09:56.2458501+08:00||;True|2024-03-05T11:07:48.5516657+08:00||;True|2024-03-05T11:02:55.2646393+08:00||;True|2024-03-05T10:56:05.2900663+08:00||;</History>
+    <History>True|2024-10-30T02:11:50.5714367Z||;True|2024-03-25T16:23:53.3700098+08:00||;True|2024-03-22T15:47:32.7654733+08:00||;True|2024-03-22T15:09:29.2264498+08:00||;True|2024-03-22T15:07:15.2508456+08:00||;True|2024-03-22T15:05:16.2711535+08:00||;False|2024-03-22T15:04:31.2575304+08:00||;True|2024-03-22T15:03:00.8920659+08:00||;True|2024-03-22T15:01:27.3610041+08:00||;True|2024-03-22T14:57:44.8810310+08:00||;True|2024-03-12T10:40:47.9194314+08:00||;True|2024-03-12T10:34:02.7762360+08:00||;True|2024-03-05T11:41:33.0893153+08:00||;True|2024-03-05T11:40:03.2217071+08:00||;True|2024-03-05T11:36:59.7527058+08:00||;True|2024-03-05T11:28:53.3016177+08:00||;True|2024-03-05T11:25:36.1455179+08:00||;True|2024-03-05T11:21:14.3434416+08:00||;True|2024-03-05T11:19:24.1653295+08:00||;True|2024-03-05T11:09:56.2458501+08:00||;True|2024-03-05T11:07:48.5516657+08:00||;True|2024-03-05T11:02:55.2646393+08:00||;True|2024-03-05T10:56:05.2900663+08:00||;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/details.html b/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/details.html
index 9f617ca..52ff4cc 100644
--- a/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/details.html
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/details.html
@@ -97,17 +97,17 @@
                     <label for="idCradNumber">韬唤璇�</label>
                 </td>
                 <td>
-                 {{#if(d.params.data.model.idCradNumber){}}
-                  
-               
-                 <a href="javascript:;" class="preview-image" data-url="{{d.params.data.lisimg1}}">
-                    <img src="{{d.params.data.lisimg1}}" alt="鍥剧墖棰勮" style="max-width:30px;max-height:30px;  margin-left: 5px;">
-                  </a>
-                     <!-- <a href="javascript:void(0);" onclick=""><img style="max-width:30px;max-height:30px;  margin-left: 5px;" src="{{d.params.data.lisimg1}}" /></a>
+                    {{#if(d.params.data.model.idCradNumber){}}
 
-                     <a href="javascript:void(0);" onclick=""><img style="max-width:30px;max-height:30px;  margin-left: 5px;" src="{{d.params.data.lisimg1}}" /></a> -->
+
+                    <a href="javascript:;" class="preview-image" data-url="{{d.params.data.lisimg1}}">
+                        <img src="{{d.params.data.lisimg1}}" alt="鍥剧墖棰勮" style="max-width:30px;max-height:30px;  margin-left: 5px;">
+                    </a>
+                    <!-- <a href="javascript:void(0);" onclick=""><img style="max-width:30px;max-height:30px;  margin-left: 5px;" src="{{d.params.data.lisimg1}}" /></a>
+
+            <a href="javascript:void(0);" onclick=""><img style="max-width:30px;max-height:30px;  margin-left: 5px;" src="{{d.params.data.lisimg1}}" /></a> -->
                     {{# }else{}}
-           
+
                     <img src=" /static/images/common/empty-banner.png" />
                     {{# }}}
                 </td>
@@ -120,7 +120,14 @@
                     {{ d.params.data.model.storeDesc || '' }}
                 </td>
             </tr>
-
+            <tr>
+                <td>
+                    <label for="storeDesc">鍦板潃</label>
+                </td>
+                <td colspan="3">
+                    {{ d.params.data.model.address || '' }}
+                </td>
+            </tr>
             <tr>
                 <td>
                     <label for="createTime">鍒涘缓鏃堕棿</label>
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/edit.html b/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/edit.html
index e6a2d91..955182f 100644
--- a/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/edit.html
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/edit.html
@@ -11,7 +11,7 @@
     <div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsDistribution-editForm" id="LAY-app-CoreCmsDistribution-editForm">
         <input type="hidden" name="id" value="{{d.params.data.model.id || '' }}" />
         <input type="hidden" name="userId" value="{{d.params.data.model.userId || '' }}" />
-      
+
         <div class="layui-form-item">
             <label for="name" class="layui-form-label  layui-form-required">缁忛攢鍟嗗悕绉�</label>
             <div class="layui-input-inline">
@@ -38,12 +38,19 @@
             <div class="layui-input-inline">
                 <input name="storeName" class="layui-input" placeholder="搴楅摵鍚嶇О" lay-reqText="搴楅摵鍚嶇О" value="{{d.params.data.model.storeName || '' }}" />
             </div>
-           
+
+        </div>
+        <div class="layui-form-item">
+            <label for="address" class="layui-form-label">鍦板潃</label>
+            <div class="layui-input-inline">
+                <input name="address" disabled  class="layui-input" placeholder="鍦板潃" lay-reqText="鍦板潃" value="{{d.params.data.model.address || '' }}" />
+            </div>
+
         </div>
         <div class="layui-form-item">
             <label for="gradeId" class="layui-form-label  layui-form-required">缁忛攢绛夌骇</label>
             <div class="layui-input-inline">
-                <select name="gradeId" lay-verify="required">
+                <select name="gradeId" lay-verify="required" disabled>
                     <option value="">璇烽�夋嫨</option>
                     {{# layui.each(d.params.data.grades, function(index, item){ }}
                     <option value="{{ item.id }}" {{item.id==d.params.data.model.gradeId?'selected="selected"':''}}>{{ item.name }}</option>
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/index.html b/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/index.html
index a1cd7ce..0901797 100644
--- a/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/index.html
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/index.html
@@ -106,7 +106,7 @@
     <!-- <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="qrcode">灏忕▼搴忕爜</a> -->
     <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="achievement">鎺ㄥ箍璐�</a>
     <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">鏌ョ湅</a>
-    <a class="layui-btn layui-btn-xs" lay-event="edit">瀹℃牳</a>
+    <a class="layui-btn layui-btn-xs {{d.verifyStatus!=1?'layui-btn-danger' :''}} " lay-event="edit">{{d.verifyStatus==1?'淇敼' :'瀹℃牳'}} </a>
     <a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#CoreCmsDistributionTbDelDrop{{d.LAY_NUM}}" no-shade="true">鍒犻櫎</a>
     <div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="CoreCmsDistributionTbDelDrop{{d.LAY_NUM}}"
          style="max-width: 200px; white-space: normal; min-width: auto; margin-left: 10px;">
@@ -189,8 +189,9 @@
                           // { field: 'weixin', title: '寰俊鍙�', sort: false, width: 100 },
                           { field: 'profession', title: '琛屼笟', sort: false, width: 100 },
                          //   { field: 'qq', title: 'qq鍙�', sort: false, width: 90 },
-                         { field: 'sales', title: '骞磋惀涓氶(鍏�)', sort: false, width: 100 },
-                            { field: 'storeName', title: '搴楅摵鍚嶇О', sort: false,width: 133 },
+                         { field: 'sales', title: '骞磋惀涓氶(鍏�)', sort: true, width: 100 },
+                            { field: 'storeName', title: '搴楅摵鍚嶇О', sort: false, width: 133 },
+                            { field: 'address', title: '鍦板潃', sort: false, width: 270 },
 
                            // { field: 'storeCoordinate', title: '搴楅摵鍧愭爣', sort: false },
                            // {
@@ -201,8 +202,9 @@
                               //          return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
                                //     }
                              //   }
-                          //  },
-                          { field: 'schoolName', title: '瀛︽牎鍚嶇О', sort: false,width: 133 },
+                            //  },
+                            { field: 'schoolName', title: '瀛︽牎鍚嶇О', sort: true, width: 133 },
+                        
                           {
                             field: 'idCradNumber', title: '韬唤璇�', width: 120, sort: false,
                             templet: function (d) {
@@ -347,7 +349,7 @@
                             admin.popup({
                                 shadeClose: false,
                                 title: '缂栬緫鏁版嵁',
-                                area: ['640px', '300px'],
+                                area: ['640px', '350px'],
                                 id: 'LAY-popup-CoreCmsDistribution-edit',
                                 success: function (layero, index) {
                                     view(this.id).render('distribution/distributor/edit', { data: e.data }).done(function () {
@@ -405,7 +407,7 @@
                             admin.popup({
                                 shadeClose: false,
                                 title: '鏌ョ湅璇︽儏',
-                                area: ['700px', '550px'],
+                                area: ['700px', '600px'],
                                 id: 'LAY-popup-CoreCmsDistribution-details',
                                 success: function (layero, index) {
                                     view(this.id).render('distribution/distributor/details', { data: e.data }).done(function () {
diff --git a/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs
new file mode 100644
index 0000000..62b7d35
--- /dev/null
+++ b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs
@@ -0,0 +1,102 @@
+锘縰sing CoreCms.Net.IServices.CYOAServices;
+using CoreCms.Net.Model.FromBody;
+using CoreCms.Net.Model.ViewModels.UI;
+using CoreCms.Net.Utility.Extensions;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using System.Threading.Tasks;
+
+namespace CoreCms.Net.Web.WebApi.Controllers.CyinOsAPI
+{
+    /// <summary>
+    /// 宸濆嵃閰嶉�佺鐞嗗憳
+    /// </summary>
+    [Route("api/[controller]/[action]")]
+    [ApiController]
+    [Authorize]
+    public class CyDeliverMangerController: ControllerBase
+    {
+
+        private readonly ICyinOAService _cyinOAService;
+        /// <summary>
+        /// 
+        /// </summary>
+        public CyDeliverMangerController(ICyinOAService cyinOAService)
+        {
+            _cyinOAService = cyinOAService;
+        }
+
+        /// <summary>
+        /// 鏄惁鏄厤閫佺鐞嗗憳
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        public async Task<WebApiCallBack> IsDeliverManage()
+        {
+            return new WebApiCallBack
+            {
+                status = true,
+                data = await _cyinOAService.IsDeliverManage()
+            };
+        }
+
+        /// <summary>
+        /// 鑾峰彇閰嶉�佺鐞嗗憳璁㈠崟
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> GetOderListOfDeliveryManage(FMPageByWhereOrder entity)
+        {
+            return await _cyinOAService.GetOderListOfDeliveryManage(entity);
+        }
+
+        /// <summary>
+        /// 鑾峰彇閰嶉�佺鐞嗚鍗�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> GetSetDeliveryOderListOfDeliveryManage(FMPageByWhereOrder entity)
+        {
+            return await _cyinOAService.GetSendDeliveryOderListOfDeliveryManage(entity);
+        }
+
+
+        /// <summary>
+        /// 鑾峰彇鏂板缓閰嶉�佷俊鎭�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> GetDeliveryOderInfoe(FMIntId entity)
+        {
+            return await _cyinOAService.GetDeliveryOderInfoOfDeliveryManage(entity);
+        }
+
+        /// <summary>
+        /// 淇敼鎴栬�呴厤閫佺鐞嗚鍗�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> SetDeliveryOderInfoe(DeliveryOrderDto entity)
+        {
+            if(!string.IsNullOrEmpty( entity.DeliveryMoble))
+            {
+                //閰嶉�佸厓涓嶄负绌烘椂妫�娴嬫槸涓嶆槸鎵嬫満鍙风爜
+                if(!entity.DeliveryMoble.IsPhoneNumberValid())
+                {
+                    return new WebApiCallBack
+                    {
+                        status = false,
+                        msg = "DeliveryMoble 蹇呴』鏄墜鏈哄彿鐮�"
+                    };
+                }
+                
+
+            }
+            return await _cyinOAService.SetDeliveryOderOfDeliveryManage(entity);
+        }
+    }
+}
diff --git a/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs
index c698583..ffe5286 100644
--- a/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs
+++ b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs
@@ -1,11 +1,25 @@
-锘縰sing CoreCms.Net.Configuration;
+锘縰sing CoreCms.Net.Auth.HttpContextUser;
+using CoreCms.Net.Caching.AutoMate.RedisCache;
+using CoreCms.Net.Configuration;
+using CoreCms.Net.DTO.ComponentsDTO;
 using CoreCms.Net.IRepository.UnitOfWork;
+using CoreCms.Net.IServices;
+using CoreCms.Net.IServices.CYOAServices;
+using CoreCms.Net.Model.Entities.Expression;
 using CoreCms.Net.Model.FromBody;
 using CoreCms.Net.Model.ViewModels.UI;
 using CoreCms.Net.Repository.UnitOfWork;
+using CoreCms.Net.Services;
+using CoreCms.Net.Services.CYOAServices;
 using EC_SeckillInfo;
+using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
+using Nest;
+using Newtonsoft.Json;
 using SqlSugar;
+using SqlSugar.Extensions;
+using System;
+using System.Linq;
 using System.Threading.Tasks;
 
 namespace CoreCms.Net.Web.WebApi.Controllers.CyinOsAPI
@@ -15,30 +29,163 @@
     /// </summary>
     [Route("api/[controller]/[action]")]
     [ApiController]
-
+    [Authorize]
     public class CyDriverController : ControllerBase
     {
 
-        private readonly IUnitOfWork _unitOfWork;
+
+        private readonly ICyinOAService _cyinOAService;
         /// <summary>
         /// 
         /// </summary>
-        public CyDriverController(IUnitOfWork unitOfWork)
+        public CyDriverController(ICyinOAService cyinOAService)
         {
-            _unitOfWork = unitOfWork;
+            _cyinOAService = cyinOAService;
         }
+      
+        /// <summary>
+        ///  鑾峰彇鏄惁鏄徃鏈虹殑鏍囧織
+        /// </summary>
+        /// <returns></returns>
         [HttpGet]
-        public async Task<WebApiCallBack> GetData()
+        public async Task<WebApiCallBack> GetIsDrive()
         {
-            var ret = new WebApiCallBack();
-            var db = _unitOfWork.GetDbClient().GetConnection(AppSettingsConstVars.CYDbDbID) ;
-            //db.DbFirst.IsCreateAttribute().CreateClassFile("c:\\Demo\\5", "EC_SeckillInfo"); ;
-           var data= db.Queryable<EC_PrizeInfo>().ToList();
-           ret.data= data;
-            return ret;
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data = await _cyinOAService.IsDrive()
+            };
+
+        }
+        /// <summary>
+        /// 鑾峰彇閫佽揣浠诲姟
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> GetDeliverOderList(FMPageByWhereOrder entity)
+        {
+
+            return
+                 await _cyinOAService.GetDeliverOderListOfDrver(entity);
+            
+
+        }
+        /// <summary>
+        /// 閫佽揣鍗曞巻鍙�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+            [HttpPost]
+        public async Task<WebApiCallBack> ManageDeliverOderListOfDrver(FMPageByWhereOrder entity)
+        {
+
+            return
+                 await _cyinOAService.ManageDeliverOderListOfDrver(entity);
+            
+
+        }
+        /// <summary>
+        /// 鑾峰彇閫佽揣浠诲姟璇︽儏
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> GetDeliverOderInfo(FMStringId entity)
+        {
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data = await _cyinOAService.GetDeliverInfoOfDrver(entity)
+            };
+
+        }
+
+        /// <summary>
+        /// 璁剧疆瀹�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> SetDeliverOderInfo(DeliveryOrderDto entity)
+        {
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data = await _cyinOAService.SetDeliverOrdeOfDrver(entity)
+            };
+
+        }
+
+        /// <summary>
+        /// 寮�濮嬮厤閫�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> StartDeliverOrder(FMStringId entity)
+        {
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data = await _cyinOAService.StartDeliverOrderOfDrver(entity)
+            };
+
+        }
+        /// <summary>
+        /// 瀹屾垚璁㈠崟
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> FinishDeliverOrder(FMStringId entity)
+        {
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data = await _cyinOAService.FinishDeliverOrdeOfDrver(entity)
+            };
+
+        }
+
+        /// <summary>
+        /// 淇濆瓨鍧愭爣
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> SetTarcks(TracksDto entity)
+        {
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data = await _cyinOAService.SetTarcks(entity)
+            };
 
         }
 
 
+        
+        ///// <summary>
+        ///// 
+        ///// </summary>
+        ///// <param name="unitOfWork"></param>
+        ///// <returns></returns>
+        //[HttpPost]
+        //[AllowAnonymous]
+        //public bool CreatModeFile([FromServices] IUnitOfWork unitOfWork)
+        //{
+        //    var _CyDbClient = unitOfWork.GetDbClient().GetConnection(AppSettingsConstVars.CYDbDbID);
+        //    _CyDbClient.DbFirst.IsCreateAttribute().StringNullable().CreateClassFile("c:\\Demo", "EC_SeckillInfo");
+        //    return true;
+        //}
     }
+
+
 }
diff --git a/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs
new file mode 100644
index 0000000..3c703ff
--- /dev/null
+++ b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs
@@ -0,0 +1,190 @@
+锘縰sing CoreCms.Net.IServices.CYOAServices;
+using CoreCms.Net.Model.FromBody;
+using CoreCms.Net.Model.ViewModels.UI;
+using EC_SeckillInfo;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace CoreCms.Net.Web.WebApi.Controllers.CyinOsAPI
+{
+    /// <summary>
+    /// 宸濆嵃瀛︽牎璁㈠崟
+    /// </summary>
+    [Route("api/[controller]/[action]")]
+    [ApiController]
+    [Authorize]
+    public class CySchoolController: ControllerBase
+    {
+
+        private readonly ICyinOAService _cyinOAService;
+        /// <summary>
+        /// 
+        /// </summary>
+        public CySchoolController(ICyinOAService cyinOAService)
+        {
+            _cyinOAService = cyinOAService;
+        }
+        /// <summary>
+        ///  鏄惁鎷ユ湁宸濆嵃鏁欒偛灞�璁㈠崟绠$悊
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        public async Task<WebApiCallBack> GetIsShooder()
+        {
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data = await _cyinOAService.IsSchooler()
+            };
+
+        }
+        /// <summary>
+        /// 瀛︽牎绔幏鍙栬鍗曞垪琛�
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> GetOderList(FMPageByWhereOrder entity)
+        {
+
+            return await _cyinOAService.GetOderListOfSchool(entity);
+
+
+
+
+        }
+        ///// <summary>
+        ///// 鑾峰彇閰嶉�佸崟璇︽儏
+        ///// </summary>
+        ///// <param name="entity"></param>
+        ///// <returns></returns>
+        //[HttpPost]
+        //public async Task<WebApiCallBack> GetDeliveryOrderInfo(FMStringId entity)
+        //{
+
+        //    return await _cyinOAService.GetDeliveryOrderInfoOfSchool(entity);
+
+
+        //}
+        /// <summary>
+        /// 鑾峰彇瀛︽牎璁㈠崟璇︽儏  
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> GetOderInfo(FMIntId entity)
+        {
+
+            return await _cyinOAService.GetOderInfo(entity);
+
+
+
+
+        }
+        /// <summary>
+        /// 鑾峰彇閰嶉�佸崟杞ㄨ抗  id鏈厤閫佸崟ID
+        /// </summary>
+        /// <param name="entity"> id 涓洪厤閫佸崟ID</param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> GetDeliveryTracks(FMStringId entity)
+        {
+
+            return await _cyinOAService.GetDeliveryTracksOfSchool(entity);
+
+
+
+
+        }
+
+        /// <summary>
+        /// 璁剧疆璁㈠崟閰嶉�佹椂闂村拰璇存槑  
+        /// </summary>
+        /// <param name="entity"> id 涓洪厤閫佸崟ID</param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> SetDeliveryMakeTimeaAndRemake(SetDeliveryDataDto entity)
+        {
+
+            return await _cyinOAService.SetDeliveryDataOfschool(entity);
+
+
+
+
+        }
+        /// <summary>
+        /// 璋冩暣鏁伴噺  浼犻�扞D  娉ㄦ剰鍙湁item鐨刵umber鏈夋晥  
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> SetOder(CoreCmsPlanOrderInfoDto entity)
+        {
+
+            return await _cyinOAService.SetOderOfSchool(entity);
+        }
+
+        /// <summary>
+        /// 鑾峰彇鍙告満鐢佃瘽鍙风爜 id鏈厤閫佸崟ID
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> GetDriverPhone(FMStringId entity)
+        {
+
+            return await _cyinOAService.GetDriverPhoneOfSchool(entity);
+        }
+        /// <summary>
+        /// 鏌ユ壘鐪佸競鍖轰笅绾у垪琛紝涓嶄紶鍙傛暟鏄负杩斿洖鐪佺骇鍒楄〃
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<WebApiCallBack> GetZoneList(Sys_CitySite entity)
+        {
+            if (string.IsNullOrEmpty( entity.Keyid?.ToString()))
+                entity = null;
+            var list= await _cyinOAService.GetZoneList(entity);
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data = list.Select(x => new
+                {
+                    x.Name,
+                    x.Keyid,
+                    x.CityLevel,
+                    x.ProvinceId,
+                    x.CityId
+                }).ToList()
+            };
+        }
+        /// <summary>
+        /// 杩斿洖鎵�鏈夌渷甯傚尯鏁版嵁
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        public async Task<WebApiCallBack> GetZoneListAll()
+        {
+            var list = await _cyinOAService.GetZoneListALL();
+
+            return new WebApiCallBack
+            {
+                status = true,
+                data = list.Select(x => new
+                {
+                    x.Name,
+                    x.Keyid,
+                    x.CityLevel,
+                    x.ProvinceId,
+                    x.CityId,
+                    x.OrderNum
+                }).ToList()
+            };
+        }
+
+    }
+}
diff --git a/CoreCms.Net.Web.WebApi/Controllers/UserController.cs b/CoreCms.Net.Web.WebApi/Controllers/UserController.cs
index 99c0ae1..3eceea0 100644
--- a/CoreCms.Net.Web.WebApi/Controllers/UserController.cs
+++ b/CoreCms.Net.Web.WebApi/Controllers/UserController.cs
@@ -418,7 +418,7 @@
         /// <param name="request"></param>
         /// <returns></returns>
         [HttpGet]
-        public async Task<WebApiCallBack> GeiIp([FromServices] IHttpContextAccessor request)
+        public  WebApiCallBack GeiIp([FromServices] IHttpContextAccessor request)
         {
             string clientIp = request.HttpContext.Connection.RemoteIpAddress.ToString();
             // 濡傛灉瀹㈡埛绔�氳繃浠g悊璁块棶锛屽彲鑳介渶瑕佹鏌-Forwarded-For澶�
diff --git a/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.csproj.user b/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.csproj.user
index aac7bfb..592874f 100644
--- a/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.csproj.user
+++ b/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.csproj.user
@@ -5,7 +5,7 @@
   </PropertyGroup>
   <PropertyGroup>
     <ActiveDebugProfile>CoreCms.Net.Web.WebApi</ActiveDebugProfile>
-    <NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
+    <NameOfLastUsedPublishProfile>D:\workdir\鐧惧垎鐧惧晢鍩庡悗鍙癨CoreCms.Net.Web.WebApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
     <Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
     <Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
   </PropertyGroup>
diff --git a/CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user b/CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
index e40279b..72ef19d 100644
--- a/CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
 <Project>
   <PropertyGroup>
     <_PublishTargetUrl>D:\鐧惧垎鐧惧叺娉昞API</_PublishTargetUrl>
-    <History>True|2024-03-22T08:31:04.2218156Z||;</History>
+    <History>True|2024-11-12T01:19:24.2854122Z||;True|2024-11-08T08:59:03.7975322+08:00||;True|2024-11-07T10:49:34.2710419+08:00||;True|2024-11-07T09:10:55.4973420+08:00||;True|2024-11-06T13:12:02.1421513+08:00||;True|2024-11-06T12:25:13.6289735+08:00||;True|2024-11-06T09:05:25.0195410+08:00||;True|2024-11-05T15:57:49.9141760+08:00||;True|2024-11-05T13:20:20.2196550+08:00||;True|2024-11-04T11:14:20.0184333+08:00||;False|2024-11-04T11:13:31.2038940+08:00||;True|2024-11-01T11:09:18.4938189+08:00||;False|2024-11-01T11:08:48.5298972+08:00||;True|2024-11-01T09:16:11.5683384+08:00||;True|2024-03-22T16:31:04.2218156+08:00||;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git "a/\344\277\256\346\224\271\350\256\260\345\275\225.MD" "b/\344\277\256\346\224\271\350\256\260\345\275\225.MD"
new file mode 100644
index 0000000..78321ac
--- /dev/null
+++ "b/\344\277\256\346\224\271\350\256\260\345\275\225.MD"
@@ -0,0 +1,7 @@
+# 2041023
+
+淇敼鏁版嵁搴� oa_staff 琛ㄤ腑澧炲姞 BF_ISDevice 鍜孎BF_IsDeliverManage 涓や釜瀛楁
+2 澧炲姞  CoreCmsPlanOrder
+      ,[DeliverState]
+      ,[DeliverDataTime]
+  FROM [ECTEST].[dbo].[CoreCmsPlanOrder]
\ No newline at end of file

--
Gitblit v1.9.1