移动系统liao
2024-11-12 1cb49b04ae6709e6054c328f5ed12bff9ca014c8
no message
21个文件已修改
14个文件已添加
5538 ■■■■ 已修改文件
CoreCms.Net.CodeGenerator/CoreCms.Net.CodeGenerator.csproj 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Configuration/AppSettingsConstVars.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Configuration/GlobalConstVars.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Core/Config/RedisMessageQueueSetup.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Core/CoreCms.Net.Core.csproj 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.IServices/CYOAServices/DTO.cs 459 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.IServices/IApiService.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Model/CoreCms.Net.Model.csproj 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs 249 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Model/CyinOAModel/CoreDeliverOrderItem.cs 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Model/CyinOAModel/CoreDeliveryOrderTracks.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Model/CyinOAModel/OA_Staff.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Model/CyinOAModel/Sys_CitySite.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Model/bin/Debug/net8.0/CoreCms.Net.Model.deps.json 776 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.RedisMQ/CyPlanOderMq.cs 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Services/ApiService.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Services/CYOAServices/CyinOAService.cs 1804 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Uni-App/obj/CoreCms.Net.Uni-App.csproj.nuget.g.props 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Utility/Extensions/StringExtensions.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Utility/bin/Debug/net8.0/CoreCms.Net.Utility.deps.json 804 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.Admin/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/details.html 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/edit.html 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/index.html 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs 190 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.WebApi/Controllers/UserController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
修改记录.MD 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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
    }
}
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>
CoreCms.Net.Core/Config/RedisMessageQueueSetup.cs
@@ -43,6 +43,7 @@
                    typeof(AliPayNoticeSubscribe),
                    typeof (DistributionAchievementMQ),
                     typeof(DistributionSendOderMQ),
                     typeof(CyPlanOderMq)
                };
                //显示日志
                m.ShowLog = false;
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>
CoreCms.Net.IServices/CYOAServices/DTO.cs
New file
@@ -0,0 +1,459 @@
using 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:省Id
        /// Default:
        /// Nullable:False
        /// </summary>
        public int shengId { get; set; }
        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:False
        /// </summary>
        public string sheng { get; set; }
        /// <summary>
        /// Desc:市Id
        /// 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:省Id
        /// Default:
        /// Nullable:False
        /// </summary>
        public int shengId { get; set; }
        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:False
        /// </summary>
        public string sheng { get; set; }
        /// <summary>
        /// Desc:市Id
        /// 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; }
    }
}
CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs
New file
@@ -0,0 +1,173 @@
using 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"> ä¼ orderID</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
    }
}
CoreCms.Net.IServices/IApiService.cs
New file
@@ -0,0 +1,19 @@
using 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);
    }
}
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>
CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs
New file
@@ -0,0 +1,249 @@
using 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:省Id
        /// Default:
        /// Nullable:False
        /// </summary>
        public int shengId { get; set; }
        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:False
        /// </summary>
        public string sheng { get; set; }
        /// <summary>
        /// Desc:市Id
        /// 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
    }
}
CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs
New file
@@ -0,0 +1,123 @@
using 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; }
    }
}
CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs
New file
@@ -0,0 +1,144 @@
using 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
    }
}
CoreCms.Net.Model/CyinOAModel/CoreDeliverOrderItem.cs
New file
@@ -0,0 +1,91 @@
using 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;
    }
}
CoreCms.Net.Model/CyinOAModel/CoreDeliveryOrderTracks.cs
New file
@@ -0,0 +1,62 @@
using 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;}
    }
}
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;
    }
}
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:
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,
CoreCms.Net.RedisMQ/CyPlanOderMq.cs
New file
@@ -0,0 +1,134 @@
using 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 }));
                    }
                }
            }
        }
    }
}
CoreCms.Net.Services/ApiService.cs
New file
@@ -0,0 +1,49 @@
using 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();
        }
    }
}
CoreCms.Net.Services/CYOAServices/CyinOAService.cs
New file
@@ -0,0 +1,1804 @@
using 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>
        /// æ˜¯å¦æ˜¯å¸æœºkey
        /// </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; }
    }
}
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\" />
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>
        /// å°†yyyy-MM-dd'T'HH:mm:ss~yyyy-MM-dd'T'HH:mm:ss æ ¼å¼æœªStartDate å’Œenddata
        /// </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)
            {
                // è§£æžå¼€å§‹æ—¶é—´
                DateTime startDate;
                bool isStartDateValid = DateTime.TryParseExact(parts[0], format, null, System.Globalization.DateTimeStyles.None, out startDate);
                // è§£æžç»“束时间
                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);
                }
            }
            // å¦‚果输入字符串格式不正确或解析失败,返回 (null, null)
            return (null, null);
        }
        /// <summary>
        /// æ ¡éªŒæ˜¯å¦æ˜¯æ‰‹æœºå·ç 
        /// </summary>
        /// <param name="phoneNumber"></param>
        /// <returns></returns>
      public  static bool IsPhoneNumberValid(this string phoneNumber)
        {
            // å®šä¹‰æ­£åˆ™è¡¨è¾¾å¼æ¨¡å¼
            string pattern = @"^1[3-9]\d{9}$";
            // ä½¿ç”¨ Regex.IsMatch æ–¹æ³•进行匹配
            return Regex.IsMatch(phoneNumber, pattern);
        }
    }
}
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,
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>
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>
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>
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>
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 () {
CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs
New file
@@ -0,0 +1,102 @@
using 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);
        }
    }
}
CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs
@@ -1,11 +1,25 @@
using CoreCms.Net.Configuration;
using 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;
        //}
    }
}
CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs
New file
@@ -0,0 +1,190 @@
using 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>
        /// è°ƒæ•´æ•°é‡  ä¼ é€’ID  æ³¨æ„åªæœ‰item的number有效
        /// </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()
            };
        }
    }
}
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();
            // å¦‚果客户端通过代理访问,可能需要检查X-Forwarded-For头
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>
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>
Ð޸ļǼ.MD
New file
@@ -0,0 +1,7 @@
# 2041023
修改数据库 oa_staff è¡¨ä¸­å¢žåŠ  BF_ISDevice å’ŒFBF_IsDeliverManage ä¸¤ä¸ªå­—段
2 å¢žåŠ   CoreCmsPlanOrder
      ,[DeliverState]
      ,[DeliverDataTime]
  FROM [ECTEST].[dbo].[CoreCmsPlanOrder]