完成租户用户同一api登录,新增加租户表,租户关联表, 员工表增加TenderID 字段   需要增加表只需要将 appset codefirst设置为true   运行将自动更新表结构
18个文件已修改
5个文件已删除
50个文件已添加
13979 ■■■■■ 已修改文件
DocumentServiceAPI.Application/DocumentServiceAPI.Application.csproj 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/UserAndLogin/LogInController.cs 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/UserAndLogin/Services/Interfaces/ILoginVerifyService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/UserAndLogin/Services/UserService.cs 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/UserAndLogin/UserInfoController.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/UserAndLogin/ViewMode/Login.cs 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/UserAndLogin/dto/Mapper.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/applicationsettings.json 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Core/DbContext.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/DSFulResult.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/JwtInfo.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/User/JobInfo.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/User/UnitInfo.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/User/UserInfo.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/User/UserUnitInfo.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/UserInfoModel/EmployeeAtTenant.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/UserInfoModel/EmployeeInfo.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/cyDocumentModel/Document_EmployeeInfo.cs 199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/cyDocumentModel/Document_EmployeeRole.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/cyDocumentModel/Document_PerformanceInfo.cs 97 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/cyDocumentModel/Document_TenderUnit.cs 487 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/cyDocumentModel/Document_UserInfo.cs 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/cyDocumentModel/库目录.md 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/DocumentServiceAPI.Services.csproj 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/IService/ICacheService.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/RedisCacheScService.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Core.dll 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Core.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Core.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Enum.dll 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Enum.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Enum.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Services.deps.json 2498 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Services.dll 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Services.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Utility.dll 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Utility.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Utility.xml 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.AssemblyInfo.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.AssemblyInfoInputs.cache 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.GeneratedMSBuildEditorConfig.editorconfig 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.GlobalUsings.g.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.assets.cache 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.csproj.BuildWithSkipAnalyzers 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.csproj.CopyComplete 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.csproj.CoreCompileInputs.cache 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.csproj.FileListAbsolute.txt 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.dll 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/ref/DocumentServiceAPI.Services.dll 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/Debug/net6.0/refint/DocumentServiceAPI.Services.dll 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/DocumentServiceAPI.Services.csproj.nuget.dgspec.json 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/DocumentServiceAPI.Services.csproj.nuget.g.props 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/DocumentServiceAPI.Services.csproj.nuget.g.targets 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/project.assets.json 7932 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Services/obj/project.nuget.cache 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Utility/DocumentServiceAPI.Utility.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Web.Core/DocumentServiceAPI.Web.Core.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Web.Core/DocumentServiceAPI.Web.Core.xml 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Web.Core/Handlers/DSRESTfulResultProvider.cs 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Web.Core/Handlers/JwtHandler.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Web.Core/Startup.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Web.Entry/DocServiceApiStartup.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Web.Entry/HomeController.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Web.Entry/appsettings.json 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.sln 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocumentServiceAPI.Application.csproj
@@ -24,10 +24,12 @@
    <ItemGroup>
        <ProjectReference Include="..\DocumentServiceAPI.Core\DocumentServiceAPI.Core.csproj" />
        <ProjectReference Include="..\DocumentServiceAPI.Model\DocumentServiceAPI.Model.csproj" />
        <ProjectReference Include="..\DocumentServiceAPI.Services\DocumentServiceAPI.Services.csproj" />
        <ProjectReference Include="..\DocumentServiceAPI.Utility\DocumentServiceAPI.Utility.csproj" />
    </ItemGroup>
    <ItemGroup>
      <Folder Include="UserInfo\" />
      <Folder Include="GlobalServices\" />
    </ItemGroup>
</Project>
DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
@@ -14,5 +14,247 @@
            ç³»ç»ŸæœåŠ¡æŽ¥å£
            </summary>
        </member>
        <member name="T:DocumentServiceAPI.Application.UserAndLogin.LogInController">
            <summary>
            ç™»å½•控制器
            </summary>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.LogInController.LogoIn(DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN)">
            <summary>
            ç™»å½• 1 è¾“入员工账户或者租户账户,2 é€‰æ‹©ç§Ÿæˆ·è´¦æˆ·ï¼Œ3 é€‰æ‹©å…¬å¸
            </summary>
            <returns>登录信息</returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.LogInController.GetUnitList">
            <summary>
            èŽ·å–å…¬å¸åˆ—è¡¨
            </summary>
            <returns>登录信息</returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.LogInController.GetTenantInfoList">
            <summary>
            èŽ·å–å…¬å¸åˆ—è¡¨
            </summary>
            <returns>登录信息</returns>
        </member>
        <member name="T:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService">
            <summary>
            token服务类
            </summary>
        </member>
        <member name="F:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.TokenKeys">
            <summary>
            Token是啥
            </summary>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.CreateToken(DocumentServiceAPI.Model.JwtInfo)">
            <summary>
            æ–°å»ºä¸€ä¸ªTOken
            </summary>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.CheckToken">
            <summary>
            æ ¡éªŒjwt信息是否有效,判决单端登录验证
            </summary>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.getTokenKey(DocumentServiceAPI.Model.JwtInfo)">
            <summary>
            èŽ·å–TokenKey
            </summary>
            <param name="jwt"></param>
            <returns></returns>
        </member>
        <member name="T:DocumentServiceAPI.Application.UserAndLogin.Services.UserService">
            <summary>
            ç™»å½•验证服务
            </summary>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetEmployeeInfo(System.Int32,System.Int32)">
            <summary>
            å‘˜å·¥è¯¦æƒ…
            </summary>
            <param name="ID"></param>
            <param name="TenantID"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetJwtInfo">
            <summary>
            èŽ·å–Jwt相关信息
            </summary>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetUserUnitInfo(System.Int32)">
            <summary>
            èŽ·å–å•ä½åˆ—è¡¨
            </summary>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetUserTenderList(System.String)">
            <summary>
            æ ¹æ®è´¦å·èŽ·å– Tender åˆ—表
            </summary>
            <param name="ItCode"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.CheckPsw(System.Int32,System.Nullable{System.Int32},System.String)">
            <summary>
            æ£€æŸ¥å¯†ç æ˜¯å¦ç™»å½•
            </summary>
            <param name="TenantID"> ç§Ÿæˆ·ID</param>
            <param name="employeeID">员工ID</param>
            <param name="PsW">密码</param>
            <returns></returns>
        </member>
        <member name="T:DocumentServiceAPI.Application.UserAndLogin.UserInfoController">
            <summary>
            ç™»å½•控制器
            </summary>
        </member>
        <member name="M:DocumentServiceAPI.Application.UserAndLogin.UserInfoController.GetUserInfo">
            <summary>
            </summary>
        </member>
        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN">
            <summary>
            è´¦æˆ·å¯†ç ç™»å½•
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.ITCode">
            <summary>
            ç™»å½•账号
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.PassWord">
            <summary>
            å¯†ç 
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.Key">
            <summary>
            éªŒè¯ç key
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.VerifyCoed">
            <summary>
            éªŒè¯ç ä»£ç 
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.TenantId">
            <summary>
            TenantITCode ç§Ÿæˆ·ITCode
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.employeeID">
            <summary>
            å‘˜å·¥ç™»å½• æ³¨æ„ å¦‚果不是首次登录,这个站好需要根据所选的租户登录返回结果来确定是否是用员工账号登录,如果为空,默认未选择租户账号登录
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.UnitID">
            <summary>
            å•位ID
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.Form">
            <summary>
            æ¥æº
            </summary>
        </member>
        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeTenantInfo">
            <summary>
            ç§Ÿæˆ·è¯¦æƒ…模型
            </summary>
        </member>
        <member name="F:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeTenantInfo._employeeInfo">
            <summary>
            å‘˜å·¥Info
            </summary>
        </member>
        <member name="F:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeTenantInfo._tenantInfo">
            <summary>
            ç¥ç¦ Info
            </summary>
        </member>
        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM">
            <summary>
            å•位详情
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.UnitID">
            <summary>
            ID
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.UnitName">
            <summary>
            å•位名称
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.Remark">
            <summary>
            æ ‡æ³¨
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.UnitLogo">
            <summary>
            logo
            </summary>
        </member>
        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM">
            <summary>
             ç§Ÿæˆ·è¯¦æƒ…
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.TenderId">
            <summary>
            ID
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.ItCode">
            <summary>
            ç§Ÿæˆ·å
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.Name">
            <summary>
            åç§°
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.Description">
            <summary>
            æè¿°
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.EmployeeID">
            <summary>
            å‘˜å·¥ID
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.IsTender">
            <summary>
            æ˜¯å¦æ˜¯ä¸»è´¦å·
            </summary>
        </member>
        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM">
            <summary>
            ç™»å½•返回
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM.NeedNext">
            <summary>
             éœ€è¦é‡æ–°ç™»å½•
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM.Units">
            <summary>
            å…¬å¸åˆ—表
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM.Tenders">
            <summary>
            ç§Ÿæˆ·åˆ—表
            </summary>
        </member>
    </members>
</doc>
DocumentServiceAPI.Application/UserAndLogin/LogInController.cs
New file
@@ -0,0 +1,175 @@
using DocumentServiceAPI.Application.UserAndLogin.Services;
using DocumentServiceAPI.Application.UserAndLogin.ViewMode;
using DocumentServiceAPI.Utility;
using Furion.DynamicApiController;
using Furion.JsonSerialization;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Application.UserAndLogin
{
    /// <summary>
    /// ç™»å½•控制器
    /// </summary>
    [ApiDescriptionSettings("LogInAndUser")]
    [DynamicApiController]
    public class LogInController
    {
     private   TokenService _tokenService;
        private UserService _userService;
        public LogInController(TokenService tokenService,UserService  userService) {
            _tokenService = tokenService;
            _userService = userService;
         }
        /// <summary>
        /// ç™»å½• 1 è¾“入员工账户或者租户账户,2 é€‰æ‹©ç§Ÿæˆ·è´¦æˆ·ï¼Œ3 é€‰æ‹©å…¬å¸
        /// </summary>
        /// <returns>登录信息</returns>
        [HttpPost("LogoIn")]
        public async Task<RetLoginVM> LogoIn (LoginPsWordIN Parma)
        {
              bool needtoken=false;
            if (Parma.TenantId==null)
            {
                //如果还没确定租户ID éœ€è¦å…ˆç¡®å®šç§Ÿæˆ·ID
                List<TenderVM>Tender = await _userService.GetUserTenderList(Parma.ITCode);
                switch (Tender.Count)
                {
                    case 0:
                        throw Oops.Oh($"账户或者密码错误");
                    case 1:
                         needtoken = await _userService.CheckPsw(Tender[0].TenderId, Tender[0].EmployeeID,Parma.PassWord);
                        if(!needtoken)
                            throw Oops.Oh($"账户或者密码错误");
                        if (Parma.UnitID == null)
                        {
                            var Units = await _userService.GetUserUnitInfo(Parma.TenantId ?? 0);
                            if (Units.Count == 0)
                            {
                                //没有公司
                                needtoken = true;
                            }
                            else if (Units.Count == 1)
                            {
                                Parma.UnitID = Units[0].UnitID;
                                needtoken = true;
                            }
                            else
                            {
                                //其他需要用户选择租户
                                return new RetLoginVM
                                {
                                    NeedNext = true,
                                    Units = Units,
                                };
                            }
                        }
                        Parma.TenantId = Tender[0].TenderId;
                        break;
                    default:
                        //其他需要用户选择租户
                        return new RetLoginVM
                        {
                            NeedNext = true,
                            Tenders = Tender,
                        };
                }
            }
            else if(Parma.UnitID==null)
            {
                var Units = await _userService.GetUserUnitInfo(Parma.TenantId??0);
                if(Units.Count==0)
                {
                    //没有公司
                    needtoken = true;
                }
                else if (Units.Count==1) {
                    Parma.UnitID= Units[0].UnitID;
                    needtoken = true;
                }
                else
                {
                    //其他需要用户选择租户
                    return new RetLoginVM
                    {
                        NeedNext = true,
                       Units = Units,
                    };
                }
            }
            if(needtoken|| Parma.UnitID!=null)
            {
                TenderVM Tender = (await _userService.GetUserTenderList(Parma.ITCode)).Where(x=>x.TenderId==Parma.TenantId&&x.EmployeeID==Parma.employeeID).SingleOrDefault();
                if(Tender==null)
                {
                    throw Oops.Oh($"账户密码或者租户选择错误");
                }
                needtoken = await _userService.CheckPsw(Tender. TenderId, Tender.EmployeeID, Parma.PassWord);
                if (!needtoken)
                    throw Oops.Oh($"账户或者密码错误");
              var token=  _tokenService.CreateToken(new Model.JwtInfo
                {
                    EID = Tender.EmployeeID,
                    LogInSource = Parma.Form,
                    TID = Tender.TenderId,
                    UID = Parma.UnitID,
                });
                return new RetLoginVM
                {
                    NeedNext = false,
                   Token = token,
                };
            }
            throw Oops.Oh($"参数错误");
        }
        /// <summary>
        /// èŽ·å–å…¬å¸åˆ—è¡¨
        /// </summary>
        /// <returns>登录信息</returns>
        public bool GetUnitList()
        {
            return true;
        }
        /// <summary>
        /// èŽ·å–å…¬å¸åˆ—è¡¨
        /// </summary>
        /// <returns>登录信息</returns>
        public bool GetTenantInfoList()
        {
            return true;
        }
        public string Get()
        {
            return $"Hello {nameof(Furion)}";
        }
    }
}
DocumentServiceAPI.Application/UserAndLogin/Services/Interfaces/ILoginVerifyService.cs
New file
@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Application.UserAndLogin.Services.Interfaces
{
    public interface ILoginVerifyService
    {
    }
}
DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs
New file
@@ -0,0 +1,96 @@
using DocumentServiceAPI.Model;
using DocumentServiceAPI.Services.IService;
using Furion.Authorization;
using Furion.DistributedIDGenerator;
using Furion.JsonSerialization;
using NetTaste;
using SqlSugar.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Application.UserAndLogin.Services
{
    /// <summary>
    /// token服务类
    /// </summary>
    public  class TokenService: IScoped
    {
        /// <summary>
        /// Token是啥
        /// </summary>
        static string TokenKeys = "TokenKeys:";
        private ISqlSugarClient _db;
        private UserService _UserService;
        private IRedisCacheService _RedisCase;
        public TokenService(ISqlSugarClient db, UserService  UserInfoService, IRedisCacheService RedisCase ) {
            _db = db;
            _UserService = UserInfoService;
            _RedisCase = RedisCase;
        }
        /// <summary>
        /// æ–°å»ºä¸€ä¸ªTOken
        /// </summary>
        /// <returns></returns>
        public string  CreateToken(JwtInfo jwt)
        {
            string TokenKey=TokenKeys+ getTokenKey(jwt);
            IDictionary<string, object> propertyDictionary = new Dictionary<string, object>();
            PropertyInfo[] properties = jwt.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
            foreach (PropertyInfo property in properties)
            {
                string propertyName = property.Name;
                object propertyValue = property.GetValue(jwt);
                propertyDictionary.Add(propertyName.ToLower(), propertyValue);
            }
            var ID = IDGen.NextID();
             jwt.JID = ID;
         var token=   JWTEncryption.Encrypt(propertyDictionary, App.GetConfig<JWTSettingsOptions>("JWTSettings").ExpiredTime ?? 3600);
            if(jwt.LogInSource==LogInFrom.PC)
            _RedisCase.Add<string>(TokenKey, ID.ToString(), expireSeconds: (int )(App.GetConfig<JWTSettingsOptions>("JWTSettings").ExpiredTime??3600));
            return token;
        }
        /// <summary>
        /// æ ¡éªŒjwt信息是否有效,判决单端登录验证
        /// </summary>
        /// <returns></returns>
         public bool  CheckToken()
        {
       var Jwtinfo=     _UserService.GetJwtInfo();
        var Key=    getTokenKey(Jwtinfo);
        string T  = _RedisCase.Get<string>(Key);
            if (T == null)
                return true;
            if (T != Jwtinfo.JID.ToString())
                return false;
            return true;
        }
        /// <summary>
        /// èŽ·å–TokenKey
        /// </summary>
        /// <param name="jwt"></param>
        /// <returns></returns>
        private string getTokenKey(JwtInfo jwt)
        {
            string TokenKey = TokenKeys + jwt.EID?.ToString() + jwt.UID?.ToString()  + jwt.TID?.ToString();
            return TokenKey;
        }
    }
}
DocumentServiceAPI.Application/UserAndLogin/Services/UserService.cs
New file
@@ -0,0 +1,176 @@
using DocumentServiceAPI.Application.UserAndLogin.Services.Interfaces;
using DocumentServiceAPI.Application.UserAndLogin.ViewMode;
using DocumentServiceAPI.Model;
using DocumentServiceAPI.Model.cyDocumentModel;
using DocumentServiceAPI.Model.UserInfoModel;
using SqlSugar.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Application.UserAndLogin.Services
{
    /// <summary>
    /// ç™»å½•验证服务
    /// </summary>
    public class UserService : ILoginVerifyService, IScoped
    {
        private ISqlSugarClient _db { get; set; }
        public UserService(ISqlSugarClient db)
        {
            _db = db;
        }
        /// <summary>
        /// å‘˜å·¥è¯¦æƒ…
        /// </summary>
        /// <param name="ID"></param>
        /// <param name="TenantID"></param>
        /// <returns></returns>
        public async Task<EmployeeTenantInfo> GetEmployeeInfo(int ID, int TenantID)
        {
            var ret = await _db.Queryable<EmployeeInfo, EmployeeAtTenant, TenantInfo>((ei, eiat, ti) =>
              new JoinQueryInfos(
      JoinType.Right, ei.Id == eiat.EmployeeID, //左连接 å·¦é“¾æŽ¥ å·¦è”
      JoinType.Right, ti.Id == eiat.TenantID
                              )).Where((ei, eiat, ti) => ei.Id == ID && TenantID == ti.Id)
                              .Select(expression: (ei, eiat, ti) => new EmployeeTenantInfo
                              {
                                  _employeeInfo = ei,
                                  _tenantInfo = ti
                              }).SingleAsync();
            return ret;
        }
        /// <summary>
        /// èŽ·å–Jwt相关信息
        /// </summary>
        public JwtInfo GetJwtInfo()
        {
            JwtInfo jwtInfo = new JwtInfo();
            jwtInfo.LogInSource = (LogInFrom)(App.User?.FindFirstValue("loginfrom")?.ObjToInt() ?? 0);
            jwtInfo.EID = App.User?.FindFirstValue("eid")?.ObjToInt();
            jwtInfo.UID = App.User?.FindFirstValue("uid")?.ObjToInt();
            jwtInfo.TID = App.User?.FindFirstValue("tid")?.ObjToInt();
            var guid = App.User?.FindFirstValue("jid");
            jwtInfo.JID = string.IsNullOrEmpty(guid) ? new Guid(guid) : null;
            return jwtInfo;
        }
        /// <summary>
        /// èŽ·å–å•ä½åˆ—è¡¨
        /// </summary>
        /// <returns></returns>
        public async Task<List<UnitVM>> GetUserUnitInfo(int  tid )
        {
            var list = await _db.Queryable<DocumentServiceAPI.Model.cyDocumentModel.Document_TenderUnit>()
                   .Where((tu) => tu.TenantId == tid && tu.IsEn == true && tu.IsDeled != true)
                   .Select((tu) => new UnitVM
                   {
                       UnitID = tu.UnitId,
                       UnitName = tu.UnitName,
                       Remark = tu.Remark,
                       UnitLogo = tu.UnitLogo,
                   })
                   .ToListAsync();
            return list;
        }
        /// <summary>
        /// æ ¹æ®è´¦å·èŽ·å– Tender åˆ—表
        /// </summary>
        /// <param name="ItCode"></param>
        /// <returns></returns>
        public async Task<List<TenderVM>> GetUserTenderList(string ItCode)
        {
            var tentlist= await _db.Queryable<TenantInfo, EmployeeAtTenant, Document_EmployeeInfo>((ti, et, ei) =>
              new JoinQueryInfos
              (
                 JoinType.Right, ti.Id == et.TenantID, //左连接 å·¦é“¾æŽ¥ å·¦è”
             JoinType.Right, ei.EmployeeId == et.EmployeeID
                  )
             )
                .Where((ti, et, ei) =>
              ( ei.UserName == ItCode) && (ti.IsEn == true) && (ti.IsDel != true) && (ei.IsWork == null || ei.IsWork == 1))
             .Select((ti, et, ei) => new TenderVM
             {
                 EmployeeID = ei.EmployeeId,
                 Description = ti.Description,
                 ItCode = ItCode,
                 Name = ti.Name,
                 TenderId = ti.Id
             }
              ).ToListAsync();
            var ten = await _db.Queryable<TenantInfo>().Where(x => x.IsEn == true && x.IsDel != true && x.ItCode == ItCode)
                   .Select(x => new TenderVM
                   {
                       Description = x.Description,
                       ItCode = ItCode,
                       Name = x.Name,
                       TenderId = x.Id,
                       IsTender = true
                   }
              ).ToListAsync()  ;
            ten.AddRange(tentlist);
            return ten;
        }
        /// <summary>
        /// æ£€æŸ¥å¯†ç æ˜¯å¦ç™»å½•
        /// </summary>
        /// <param name="TenantID"> ç§Ÿæˆ·ID</param>
        /// <param name="employeeID">员工ID</param>
        /// <param name="PsW">密码</param>
        /// <returns></returns>
        public async Task<bool> CheckPsw(int TenantID, int? employeeID, string PsW)
        {
            if (employeeID == null)
            {
                var psw = await _db.Queryable<TenantInfo>().Where(x => x.Id == TenantID).Select(x => x.PsW).SingleAsync();
                if (PsW == psw)
                    return true;
            }
            else
            {
                var psw = await _db.Queryable<Document_EmployeeInfo, EmployeeAtTenant, TenantInfo>((ei, et, ti) =>
             new JoinQueryInfos
             (
                JoinType.Left, ei.EmployeeId == et.EmployeeID, //左连接 å·¦é“¾æŽ¥ å·¦è”
            JoinType.Left, ti.Id == et.TenantID
                 )
            ).Where((ei, et, ti) =>
                ei.EmployeeId == employeeID && ti.Id == TenantID
            )
            .Select((ei, et, ti) => ei.UserPassWord)
            .SingleAsync();
                if (PsW == psw)
                    return true;
            }
            return false;
        }
    }
}
DocumentServiceAPI.Application/UserAndLogin/UserInfoController.cs
New file
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Application.UserAndLogin
{
    /// <summary>
    /// ç™»å½•控制器
    /// </summary>
    [ApiDescriptionSettings("LogInAndUser")]
    [DynamicApiController]
    public class UserInfoController
    {
        /// <summary>
        ///
        /// </summary>
        public void  GetUserInfo()
        {
        }
    }
}
DocumentServiceAPI.Application/UserAndLogin/ViewMode/Login.cs
New file
@@ -0,0 +1,172 @@
using DocumentServiceAPI.Model;
using DocumentServiceAPI.Model.UserInfoModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Application.UserAndLogin.ViewMode
{
    /// <summary>
    /// è´¦æˆ·å¯†ç ç™»å½•
    /// </summary>
    public class LoginPsWordIN
    {
        /// <summary>
        /// ç™»å½•账号
        /// </summary>
        public string ITCode{ get; set; }
        /// <summary>
        /// å¯†ç 
        /// </summary>
        public string? PassWord { get; set; }
        /// <summary>
        /// éªŒè¯ç key
        /// </summary>
        public string? Key { get; set; }
        /// <summary>
        /// éªŒè¯ç ä»£ç 
        /// </summary>
        public string? VerifyCoed { get; set; }
        /// <summary>
        /// TenantITCode ç§Ÿæˆ·ITCode
        /// </summary>
        public int ? TenantId { get; set; }
        /// <summary>
        /// å‘˜å·¥ç™»å½• æ³¨æ„ å¦‚果不是首次登录,这个站好需要根据所选的租户登录返回结果来确定是否是用员工账号登录,如果为空,默认未选择租户账号登录
        /// </summary>
        public int? employeeID { get; set; }
        /// <summary>
        /// å•位ID
        /// </summary>
        public int ? UnitID { get; set; }
        /// <summary>
        /// æ¥æº
        /// </summary>
        public LogInFrom Form { get; set; }
    }
    /// <summary>
    /// ç§Ÿæˆ·è¯¦æƒ…模型
    /// </summary>
    public class EmployeeTenantInfo
    {
        /// <summary>
        /// å‘˜å·¥Info
        /// </summary>
      public  EmployeeInfo _employeeInfo;
        /// <summary>
        /// ç¥ç¦ Info
        /// </summary>
      public   TenantInfo _tenantInfo;
    }
    /// <summary>
    /// å•位详情
    /// </summary>
    public class UnitVM
    {
        /// <summary>
        /// ID
        /// </summary>
        public int UnitID { get; set; }
        /// <summary>
        /// å•位名称
        /// </summary>
        public string UnitName { get; set; }
        /// <summary>
        /// æ ‡æ³¨
        /// </summary>
        public string Remark { get; set; }
        /// <summary>
        /// logo
        /// </summary>
        public string UnitLogo { get; set; }
    }
    /// <summary>
    ///  ç§Ÿæˆ·è¯¦æƒ…
    /// </summary>
    public class  TenderVM
    {
        /// <summary>
        /// ID
        /// </summary>
        public int TenderId { get; set; }
        /// <summary>
        /// ç§Ÿæˆ·å
        /// </summary>
        public string ItCode { get; set; }
        /// <summary>
        /// åç§°
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// æè¿°
        /// </summary>
        public string Description { get; set; }
        /// <summary>
        /// å‘˜å·¥ID
        /// </summary>
       public int? EmployeeID { get; set; }
        /// <summary>
        /// æ˜¯å¦æ˜¯ä¸»è´¦å·
        /// </summary>
        public bool IsTender { get; set; } = false;
    }
    /// <summary>
    /// ç™»å½•返回
    /// </summary>
    public class RetLoginVM
    {
        /// <summary>
        ///  éœ€è¦é‡æ–°ç™»å½•
        /// </summary>
        public bool NeedNext { get; set; }=true;
        /// <summary>
        /// å…¬å¸åˆ—表
        /// </summary>
#nullable enable
        public List<UnitVM>? Units { get; set; }
        /// <summary>
        /// ç§Ÿæˆ·åˆ—表
        /// </summary>
#nullable enable
        public List<TenderVM>? Tenders { get; set; }
#nullable enable
        public string? Token { get; set; }
    }
}
DocumentServiceAPI.Application/UserAndLogin/dto/Mapper.cs
New file
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Application.UserAndLogin.dto
{
    public class Mapper : IRegister
    {
        public void Register(TypeAdapterConfig config)
        {
        }
    }
}
DocumentServiceAPI.Application/applicationsettings.json
@@ -3,25 +3,50 @@
  "SpecificationDocumentSettings": {
    "DocumentTitle": "Furion | è§„范化接口",
    "GroupOpenApiInfos": [
        {
          "Group": "Default",
          "Title": "标书管理系统服务",
          "Description": "这个一个很好用标书管理系统服务软件",
          "Version": "1.0.0",
          "Contact": {
            "Name": "政采咨询有限公司",
            "Url": "http://www.51zhengcai.com"
          },
          "License": {
            "Name": "政采咨询有限公司",
            "Url": "http://www.51zhengcai.com"
          }
      {
        "Group": "Default",
        "Title": "标书管理系统服务",
        "Description": "这个一个很好用标书管理系统服务软件",
        "Version": "1.0.0",
        "Contact": {
          "Name": "政采咨询有限公司",
          "Url": "http://www.51zhengcai.com"
        },
        "License": {
          "Name": "政采咨询有限公司",
          "Url": "http://www.51zhengcai.com"
        }
      }
    ]
  },
  //swags åç§°é…ç½® é»˜è®¤åˆ†ç»„
  "[openapi:LogInAndUser]": {
    "Title": "登录和用户",
    "Order": 0,
    "Description": "用户和登录相关",
    "Version": "1.0.0",
    "Contact": {
      "Name": "政采咨询有限公司",
      "Url": "http://www.51zhengcai.com"
    },
    "License": {
      "Name": "政采咨询有限公司",
      "Url": "http://www.51zhengcai.com"
    }
  },
  //配置路由风格
    "DynamicApiControllerSettings": {
      "KeepName": true,//保持路由一致
      "KeepVerb": true,//保持版本号一致
      "LowercaseRoute": false
    },
  "CorsAccessorSettings": {
    "WithExposedHeaders": [
      "access-token",
DocumentServiceAPI.Core/DbContext.cs
@@ -92,11 +92,12 @@
    /// <param name="ModeProjectName"></param>
    public static void DbCodeFirst(this IApplicationBuilder app, string ModeProjectName, string? Modenamespace = null, string? ConfigId = null)
    {
       var ddb= App.GetService<ISqlSugarClient>();
        var _db = app.ApplicationServices.GetService<ISqlSugarClient>();
        //切换数据库
        if (!string.IsNullOrEmpty(ConfigId))
            _db.AsTenant().ChangeDatabase(ConfigId);
        //建库
        _db.DbMaintenance.CreateDatabase();
        Type[]? types = UtilityFun.GetAllAssembly().Where(x => x.FullName.Contains(ModeProjectName + ",")).FirstOrDefault()?.GetTypes().WhereIF(!string.IsNullOrEmpty(Modenamespace), name => name.FullName.Contains(Modenamespace + ".")).ToArray().Where(x => x.IsSubclassOf(typeof(BaseModel))).ToArray();
@@ -104,4 +105,14 @@
        _db.CodeFirst.InitTables(types);//根据types创建表
    }
    public static void DbCodeFirst(this IApplicationBuilder app, Type Obj,  string? ConfigId = null)
    {
        var _db = app.ApplicationServices.GetService<ISqlSugarClient>();
        //切换数据库
        if (!string.IsNullOrEmpty(ConfigId))
            _db.AsTenant().ChangeDatabase(ConfigId);
        //建库
        _db.DbMaintenance.CreateDatabase();
        _db.CodeFirst.InitTables(Obj);//根据types创建表
    }
}
DocumentServiceAPI.Model/DSFulResult.cs
New file
@@ -0,0 +1,46 @@

namespace DocumentServiceAPI.Model
{
    /// <summary>
    /// ç»Ÿä¸€è¿”回类型模型定义
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class DSFulResult<T>
    {
        /// <summary>
        /// çŠ¶æ€ç 
        /// </summary>
        public int? StatusCode { get; set; }
        /// <summary>
        /// çŠ¶æ€ç 
        /// </summary>
        public int? Code { get; set; }
        /// <summary>
        /// æ•°æ®
        /// </summary>
        public T? Data { get; set; }
        /// <summary>
        /// é”™è¯¯ä¿¡æ¯
        /// </summary>
        public object? Error { get; set; }
        /// <summary>
        /// é™„加数据
        /// </summary>
        public object? Extras { get; set; }
        /// <summary>
        /// æ—¶é—´æˆ³
        /// </summary>
        public long? Timestamp { get; set; }
        /// <summary>
        /// å…¶ä»–消息
        /// </summary>
        public string?  Message { get; set; }
    }
}
DocumentServiceAPI.Model/JwtInfo.cs
New file
@@ -0,0 +1,64 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Model
{
    /// <summary>
    /// Jwt信息
    /// </summary>
    public class JwtInfo
    {
        /// <summary>
        /// å‘˜å·¥ITCODE
        /// </summary>
        public int?   EID { get; set; }
        /// <summary>
        /// ç§Ÿæˆ·ID
        /// </summary>
        public int ?TID { get; set; }
        /// <summary>
        /// å…¬å¸ID
        /// </summary>
        public int? UID { get; set; }
        /// <summary>
        /// Id识别号,主要用于判断单端登录
        /// </summary>
        public  Guid? JID { get; set; }
        /// <summary>
        /// ç™»å½•源
        /// </summary>
        public LogInFrom LogInSource { get; set; }
    }
    /// <summary>
    /// ç™»å½•源 ç±»åž‹
    /// </summary>
    public enum LogInFrom
    {
        /// <summary>
        /// PCAPP登录
        /// </summary>
        PC,
        /// <summary>
        /// APP端登录
        /// </summary>
        APP,
        /// <summary>
        /// å¾®ä¿¡å°ç¨‹åºç™»å½•
        /// </summary>
        WeChat,
        /// <summary>
        /// é¡µé¢ç«¯ç™»å½•
        /// </summary>
        Web
    }
}
DocumentServiceAPI.Model/User/JobInfo.cs
File was deleted
DocumentServiceAPI.Model/User/UnitInfo.cs
File was deleted
DocumentServiceAPI.Model/User/UserInfo.cs
File was deleted
DocumentServiceAPI.Model/User/UserUnitInfo.cs
File was deleted
DocumentServiceAPI.Model/UserInfoModel/EmployeeAtTenant.cs
New file
@@ -0,0 +1,37 @@
using DocumentServiceAPI.Enum;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Model.UserInfoModel
{
    /// <summary>
    /// å‘˜å·¥ç§Ÿæˆ· å…³ç³»è¡¨
    /// </summary>
    public class EmployeeAtTenant:BaseModel
    {
        /// <summary>
        /// ID
        /// </summary>
        [Display(Name = "ID ")]
        [SugarColumn(ColumnDescription = "ID ",IsPrimaryKey =true,IsIdentity =true)]
        public int ID { get; set; }
        /// <summary>
        /// å‘˜å·¥ID
        /// </summary>
        [Display(Name = "员工ID ")]
        [SugarColumn(ColumnDescription = "员工ID ")]
        public int EmployeeID { get; set; }
        /// <summary>
        /// ç§Ÿæˆ·ID
        /// </summary>
        [Display(Name = "租户ID ")]
        [SugarColumn(ColumnDescription = "租户ID ")]
        public int TenantID { get; set; }
    }
}
DocumentServiceAPI.Model/UserInfoModel/EmployeeInfo.cs
New file
@@ -0,0 +1,71 @@
using DocumentServiceAPI.Enum;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Model.UserInfoModel
{
    /// <summary>
    /// å‘˜å·¥
    /// </summary>
    [Display(Name = "员工 ")]
    [SugarTable(TableName = "EmployeeInfo", TableDescription = "员工")]
    public class EmployeeInfo
    {
        /// <summary>
        /// å‘˜å·¥ID
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int Id { get; set; }
        /// <summary>
        /// å‘˜å·¥åç§°
        /// </summary>
        public string EmployeeName { get; set; }
        /// <summary>
        /// ç”µè¯
        /// </summary>
        public string? Phone { get; set; }
        /// <summary>
        /// ç¦»å¼€æ—¶é—´
        /// </summary>
        public DateTime? LeaveTime { get; set; }
        /// <summary>
        /// è¯ä»¶æ­£é¢
        /// </summary>
        public string CardPositive { get; set; }
        /// <summary>
        /// è¯ä»¶æ­£é¢ç‰ˆæœ¬å·
        /// </summary>
        public string? CardPositiveVersionNo { get; set; }
        /// <summary>
        /// ç”¨æˆ·å
        /// </summary>
        public string ITCode { get; set; }
        /// <summary>
        /// ç”¨æˆ·å¯†ç 
        /// </summary>
        public string UserPassWord { get; set; }
        /// <summary>
        /// å»ºè®®æ ‡å¿—
        /// </summary>
        public int? AdviseFlag { get; set; }
        /// <summary>
        /// æè¿°
        /// </summary>
         public string? Description { get; set; }
    }
}
DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs
New file
@@ -0,0 +1,78 @@
using DocumentServiceAPI.Enum;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Model.UserInfoModel
{
    /// <summary>
    /// ç§Ÿæˆ·è¡¨
    /// </summary>
    [Display(Name = "租户表 ")]
    [SugarTable(TableName = "TenantInfo", TableDescription = "租户表")]
    public class TenantInfo : BaseModel
    {
        /// <summary>
        /// ID
        /// </summary>
        [Display(Name = "ID ")]
        [SugarColumn(ColumnDescription = "ID ",IsPrimaryKey =true,IsIdentity =true)]
        public int Id { get; set; }
        /// <summary>
        /// ç§Ÿæˆ·å
        /// </summary>
        [Display(Name = "租户名 ")]
        [SugarColumn(ColumnDescription = "租户名 ",Length =20)]
        public string ItCode { get; set; }
        /// <summary>
        /// åç§°
        /// </summary>
        [Display(Name = "名称 ")]
        [SugarColumn(ColumnDescription = "名称 ", Length = 200)]
        public string? Name { get; set; }
        /// <summary>
        /// æè¿°
        /// </summary>
        [Display(Name = "描述 ")]
        [SugarColumn(ColumnDescription = "描述 ")]
        public string? Description { get; set; }
        /// <summary>
        /// æ ‡æ³¨
        /// </summary>
        [Display(Name = "标注")]
        [SugarColumn(ColumnDescription = "标注")]
        public string? ReMark { get; set; }
        /// <summary>
        /// æ•°æ®åº“链接字符串 å¤‡ç”¨
        /// </summary>
        [Display(Name = "数据库链接字符串")]
        [SugarColumn(ColumnDescription = "数据库链接字符串")]
        public string? ConnectionString { get; set; }
        /// <summary>
        /// æ•°æ®åº“类型 å¤‡ç”¨
        /// </summary>
        [Display(Name = "数据库类型")]
        [SugarColumn(ColumnDescription = "数据库类型")]
        public string? DbType { get; set; }
        /// <summary>
        /// å¯†ç 
        /// </summary>
        [SugarColumn(Length =30)]
        public string? PsW { get; set; }
    }
}
DocumentServiceAPI.Model/cyDocumentModel/Document_EmployeeInfo.cs
@@ -5,135 +5,80 @@
namespace DocumentServiceAPI.Model.cyDocumentModel
{
    ///<summary>
    ///
    ///</summary>
    /// <summary>
    /// æ–‡æ¡£å‘˜å·¥ä¿¡æ¯
    /// </summary>
    [SugarTable("Document_EmployeeInfo")]
    public partial class Document_EmployeeInfo
    {
           public Document_EmployeeInfo(){
           }
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:False
           /// </summary>
           [SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
           public int EmployeeId {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string EmployeeName {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string Job {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string Phone {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public int? IsWork {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public DateTime? LeaveTime {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string CardPositive {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string CardPositiveVersionNo {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public int? CardPositiveSize {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public DateTime? LastUpdateTime {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string LastUpdateName {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string UserName {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string UserPassWord {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public DateTime? LoginTime {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public bool? IsLogin {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public int? AdviseFlag {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public int? UserId {get;set;}
        /// <summary>
        /// å‘˜å·¥ID
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int EmployeeId { get; set; }
        /// <summary>
        /// å‘˜å·¥åç§°
        /// </summary>
        public string EmployeeName { get; set; }
        /// <summary>
        /// å·¥ä½œèŒä½
        /// </summary>
        public string Job { get; set; }
        /// <summary>
        /// ç”µè¯
        /// </summary>
        public string Phone { get; set; }
        /// <summary>
        /// æ˜¯å¦åœ¨å·¥ä½œ
        /// </summary>
        public int? IsWork { get; set; }
        /// <summary>
        /// ç¦»å¼€æ—¶é—´
        /// </summary>
        public DateTime? LeaveTime { get; set; }
        /// <summary>
        /// è¯ä»¶æ­£é¢
        /// </summary>
        public string CardPositive { get; set; }
        /// <summary>
        /// è¯ä»¶æ­£é¢ç‰ˆæœ¬å·
        /// </summary>
        public string CardPositiveVersionNo { get; set; }
        /// <summary>
        /// è¯ä»¶æ­£é¢å¤§å°
        /// </summary>
        public int? CardPositiveSize { get; set; }
        /// <summary>
        /// æœ€åŽæ›´æ–°æ—¶é—´
        /// </summary>
        public DateTime? LastUpdateTime { get; set; }
        /// <summary>
        /// æœ€åŽæ›´æ–°äºº
        /// </summary>
        public string LastUpdateName { get; set; }
        /// <summary>
        /// ç”¨æˆ·å
        /// </summary>
        public string UserName { get; set; }
        /// <summary>
        /// ç”¨æˆ·å¯†ç 
        /// </summary>
        public string UserPassWord { get; set; }
        /// <summary>
        /// ç™»å½•æ—¶é—´
        /// </summary>
        public DateTime? LoginTime { get; set; }
        /// <summary>
        /// æ˜¯å¦ç™»å½•
        /// </summary>
        public bool? IsLogin { get; set; }
        /// <summary>
        /// å»ºè®®æ ‡å¿—
        /// </summary>
        public int? AdviseFlag { get; set; }
        /// <summary>
        /// ç”¨æˆ·ID
        /// </summary>
        public int? UserId { get; set; }
    }
}
DocumentServiceAPI.Model/cyDocumentModel/Document_EmployeeRole.cs
@@ -6,36 +6,26 @@
namespace DocumentServiceAPI.Model.cyDocumentModel
{
    ///<summary>
    ///
    ///文档员工角色
    ///</summary>
    [SugarTable("Document_EmployeeRole")]
    public partial class Document_EmployeeRole
    {
           public Document_EmployeeRole(){
           }
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:False
           /// </summary>
           [SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
           public int ID {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:False
           /// </summary>
           public int EmployeeId {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:False
           /// </summary>
           public int RoleType {get;set;}
        /// <summary>
        /// ID
        /// é»˜è®¤å€¼ï¼š
        /// å¯ç©ºï¼šFalse
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int ID { get; set; }
        /// <summary>
        /// å‘˜å·¥ID
        /// </summary>
        public int? EmployeeId { get; set; }
        /// <summary>
        /// è§’色类型
        /// </summary>
        public int? RoleType { get; set; }
    }
}
DocumentServiceAPI.Model/cyDocumentModel/Document_PerformanceInfo.cs
@@ -11,59 +11,50 @@
    [SugarTable("Document_PerformanceInfo")]
    public partial class Document_PerformanceInfo
    {
           public Document_PerformanceInfo(){
           }
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:False
           /// </summary>
           [SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
           public int Id {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public int? EmployeeId {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string ProjectName {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string WorkItem {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public decimal? Price {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public DateTime? WorkTime {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string EmployeeName {get;set;}
        /// <summary>
        /// ID
        /// é»˜è®¤å€¼ï¼š
        /// å¯ç©ºï¼šFalse
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int Id { get; set; }
        /// <summary>
        /// å‘˜å·¥ID
        /// é»˜è®¤å€¼ï¼š
        /// å¯ç©ºï¼šTrue
        /// </summary>
        public int? EmployeeId { get; set; }
        /// <summary>
        /// é¡¹ç›®åç§°
        /// é»˜è®¤å€¼ï¼š
        /// å¯ç©ºï¼šTrue
        /// </summary>
        public string ProjectName { get; set; }
        /// <summary>
        /// å·¥ä½œé¡¹
        /// é»˜è®¤å€¼ï¼š
        /// å¯ç©ºï¼šTrue
        /// </summary>
        public string WorkItem { get; set; }
        /// <summary>
        /// ä»·æ ¼
        /// é»˜è®¤å€¼ï¼š
        /// å¯ç©ºï¼šTrue
        /// </summary>
        public decimal? Price { get; set; }
        /// <summary>
        /// å·¥ä½œæ—¶é—´
        /// é»˜è®¤å€¼ï¼š
        /// å¯ç©ºï¼šTrue
        /// </summary>
        public DateTime? WorkTime { get; set; }
        /// <summary>
        /// å‘˜å·¥å§“名
        /// é»˜è®¤å€¼ï¼š
        /// å¯ç©ºï¼šTrue
        /// </summary>
        public string EmployeeName { get; set; }
    }
}
DocumentServiceAPI.Model/cyDocumentModel/Document_TenderUnit.cs
@@ -5,310 +5,193 @@
namespace DocumentServiceAPI.Model.cyDocumentModel
{
    ///<summary>
    ///
    ///</summary>
    /// <summary>
    /// å•位
    /// </summary>
    [SugarTable("Document_TenderUnit")]
    public partial class Document_TenderUnit
    {
           public Document_TenderUnit(){
           }
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:False
           /// </summary>
           [SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
           public int UnitId {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:False
           /// </summary>
           public string UnitName {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string UnitType {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string Address {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string ZipCode {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string ContactPerson {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string ContactPhone {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string Fax {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string WebUrl {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string OrgStructure {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string Corporater {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string CorporaterPost {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string CorporaterTechnicalPost {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string CorporatePhone {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string TechnicalLeader {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string TechnicalPost {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string TechnicalPhone {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string CreatTime {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string StaffCount {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string FirmQualificationLevel {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string BusinessLicense {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string RegMoney {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string OpenBank {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string BankNum {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string ProjectManager {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string SeniorStaff {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string MiddleStaff {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string PrimaryStaff {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string Mechanicer {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string BusinessContent {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string Remark {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string UnitLogo {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string UnitLogoVersionNo {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public int? UnitLogoSize {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string CardPositive {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string CardPositiveVersionNo {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public int? CardPositiveSize {get;set;}
           /// <summary>
           /// Desc:
           /// Default:1
           /// Nullable:True
           /// </summary>
           public int? IsUsed {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public DateTime? LastUpdateTime {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string LastUpdateName {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public int? AdviseFlag {get;set;}
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public int? UserId {get;set;}
        /// <summary>
        /// ID
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int UnitId { get; set; }
        ///<summary>
        ///单位名称
        ///</summary>
        public string UnitName { get; set; }
        ///<summary>
        ///单位类型
        ///</summary>
        public string? UnitType { get; set; }
        ///<summary>
        ///地址
        ///</summary>
        public string? Address { get; set; }
        ///<summary>
        ///邮政编码
        ///</summary>
        public string? ZipCode { get; set; }
        ///<summary>
        ///联系人
        ///</summary>
        public string? ContactPerson { get; set; }
        ///<summary>
        ///联系电话
        ///</summary>
        public string? ContactPhone { get; set; }
        ///<summary>
        ///传真
        ///</summary>
        public string? Fax { get; set; }
        ///<summary>
        ///网址
        ///</summary>
        public string? WebUrl { get; set; }
        ///<summary>
        ///组织结构
        ///</summary>
        public string? OrgStructure { get; set; }
        ///<summary>
        ///法人代表
        ///</summary>
        public string? Corporater { get; set; }
        ///<summary>
        ///法人职务
        ///</summary>
        public string? CorporaterPost { get; set; }
        ///<summary>
        ///法人技术职务
        ///</summary>
        public string? CorporaterTechnicalPost { get; set; }
        ///<summary>
        ///法人联系电话
        ///</summary>
        public string? CorporatePhone { get; set; }
        ///<summary>
        ///技术负责人
        ///</summary>
        public string? TechnicalLeader { get; set; }
        ///<summary>
        ///技术职务
        ///</summary>
        public string? TechnicalPost { get; set; }
        ///<summary>
        ///技术联系电话
        ///</summary>
        public string? TechnicalPhone { get; set; }
        ///<summary>
        ///创建时间
        ///</summary>
        public string? CreatTime { get; set; }
        ///<summary>
        ///员工数量
        ///</summary>
        public string? StaffCount { get; set; }
        ///<summary>
        ///企业资质等级
        ///</summary>
        public string? FirmQualificationLevel { get; set; }
        ///<summary>
        ///营业执照
        ///</summary>
        public string? BusinessLicense { get; set; }
        ///<summary>
        ///注册资金
        ///</summary>
        public string? RegMoney { get; set; }
        ///<summary>
        ///开户银行
        ///</summary>
        public string? OpenBank { get; set; }
        ///<summary>
        ///银行账号
        ///</summary>
        public string? BankNum { get; set; }
        ///<summary>
        ///项目经理
        ///</summary>
        public string? ProjectManager { get; set; }
        ///<summary>
        ///高级职工
        ///</summary>
        public string? SeniorStaff { get; set; }
        ///<summary>
        ///中级职工
        ///</summary>
        public string? MiddleStaff { get; set; }
        ///<summary>
        ///初级职工
        ///</summary>
        public string ?PrimaryStaff { get; set; }
        ///<summary>
        ///高级工
        ///</summary>
        public string ?Mechanicer { get; set; }
        ///<summary>
        ///经营内容
        ///</summary>
        public string ?BusinessContent { get; set; }
        ///<summary>
        ///备注
        ///</summary>
        public string ?Remark { get; set; }
        ///<summary>
        ///单位Logo
        ///</summary>
        public string? UnitLogo { get; set; }
        ///<summary>
        ///单位Logo版本号
        ///</summary>
        public string? UnitLogoVersionNo { get; set; }
        ///<summary>
        ///单位Logo大小
        ///</summary>
        public int? UnitLogoSize { get; set; }
        ///<summary>
        ///身份证正面
        ///</summary>
        public string ?CardPositive { get; set; }
        ///<summary>
        ///身份证正面版本号
        ///</summary>
        public string ?CardPositiveVersionNo { get; set; }
        ///<summary>
        ///身份证正面大小
        ///</summary>
        public int? CardPositiveSize { get; set; }
        ///<summary>
        ///是否使用
        ///</summary>
        public int? IsUsed { get; set; }
        ///<summary>
        ///最后更新时间
        ///</summary>
        public DateTime? LastUpdateTime { get; set; }
        ///<summary>
        ///最后更新人
        ///</summary>
        public string? LastUpdateName { get; set; }
        ///<summary>
        ///建议标志
        ///</summary>
        public int? AdviseFlag { get; set; }
        ///<summary>
        ///租户ID
        ///</summary>
        [SugarColumn(DefaultValue ="0")]
        public int TenantId { get; set; }
        /// <summary>
        /// UserId
        /// </summary>
        public int? UserId { get; set; }
        /// <summary>
        /// æ˜¯å¦æœ‰æ•ˆ
        /// </summary>
        public bool? IsEn {  get; set; }
        /// <summary>
        ///  æ˜¯å¦åˆ é™¤
        /// </summary>
        public bool ? IsDeled { get; set; }
    }
}
DocumentServiceAPI.Model/cyDocumentModel/Document_UserInfo.cs
@@ -5,44 +5,39 @@
namespace DocumentServiceAPI.Model.cyDocumentModel
{
    ///<summary>
    ///
    ///</summary>
    /// <summary>
    /// æ–‡æ¡£ç”¨æˆ·
    /// </summary>
    [SugarTable("Document_UserInfo")]
    public partial class Document_UserInfo
    {
           public Document_UserInfo(){
        /// <summary>
        /// Desc: ç”¨æˆ·ID
        /// Default:
        /// Nullable: False
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int UserId { get; set; }
        /// <summary>
        /// Desc: ç”¨æˆ·å
        /// Default:
        /// Nullable: True
        /// </summary>
        public string UserName { get; set; }
           }
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:False
           /// </summary>
           [SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
           public int UserId {get;set;}
        /// <summary>
        /// Desc: æ˜¯å¦ç»ç†
        /// Default: 0
        /// Nullable: True
        /// </summary>
        public int? IsManager { get; set; }
           /// <summary>
           /// Desc:
           /// Default:
           /// Nullable:True
           /// </summary>
           public string UserName {get;set;}
           /// <summary>
           /// Desc:
           /// Default:0
           /// Nullable:True
           /// </summary>
           public int? IsManager {get;set;}
           /// <summary>
           /// Desc:
           /// Default:1
           /// Nullable:True
           /// </summary>
           public int? IsUsed {get;set;}
        /// <summary>
        /// Desc: æ˜¯å¦å·²ä½¿ç”¨
        /// Default: 1
        /// Nullable: True
        /// </summary>
        public int? IsUsed { get; set; }
    }
}
DocumentServiceAPI.Model/cyDocumentModel/¿âĿ¼.md
New file
@@ -0,0 +1,26 @@

Document_Adviselnfo.cs - æ–‡æ¡£å’¨è¯¢ä¿¡æ¯
Document_AptitudelMG.cs - æ–‡æ¡£èµ„质管理
Document_Aptitudelnfo.cs - æ–‡æ¡£èµ„质信息
Document_AptitudeType.cs - æ–‡æ¡£èµ„质类型
Document_CommonFile.cs - æ–‡æ¡£é€šç”¨æ–‡ä»¶
Document_DelegatePersonlnfo.cs - æ–‡æ¡£å§”托人信息
Document_Dictionary.cs - æ–‡æ¡£å­—å…¸
Document_DocumentTempletlnfo.cs - æ–‡æ¡£æ¨¡æ¿ä¿¡æ¯
Document_Employeelnfo.cs - æ–‡æ¡£å‘˜å·¥ä¿¡æ¯
Document_EmployeeRole.cs - æ–‡æ¡£å‘˜å·¥è§’色
Document_LayInfo.cs - æ–‡æ¡£å¸ƒå±€ä¿¡æ¯
Document_OtherCompanyTenderInfo.cs - æ–‡æ¡£å…¶ä»–公司投标信息
Document_Performancelnfo.cs - æ–‡æ¡£ç»©æ•ˆä¿¡æ¯
Document_ProjectComplainlnfo.cs - æ–‡æ¡£é¡¹ç›®æŠ•诉信息
Document_ProjectDocumentInfo.cs - æ–‡æ¡£é¡¹ç›®æ–‡æ¡£ä¿¡æ¯
Document_ProjectExpand.cs - æ–‡æ¡£é¡¹ç›®æ‰©å±•
Document_ProjectInfo.cs - æ–‡æ¡£é¡¹ç›®ä¿¡æ¯
Document_ProjectLitigationlnfo.cs - æ–‡æ¡£é¡¹ç›®è¯‰è®¼ä¿¡æ¯
Document_ProjectOppugninfo.cs - æ–‡æ¡£é¡¹ç›®è´¨ç–‘信息
Document_ProjectReviewInfo.cs - æ–‡æ¡£é¡¹ç›®è¯„审信息
Document_Synchrolnfo.cs - æ–‡æ¡£åŒæ­¥ä¿¡æ¯
Document_TenderUnit.cs - æ–‡æ¡£æ‹›æ ‡å•位
Document_Userlnfo.cs - æ–‡æ¡£ç”¨æˆ·ä¿¡æ¯
Document_WinInfo.cs - æ–‡æ¡£ä¸­æ ‡ä¿¡æ¯
Document_WorkRemind.cs - æ–‡æ¡£å·¥ä½œæé†’
DocumentServiceAPI.Services/DocumentServiceAPI.Services.csproj
New file
@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="CSRedisCore" Version="3.8.670" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\DocumentServiceAPI.Core\DocumentServiceAPI.Core.csproj" />
  </ItemGroup>
</Project>
DocumentServiceAPI.Services/IService/ICacheService.cs
New file
@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Services.IService
{
    /// <summary>
    /// ç¼“存服务
    /// ç›®å‰åªå†™äº†å¯¹redis的支持 ï¼Œå¦‚需要其他的,自行完善 è¯¥æŽ¥å£ä¸ºæŒ‰æ ‡å‡†æœåŠ¡æ³¨å…¥ï¼Œåœ¨æ³¨å…¥æ—¶åˆ¤å†³äº†å¯¹redis的配置。如果没有偶配置,者不注入服务
    /// </summary>
    public interface IRedisCacheService
    {
        /// <summary>
        /// è®¾ç½®ä¸€ä¸ªé”®å€¼
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <param name="expireSeconds"></param>
        /// <returns></returns>
        bool Add<T>(string key, T value, int expireSeconds);
        /// <summary>
        /// èŽ·å–ä¸€ä¸ªé”®å€¼
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <returns></returns>
        T? Get<T>(string key);
        /// <summary>
        /// èŽ·å–é”®å€¼å‰©ä½™è¿‡æ—¶é—´ ç§’级
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public long GetTtl(string key);
    }
}
DocumentServiceAPI.Services/RedisCacheScService.cs
New file
@@ -0,0 +1,42 @@
using DocumentServiceAPI.Services.IService;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Furion.DependencyInjection;
namespace DocumentServiceAPI.Services
{
    /// <summary>
    /// redis缓存服务
    /// </summary>
    public class RedisCacheScService: IRedisCacheService, IScoped
    {
        /// <summary>
        /// è®¾ç½®ä¸€ä¸ªé”®å€¼
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public bool Add<T>(string key, T value, int expireSeconds = -1)
        {
            return RedisHelper.Set(key, value, expireSeconds);
        }
        public T? Get<T>(string key)
        {
            return RedisHelper.Get<T>(key);
        }
        /// <summary>
        /// èŽ·å–ç§’çº§è¿‡æœŸæ—¶é—´
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public long GetTtl(string key)
        {
            return RedisHelper.Ttl(key);
        }
    }
}
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Core.dll
Binary files differ
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Core.pdb
Binary files differ
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Core.xml
New file
@@ -0,0 +1,27 @@
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>DocumentServiceAPI.Core</name>
    </assembly>
    <members>
        <member name="T:DocumentServiceAPI.Core.DbContext">
            <summary>
            æ•°æ®åº“上下文对象
            </summary>
        </member>
        <member name="F:DocumentServiceAPI.Core.DbContext.Instance">
            <summary>
            SqlSugar æ•°æ®åº“实例
            </summary>
        </member>
        <member name="M:DocumentServiceAPI.Core.DbContext.DbCodeFirst(Microsoft.AspNetCore.Builder.IApplicationBuilder,System.String,System.String,System.String)">
            <summary>
            æ ¹æ®å‘½åç©ºé—´å’Œæ•°æ®åº“连接key填表
            æ³¨æ„ï¼Œåªæœ‰ç»§æ‰¿äº†ezBaseModel çš„æ¨¡åž‹æ‰ä¼šåˆ›å»º
            </summary>
            <param name="app"></param>
            <param name="ConfigId">配置库名</param>
            <param name="ModeProjectName"></param>
        </member>
    </members>
</doc>
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Enum.dll
Binary files differ
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Enum.pdb
Binary files differ
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Enum.xml
New file
@@ -0,0 +1,43 @@
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>DocumentServiceAPI.Enum</name>
    </assembly>
    <members>
        <member name="P:DocumentServiceAPI.Enum.BaseModel.CreatTime">
            <summary>
            åˆ›å»ºæ—¶é—´
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Enum.BaseModel.CreatBy">
            <summary>
            åˆ›å»ºäºº
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Enum.BaseModel.UpdataTime">
            <summary>
            ä¿®æ”¹æ—¶é—´
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Enum.BaseModel.UpdataBy">
            <summary>
            ä¿®æ”¹äºº
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Enum.BaseModel.Sort">
            <summary>
            æŽ’序
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Enum.BaseModel.IsDel">
            <summary>
            æ˜¯å¦åˆ é™¤
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Enum.BaseModel.IsEn">
            <summary>
            æ˜¯å¦æœ‰æ•ˆ
            </summary>
        </member>
    </members>
</doc>
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Services.deps.json
New file
@@ -0,0 +1,2498 @@
{
  "runtimeTarget": {
    "name": ".NETCoreApp,Version=v6.0",
    "signature": ""
  },
  "compilationOptions": {},
  "targets": {
    ".NETCoreApp,Version=v6.0": {
      "DocumentServiceAPI.Services/1.0.0": {
        "dependencies": {
          "CSRedisCore": "3.8.670",
          "DocumentServiceAPI.Core": "1.0.0"
        },
        "runtime": {
          "DocumentServiceAPI.Services.dll": {}
        }
      },
      "Ben.Demystifier/0.4.1": {
        "dependencies": {
          "System.Reflection.Metadata": "7.0.0"
        },
        "runtime": {
          "lib/netstandard2.1/Ben.Demystifier.dll": {
            "assemblyVersion": "0.4.0.0",
            "fileVersion": "0.4.0.2"
          }
        }
      },
      "CSRedisCore/3.8.670": {
        "dependencies": {
          "Newtonsoft.Json": "13.0.2",
          "System.ValueTuple": "4.5.0"
        },
        "runtime": {
          "lib/netstandard2.0/CSRedisCore.dll": {
            "assemblyVersion": "3.8.670.0",
            "fileVersion": "3.8.670.0"
          }
        }
      },
      "Furion.Extras.Authentication.JwtBearer/4.8.8.38": {
        "dependencies": {
          "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.20"
        },
        "runtime": {
          "lib/net6.0/Furion.Extras.Authentication.JwtBearer.dll": {
            "assemblyVersion": "4.8.8.38",
            "fileVersion": "4.8.8.38"
          }
        }
      },
      "Furion.Extras.ObjectMapper.Mapster/4.8.8.38": {
        "dependencies": {
          "Mapster": "7.3.0",
          "Mapster.DependencyInjection": "1.0.0",
          "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/Furion.Extras.ObjectMapper.Mapster.dll": {
            "assemblyVersion": "4.8.8.38",
            "fileVersion": "4.8.8.38"
          }
        }
      },
      "Furion.Pure/4.8.8.38": {
        "dependencies": {
          "Furion.Pure.Extras.DependencyModel.CodeAnalysis": "4.8.8.38",
          "MiniProfiler.AspNetCore.Mvc": "4.3.8",
          "Swashbuckle.AspNetCore": "6.5.0"
        },
        "runtime": {
          "lib/net6.0/Furion.Pure.dll": {
            "assemblyVersion": "4.8.8.38",
            "fileVersion": "4.8.8.38"
          }
        }
      },
      "Furion.Pure.Extras.DependencyModel.CodeAnalysis/4.8.8.38": {
        "dependencies": {
          "Ben.Demystifier": "0.4.1",
          "Microsoft.AspNetCore.Mvc.NewtonsoftJson": "6.0.20",
          "Microsoft.AspNetCore.Razor.Language": "6.0.20",
          "Microsoft.CodeAnalysis.CSharp": "4.6.0",
          "Microsoft.Extensions.DependencyModel": "6.0.0",
          "System.Text.Json": "6.0.8"
        },
        "runtime": {
          "lib/net6.0/Furion.Pure.Extras.DependencyModel.CodeAnalysis.dll": {
            "assemblyVersion": "4.8.8.38",
            "fileVersion": "4.8.8.38"
          }
        }
      },
      "Mapster/7.3.0": {
        "dependencies": {
          "Mapster.Core": "1.2.0",
          "Microsoft.CSharp": "4.7.0",
          "System.Reflection.Emit": "4.3.0"
        },
        "runtime": {
          "lib/netstandard2.0/Mapster.dll": {
            "assemblyVersion": "7.3.0.0",
            "fileVersion": "7.3.0.0"
          }
        }
      },
      "Mapster.Core/1.2.0": {
        "runtime": {
          "lib/netstandard2.0/Mapster.Core.dll": {
            "assemblyVersion": "1.2.0.0",
            "fileVersion": "1.2.0.0"
          }
        }
      },
      "Mapster.DependencyInjection/1.0.0": {
        "dependencies": {
          "Mapster": "7.3.0"
        },
        "runtime": {
          "lib/netstandard2.0/Mapster.DependencyInjection.dll": {
            "assemblyVersion": "1.0.0.0",
            "fileVersion": "1.0.0.0"
          }
        }
      },
      "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Http.Abstractions": "2.2.0",
          "Microsoft.Extensions.Logging.Abstractions": "2.2.0",
          "Microsoft.Extensions.Options": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.Authentication.Core/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0",
          "Microsoft.AspNetCore.Http": "2.2.0",
          "Microsoft.AspNetCore.Http.Extensions": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.Authentication.JwtBearer/6.0.20": {
        "dependencies": {
          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.10.0"
        },
        "runtime": {
          "lib/net6.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll": {
            "assemblyVersion": "6.0.20.0",
            "fileVersion": "6.0.2023.32106"
          }
        }
      },
      "Microsoft.AspNetCore.Authorization/2.2.0": {
        "dependencies": {
          "Microsoft.Extensions.Logging.Abstractions": "2.2.0",
          "Microsoft.Extensions.Options": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.Authorization.Policy/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0",
          "Microsoft.AspNetCore.Authorization": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.2.0",
          "Microsoft.AspNetCore.Http.Abstractions": "2.2.0",
          "Microsoft.Extensions.Hosting.Abstractions": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Http.Features": "2.2.0",
          "Microsoft.Extensions.Configuration.Abstractions": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.Http/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Http.Abstractions": "2.2.0",
          "Microsoft.AspNetCore.WebUtilities": "2.2.0",
          "Microsoft.Extensions.ObjectPool": "2.2.0",
          "Microsoft.Extensions.Options": "2.2.0",
          "Microsoft.Net.Http.Headers": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.Http.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Http.Features": "2.2.0",
          "System.Text.Encodings.Web": "6.0.0"
        }
      },
      "Microsoft.AspNetCore.Http.Extensions/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Http.Abstractions": "2.2.0",
          "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0",
          "Microsoft.Net.Http.Headers": "2.2.0",
          "System.Buffers": "4.5.1"
        }
      },
      "Microsoft.AspNetCore.Http.Features/2.2.0": {
        "dependencies": {
          "Microsoft.Extensions.Primitives": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.JsonPatch/6.0.20": {
        "dependencies": {
          "Microsoft.CSharp": "4.7.0",
          "Newtonsoft.Json": "13.0.2"
        },
        "runtime": {
          "lib/net6.0/Microsoft.AspNetCore.JsonPatch.dll": {
            "assemblyVersion": "6.0.20.0",
            "fileVersion": "6.0.2023.32106"
          }
        }
      },
      "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0",
          "Microsoft.Net.Http.Headers": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.Mvc.Core/2.2.5": {
        "dependencies": {
          "Microsoft.AspNetCore.Authentication.Core": "2.2.0",
          "Microsoft.AspNetCore.Authorization.Policy": "2.2.0",
          "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0",
          "Microsoft.AspNetCore.Http": "2.2.0",
          "Microsoft.AspNetCore.Http.Extensions": "2.2.0",
          "Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0",
          "Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0",
          "Microsoft.AspNetCore.Routing": "2.2.0",
          "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0",
          "Microsoft.Extensions.DependencyInjection": "2.2.0",
          "Microsoft.Extensions.DependencyModel": "6.0.0",
          "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0",
          "Microsoft.Extensions.Logging.Abstractions": "2.2.0",
          "System.Diagnostics.DiagnosticSource": "4.7.0",
          "System.Threading.Tasks.Extensions": "4.5.1"
        }
      },
      "Microsoft.AspNetCore.Mvc.NewtonsoftJson/6.0.20": {
        "dependencies": {
          "Microsoft.AspNetCore.JsonPatch": "6.0.20",
          "Newtonsoft.Json": "13.0.2",
          "Newtonsoft.Json.Bson": "1.0.2"
        },
        "runtime": {
          "lib/net6.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll": {
            "assemblyVersion": "6.0.20.0",
            "fileVersion": "6.0.2023.32106"
          }
        }
      },
      "Microsoft.AspNetCore.Razor.Language/6.0.20": {
        "runtime": {
          "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Language.dll": {
            "assemblyVersion": "6.0.20.0",
            "fileVersion": "6.0.2023.32106"
          }
        }
      },
      "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.Extensions.Primitives": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.Routing/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Http.Extensions": "2.2.0",
          "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0",
          "Microsoft.Extensions.Logging.Abstractions": "2.2.0",
          "Microsoft.Extensions.ObjectPool": "2.2.0",
          "Microsoft.Extensions.Options": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Http.Abstractions": "2.2.0"
        }
      },
      "Microsoft.AspNetCore.WebUtilities/2.2.0": {
        "dependencies": {
          "Microsoft.Net.Http.Headers": "2.2.0",
          "System.Text.Encodings.Web": "6.0.0"
        }
      },
      "Microsoft.CodeAnalysis.Analyzers/3.3.4": {},
      "Microsoft.CodeAnalysis.Common/4.6.0": {
        "dependencies": {
          "Microsoft.CodeAnalysis.Analyzers": "3.3.4",
          "System.Collections.Immutable": "7.0.0",
          "System.Reflection.Metadata": "7.0.0",
          "System.Runtime.CompilerServices.Unsafe": "6.0.0",
          "System.Text.Encoding.CodePages": "7.0.0"
        },
        "runtime": {
          "lib/net6.0/Microsoft.CodeAnalysis.dll": {
            "assemblyVersion": "4.6.0.0",
            "fileVersion": "4.600.23.25908"
          }
        },
        "resources": {
          "lib/net6.0/cs/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "cs"
          },
          "lib/net6.0/de/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "de"
          },
          "lib/net6.0/es/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "es"
          },
          "lib/net6.0/fr/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "fr"
          },
          "lib/net6.0/it/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "it"
          },
          "lib/net6.0/ja/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "ja"
          },
          "lib/net6.0/ko/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "ko"
          },
          "lib/net6.0/pl/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "pl"
          },
          "lib/net6.0/pt-BR/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "pt-BR"
          },
          "lib/net6.0/ru/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "ru"
          },
          "lib/net6.0/tr/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "tr"
          },
          "lib/net6.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "zh-Hans"
          },
          "lib/net6.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll": {
            "locale": "zh-Hant"
          }
        }
      },
      "Microsoft.CodeAnalysis.CSharp/4.6.0": {
        "dependencies": {
          "Microsoft.CodeAnalysis.Common": "4.6.0"
        },
        "runtime": {
          "lib/net6.0/Microsoft.CodeAnalysis.CSharp.dll": {
            "assemblyVersion": "4.6.0.0",
            "fileVersion": "4.600.23.25908"
          }
        },
        "resources": {
          "lib/net6.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "cs"
          },
          "lib/net6.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "de"
          },
          "lib/net6.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "es"
          },
          "lib/net6.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "fr"
          },
          "lib/net6.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "it"
          },
          "lib/net6.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "ja"
          },
          "lib/net6.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "ko"
          },
          "lib/net6.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "pl"
          },
          "lib/net6.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "pt-BR"
          },
          "lib/net6.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "ru"
          },
          "lib/net6.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "tr"
          },
          "lib/net6.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "zh-Hans"
          },
          "lib/net6.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll": {
            "locale": "zh-Hant"
          }
        }
      },
      "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.10.0",
          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.10.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": "7.0.0"
        },
        "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"
          }
        }
      },
      "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": {
        "runtimeTargets": {
          "runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll": {
            "rid": "win-arm",
            "assetType": "native",
            "fileVersion": "2.1.1.0"
          },
          "runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": {
            "rid": "win-arm64",
            "assetType": "native",
            "fileVersion": "2.1.1.0"
          },
          "runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": {
            "rid": "win-x64",
            "assetType": "native",
            "fileVersion": "2.1.1.0"
          },
          "runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": {
            "rid": "win-x86",
            "assetType": "native",
            "fileVersion": "2.1.1.0"
          }
        }
      },
      "Microsoft.Data.Sqlite/7.0.5": {
        "dependencies": {
          "Microsoft.Data.Sqlite.Core": "7.0.5",
          "SQLitePCLRaw.bundle_e_sqlite3": "2.1.4"
        }
      },
      "Microsoft.Data.Sqlite.Core/7.0.5": {
        "dependencies": {
          "SQLitePCLRaw.core": "2.1.4"
        },
        "runtime": {
          "lib/net6.0/Microsoft.Data.Sqlite.dll": {
            "assemblyVersion": "7.0.5.0",
            "fileVersion": "7.0.523.16503"
          }
        }
      },
      "Microsoft.Extensions.ApiDescription.Server/6.0.5": {},
      "Microsoft.Extensions.Configuration.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.Extensions.Primitives": "2.2.0"
        }
      },
      "Microsoft.Extensions.DependencyInjection/2.2.0": {
        "dependencies": {
          "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0"
        }
      },
      "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {},
      "Microsoft.Extensions.DependencyModel/6.0.0": {
        "dependencies": {
          "System.Buffers": "4.5.1",
          "System.Memory": "4.5.4",
          "System.Runtime.CompilerServices.Unsafe": "6.0.0",
          "System.Text.Encodings.Web": "6.0.0",
          "System.Text.Json": "6.0.8"
        },
        "runtime": {
          "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "Microsoft.Extensions.FileProviders.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.Extensions.Primitives": "2.2.0"
        }
      },
      "Microsoft.Extensions.Hosting.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.Extensions.Configuration.Abstractions": "2.2.0",
          "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
          "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0",
          "Microsoft.Extensions.Logging.Abstractions": "2.2.0"
        }
      },
      "Microsoft.Extensions.Logging.Abstractions/2.2.0": {},
      "Microsoft.Extensions.ObjectPool/2.2.0": {},
      "Microsoft.Extensions.Options/2.2.0": {
        "dependencies": {
          "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
          "Microsoft.Extensions.Primitives": "2.2.0",
          "System.ComponentModel.Annotations": "4.5.0"
        }
      },
      "Microsoft.Extensions.Primitives/2.2.0": {
        "dependencies": {
          "System.Memory": "4.5.4",
          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
        }
      },
      "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.10.0": {
        "dependencies": {
          "Microsoft.IdentityModel.Tokens": "6.10.0"
        },
        "runtime": {
          "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
            "assemblyVersion": "6.10.0.0",
            "fileVersion": "6.10.0.20330"
          }
        }
      },
      "Microsoft.IdentityModel.Logging/6.10.0": {
        "runtime": {
          "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": {
            "assemblyVersion": "6.10.0.0",
            "fileVersion": "6.10.0.20330"
          }
        }
      },
      "Microsoft.IdentityModel.Protocols/6.10.0": {
        "dependencies": {
          "Microsoft.IdentityModel.Logging": "6.10.0",
          "Microsoft.IdentityModel.Tokens": "6.10.0"
        },
        "runtime": {
          "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": {
            "assemblyVersion": "6.10.0.0",
            "fileVersion": "6.10.0.20330"
          }
        }
      },
      "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.10.0": {
        "dependencies": {
          "Microsoft.IdentityModel.Protocols": "6.10.0",
          "System.IdentityModel.Tokens.Jwt": "6.10.0"
        },
        "runtime": {
          "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
            "assemblyVersion": "6.10.0.0",
            "fileVersion": "6.10.0.20330"
          }
        }
      },
      "Microsoft.IdentityModel.Tokens/6.10.0": {
        "dependencies": {
          "Microsoft.CSharp": "4.7.0",
          "Microsoft.IdentityModel.Logging": "6.10.0",
          "System.Security.Cryptography.Cng": "4.5.0"
        },
        "runtime": {
          "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": {
            "assemblyVersion": "6.10.0.0",
            "fileVersion": "6.10.0.20330"
          }
        }
      },
      "Microsoft.Net.Http.Headers/2.2.0": {
        "dependencies": {
          "Microsoft.Extensions.Primitives": "2.2.0",
          "System.Buffers": "4.5.1"
        }
      },
      "Microsoft.NETCore.Platforms/1.1.0": {},
      "Microsoft.NETCore.Targets/1.1.0": {},
      "Microsoft.OpenApi/1.2.3": {
        "runtime": {
          "lib/netstandard2.0/Microsoft.OpenApi.dll": {
            "assemblyVersion": "1.2.3.0",
            "fileVersion": "1.2.3.0"
          }
        }
      },
      "Microsoft.Win32.Registry/4.7.0": {
        "dependencies": {
          "System.Security.AccessControl": "6.0.0",
          "System.Security.Principal.Windows": "4.7.0"
        }
      },
      "Microsoft.Win32.SystemEvents/6.0.0": {
        "runtime": {
          "lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "MiniProfiler.AspNetCore/4.3.8": {
        "dependencies": {
          "MiniProfiler.Shared": "4.3.8"
        },
        "runtime": {
          "lib/net6.0/MiniProfiler.AspNetCore.dll": {
            "assemblyVersion": "4.0.0.0",
            "fileVersion": "4.3.8.8209"
          }
        }
      },
      "MiniProfiler.AspNetCore.Mvc/4.3.8": {
        "dependencies": {
          "MiniProfiler.AspNetCore": "4.3.8"
        },
        "runtime": {
          "lib/net6.0/MiniProfiler.AspNetCore.Mvc.dll": {
            "assemblyVersion": "4.0.0.0",
            "fileVersion": "4.3.8.8209"
          }
        }
      },
      "MiniProfiler.Shared/4.3.8": {
        "dependencies": {
          "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
          "Newtonsoft.Json": "13.0.2",
          "System.ComponentModel.Primitives": "4.3.0",
          "System.Data.Common": "4.3.0",
          "System.Diagnostics.DiagnosticSource": "4.7.0",
          "System.Diagnostics.StackTrace": "4.3.0",
          "System.Dynamic.Runtime": "4.3.0",
          "System.Reflection.Emit.Lightweight": "4.3.0",
          "System.Runtime.Extensions": "4.3.0",
          "System.Runtime.Serialization.Primitives": "4.3.0",
          "System.Threading.Tasks.Parallel": "4.3.0"
        },
        "runtime": {
          "lib/netstandard2.0/MiniProfiler.Shared.dll": {
            "assemblyVersion": "4.0.0.0",
            "fileVersion": "4.3.8.8209"
          }
        }
      },
      "MySqlConnector/2.2.5": {
        "runtime": {
          "lib/net6.0/MySqlConnector.dll": {
            "assemblyVersion": "2.0.0.0",
            "fileVersion": "2.2.5.0"
          }
        }
      },
      "Newtonsoft.Json/13.0.2": {
        "runtime": {
          "lib/net6.0/Newtonsoft.Json.dll": {
            "assemblyVersion": "13.0.0.0",
            "fileVersion": "13.0.2.27524"
          }
        }
      },
      "Newtonsoft.Json.Bson/1.0.2": {
        "dependencies": {
          "Newtonsoft.Json": "13.0.2"
        },
        "runtime": {
          "lib/netstandard2.0/Newtonsoft.Json.Bson.dll": {
            "assemblyVersion": "1.0.0.0",
            "fileVersion": "1.0.2.22727"
          }
        }
      },
      "Npgsql/5.0.7": {
        "dependencies": {
          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
        },
        "runtime": {
          "lib/net5.0/Npgsql.dll": {
            "assemblyVersion": "5.0.7.0",
            "fileVersion": "5.0.7.0"
          }
        }
      },
      "Oracle.ManagedDataAccess.Core/3.21.100": {
        "dependencies": {
          "System.Diagnostics.PerformanceCounter": "6.0.1",
          "System.DirectoryServices": "6.0.1",
          "System.DirectoryServices.Protocols": "6.0.1"
        },
        "runtime": {
          "lib/netstandard2.1/Oracle.ManagedDataAccess.dll": {
            "assemblyVersion": "3.1.21.1",
            "fileVersion": "3.1.21.1"
          }
        }
      },
      "SQLitePCLRaw.bundle_e_sqlite3/2.1.4": {
        "dependencies": {
          "SQLitePCLRaw.lib.e_sqlite3": "2.1.4",
          "SQLitePCLRaw.provider.e_sqlite3": "2.1.4"
        },
        "runtime": {
          "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {
            "assemblyVersion": "2.1.4.1835",
            "fileVersion": "2.1.4.1835"
          }
        }
      },
      "SQLitePCLRaw.core/2.1.4": {
        "dependencies": {
          "System.Memory": "4.5.4"
        },
        "runtime": {
          "lib/netstandard2.0/SQLitePCLRaw.core.dll": {
            "assemblyVersion": "2.1.4.1835",
            "fileVersion": "2.1.4.1835"
          }
        }
      },
      "SQLitePCLRaw.lib.e_sqlite3/2.1.4": {
        "runtimeTargets": {
          "runtimes/alpine-arm/native/libe_sqlite3.so": {
            "rid": "alpine-arm",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/alpine-arm64/native/libe_sqlite3.so": {
            "rid": "alpine-arm64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/alpine-x64/native/libe_sqlite3.so": {
            "rid": "alpine-x64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/browser-wasm/nativeassets/net6.0/e_sqlite3.a": {
            "rid": "browser-wasm",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-arm/native/libe_sqlite3.so": {
            "rid": "linux-arm",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-arm64/native/libe_sqlite3.so": {
            "rid": "linux-arm64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-armel/native/libe_sqlite3.so": {
            "rid": "linux-armel",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-mips64/native/libe_sqlite3.so": {
            "rid": "linux-mips64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-musl-arm/native/libe_sqlite3.so": {
            "rid": "linux-musl-arm",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-musl-arm64/native/libe_sqlite3.so": {
            "rid": "linux-musl-arm64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-musl-x64/native/libe_sqlite3.so": {
            "rid": "linux-musl-x64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-ppc64le/native/libe_sqlite3.so": {
            "rid": "linux-ppc64le",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-s390x/native/libe_sqlite3.so": {
            "rid": "linux-s390x",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-x64/native/libe_sqlite3.so": {
            "rid": "linux-x64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/linux-x86/native/libe_sqlite3.so": {
            "rid": "linux-x86",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/maccatalyst-arm64/native/libe_sqlite3.dylib": {
            "rid": "maccatalyst-arm64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/maccatalyst-x64/native/libe_sqlite3.dylib": {
            "rid": "maccatalyst-x64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/osx-arm64/native/libe_sqlite3.dylib": {
            "rid": "osx-arm64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/osx-x64/native/libe_sqlite3.dylib": {
            "rid": "osx-x64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/win-arm/native/e_sqlite3.dll": {
            "rid": "win-arm",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/win-arm64/native/e_sqlite3.dll": {
            "rid": "win-arm64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/win-x64/native/e_sqlite3.dll": {
            "rid": "win-x64",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          },
          "runtimes/win-x86/native/e_sqlite3.dll": {
            "rid": "win-x86",
            "assetType": "native",
            "fileVersion": "0.0.0.0"
          }
        }
      },
      "SQLitePCLRaw.provider.e_sqlite3/2.1.4": {
        "dependencies": {
          "SQLitePCLRaw.core": "2.1.4"
        },
        "runtime": {
          "lib/net6.0/SQLitePCLRaw.provider.e_sqlite3.dll": {
            "assemblyVersion": "2.1.4.1835",
            "fileVersion": "2.1.4.1835"
          }
        }
      },
      "SqlSugarCore/5.1.4.93": {
        "dependencies": {
          "Microsoft.Data.SqlClient": "2.1.4",
          "Microsoft.Data.Sqlite": "7.0.5",
          "MySqlConnector": "2.2.5",
          "Newtonsoft.Json": "13.0.2",
          "Npgsql": "5.0.7",
          "Oracle.ManagedDataAccess.Core": "3.21.100",
          "SqlSugarCore.Dm": "1.2.0",
          "SqlSugarCore.Kdbndp": "7.4.0",
          "System.Data.Common": "4.3.0",
          "System.Reflection.Emit.Lightweight": "4.3.0"
        },
        "runtime": {
          "lib/netstandard2.1/SqlSugar.dll": {
            "assemblyVersion": "5.1.4.93",
            "fileVersion": "5.1.4.93"
          }
        }
      },
      "SqlSugarCore.Dm/1.2.0": {
        "dependencies": {
          "System.Text.Encoding.CodePages": "7.0.0"
        },
        "runtime": {
          "lib/netstandard2.0/DmProvider.dll": {
            "assemblyVersion": "1.1.0.0",
            "fileVersion": "1.1.0.16649"
          }
        }
      },
      "SqlSugarCore.Kdbndp/7.4.0": {
        "runtime": {
          "lib/netstandard2.1/Kdbndp.dll": {
            "assemblyVersion": "8.3.712.0",
            "fileVersion": "8.3.712.0"
          }
        }
      },
      "Swashbuckle.AspNetCore/6.5.0": {
        "dependencies": {
          "Microsoft.Extensions.ApiDescription.Server": "6.0.5",
          "Swashbuckle.AspNetCore.Swagger": "6.5.0",
          "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0",
          "Swashbuckle.AspNetCore.SwaggerUI": "6.5.0"
        }
      },
      "Swashbuckle.AspNetCore.Swagger/6.5.0": {
        "dependencies": {
          "Microsoft.OpenApi": "1.2.3"
        },
        "runtime": {
          "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
            "assemblyVersion": "6.5.0.0",
            "fileVersion": "6.5.0.0"
          }
        }
      },
      "Swashbuckle.AspNetCore.SwaggerGen/6.5.0": {
        "dependencies": {
          "Swashbuckle.AspNetCore.Swagger": "6.5.0"
        },
        "runtime": {
          "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
            "assemblyVersion": "6.5.0.0",
            "fileVersion": "6.5.0.0"
          }
        }
      },
      "Swashbuckle.AspNetCore.SwaggerUI/6.5.0": {
        "runtime": {
          "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
            "assemblyVersion": "6.5.0.0",
            "fileVersion": "6.5.0.0"
          }
        }
      },
      "System.Buffers/4.5.1": {},
      "System.Collections/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Collections.Concurrent/4.3.0": {
        "dependencies": {
          "System.Collections": "4.3.0",
          "System.Diagnostics.Debug": "4.3.0",
          "System.Diagnostics.Tracing": "4.3.0",
          "System.Globalization": "4.3.0",
          "System.Reflection": "4.3.0",
          "System.Resources.ResourceManager": "4.3.0",
          "System.Runtime": "4.3.0",
          "System.Runtime.Extensions": "4.3.0",
          "System.Threading": "4.3.0",
          "System.Threading.Tasks": "4.3.0"
        }
      },
      "System.Collections.Immutable/7.0.0": {
        "dependencies": {
          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Collections.Immutable.dll": {
            "assemblyVersion": "7.0.0.0",
            "fileVersion": "7.0.22.51805"
          }
        }
      },
      "System.ComponentModel/4.3.0": {
        "dependencies": {
          "System.Runtime": "4.3.0"
        }
      },
      "System.ComponentModel.Annotations/4.5.0": {},
      "System.ComponentModel.Primitives/4.3.0": {
        "dependencies": {
          "System.ComponentModel": "4.3.0",
          "System.Resources.ResourceManager": "4.3.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Configuration.ConfigurationManager/6.0.0": {
        "dependencies": {
          "System.Security.Cryptography.ProtectedData": "6.0.0",
          "System.Security.Permissions": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Configuration.ConfigurationManager.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "System.Data.Common/4.3.0": {
        "dependencies": {
          "System.Collections": "4.3.0",
          "System.Globalization": "4.3.0",
          "System.IO": "4.3.0",
          "System.Resources.ResourceManager": "4.3.0",
          "System.Runtime": "4.3.0",
          "System.Runtime.Extensions": "4.3.0",
          "System.Text.RegularExpressions": "4.3.0",
          "System.Threading.Tasks": "4.3.0"
        }
      },
      "System.Diagnostics.Debug/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Diagnostics.DiagnosticSource/4.7.0": {},
      "System.Diagnostics.PerformanceCounter/6.0.1": {
        "dependencies": {
          "System.Configuration.ConfigurationManager": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Diagnostics.PerformanceCounter.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.422.16404"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/net6.0/System.Diagnostics.PerformanceCounter.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.422.16404"
          }
        }
      },
      "System.Diagnostics.StackTrace/4.3.0": {
        "dependencies": {
          "System.IO.FileSystem": "4.3.0",
          "System.Reflection": "4.3.0",
          "System.Reflection.Metadata": "7.0.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Diagnostics.Tracing/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.DirectoryServices/6.0.1": {
        "dependencies": {
          "System.Security.AccessControl": "6.0.0",
          "System.Security.Permissions": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.DirectoryServices.dll": {
            "assemblyVersion": "4.0.0.0",
            "fileVersion": "6.0.1423.7309"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/net6.0/System.DirectoryServices.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "4.0.0.0",
            "fileVersion": "6.0.1423.7309"
          }
        }
      },
      "System.DirectoryServices.Protocols/6.0.1": {
        "runtime": {
          "lib/net6.0/System.DirectoryServices.Protocols.dll": {
            "assemblyVersion": "6.0.0.1",
            "fileVersion": "6.0.222.6406"
          }
        },
        "runtimeTargets": {
          "runtimes/linux/lib/net6.0/System.DirectoryServices.Protocols.dll": {
            "rid": "linux",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.1",
            "fileVersion": "6.0.222.6406"
          },
          "runtimes/osx/lib/net6.0/System.DirectoryServices.Protocols.dll": {
            "rid": "osx",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.1",
            "fileVersion": "6.0.222.6406"
          },
          "runtimes/win/lib/net6.0/System.DirectoryServices.Protocols.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.1",
            "fileVersion": "6.0.222.6406"
          }
        }
      },
      "System.Drawing.Common/6.0.0": {
        "dependencies": {
          "Microsoft.Win32.SystemEvents": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Drawing.Common.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        },
        "runtimeTargets": {
          "runtimes/unix/lib/net6.0/System.Drawing.Common.dll": {
            "rid": "unix",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          },
          "runtimes/win/lib/net6.0/System.Drawing.Common.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "System.Dynamic.Runtime/4.3.0": {
        "dependencies": {
          "System.Collections": "4.3.0",
          "System.Diagnostics.Debug": "4.3.0",
          "System.Linq": "4.3.0",
          "System.Linq.Expressions": "4.3.0",
          "System.ObjectModel": "4.3.0",
          "System.Reflection": "4.3.0",
          "System.Reflection.Emit": "4.3.0",
          "System.Reflection.Emit.ILGeneration": "4.3.0",
          "System.Reflection.Primitives": "4.3.0",
          "System.Reflection.TypeExtensions": "4.3.0",
          "System.Resources.ResourceManager": "4.3.0",
          "System.Runtime": "4.3.0",
          "System.Runtime.Extensions": "4.3.0",
          "System.Threading": "4.3.0"
        }
      },
      "System.Globalization/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.IdentityModel.Tokens.Jwt/6.10.0": {
        "dependencies": {
          "Microsoft.IdentityModel.JsonWebTokens": "6.10.0",
          "Microsoft.IdentityModel.Tokens": "6.10.0"
        },
        "runtime": {
          "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": {
            "assemblyVersion": "6.10.0.0",
            "fileVersion": "6.10.0.20330"
          }
        }
      },
      "System.IO/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0",
          "System.Text.Encoding": "4.3.0",
          "System.Threading.Tasks": "4.3.0"
        }
      },
      "System.IO.FileSystem/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.IO": "4.3.0",
          "System.IO.FileSystem.Primitives": "4.3.0",
          "System.Runtime": "4.3.0",
          "System.Runtime.Handles": "4.3.0",
          "System.Text.Encoding": "4.3.0",
          "System.Threading.Tasks": "4.3.0"
        }
      },
      "System.IO.FileSystem.Primitives/4.3.0": {
        "dependencies": {
          "System.Runtime": "4.3.0"
        }
      },
      "System.Linq/4.3.0": {
        "dependencies": {
          "System.Collections": "4.3.0",
          "System.Diagnostics.Debug": "4.3.0",
          "System.Resources.ResourceManager": "4.3.0",
          "System.Runtime": "4.3.0",
          "System.Runtime.Extensions": "4.3.0"
        }
      },
      "System.Linq.Expressions/4.3.0": {
        "dependencies": {
          "System.Collections": "4.3.0",
          "System.Diagnostics.Debug": "4.3.0",
          "System.Globalization": "4.3.0",
          "System.IO": "4.3.0",
          "System.Linq": "4.3.0",
          "System.ObjectModel": "4.3.0",
          "System.Reflection": "4.3.0",
          "System.Reflection.Emit": "4.3.0",
          "System.Reflection.Emit.ILGeneration": "4.3.0",
          "System.Reflection.Emit.Lightweight": "4.3.0",
          "System.Reflection.Extensions": "4.3.0",
          "System.Reflection.Primitives": "4.3.0",
          "System.Reflection.TypeExtensions": "4.3.0",
          "System.Resources.ResourceManager": "4.3.0",
          "System.Runtime": "4.3.0",
          "System.Runtime.Extensions": "4.3.0",
          "System.Threading": "4.3.0"
        }
      },
      "System.Memory/4.5.4": {},
      "System.ObjectModel/4.3.0": {
        "dependencies": {
          "System.Collections": "4.3.0",
          "System.Diagnostics.Debug": "4.3.0",
          "System.Resources.ResourceManager": "4.3.0",
          "System.Runtime": "4.3.0",
          "System.Threading": "4.3.0"
        }
      },
      "System.Reflection/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.IO": "4.3.0",
          "System.Reflection.Primitives": "4.3.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Reflection.Emit/4.3.0": {
        "dependencies": {
          "System.IO": "4.3.0",
          "System.Reflection": "4.3.0",
          "System.Reflection.Emit.ILGeneration": "4.3.0",
          "System.Reflection.Primitives": "4.3.0",
          "System.Runtime": "4.3.0"
        }
      },
      "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.Reflection.Emit.Lightweight/4.3.0": {
        "dependencies": {
          "System.Reflection": "4.3.0",
          "System.Reflection.Emit.ILGeneration": "4.3.0",
          "System.Reflection.Primitives": "4.3.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Reflection.Extensions/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Reflection": "4.3.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Reflection.Metadata/7.0.0": {
        "dependencies": {
          "System.Collections.Immutable": "7.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Reflection.Metadata.dll": {
            "assemblyVersion": "7.0.0.0",
            "fileVersion": "7.0.22.51805"
          }
        }
      },
      "System.Reflection.Primitives/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Reflection.TypeExtensions/4.3.0": {
        "dependencies": {
          "System.Reflection": "4.3.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Resources.ResourceManager/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Globalization": "4.3.0",
          "System.Reflection": "4.3.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Runtime/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0"
        }
      },
      "System.Runtime.Caching/4.7.0": {
        "dependencies": {
          "System.Configuration.ConfigurationManager": "6.0.0"
        },
        "runtime": {
          "lib/netstandard2.0/System.Runtime.Caching.dll": {
            "assemblyVersion": "4.0.1.0",
            "fileVersion": "4.700.19.56404"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/netstandard2.0/System.Runtime.Caching.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "4.0.1.0",
            "fileVersion": "4.700.19.56404"
          }
        }
      },
      "System.Runtime.CompilerServices.Unsafe/6.0.0": {},
      "System.Runtime.Extensions/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Runtime.Handles/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Runtime.Serialization.Primitives/4.3.0": {
        "dependencies": {
          "System.Resources.ResourceManager": "4.3.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Security.AccessControl/6.0.0": {},
      "System.Security.Cryptography.Cng/4.5.0": {},
      "System.Security.Cryptography.ProtectedData/6.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"
          }
        }
      },
      "System.Security.Permissions/6.0.0": {
        "dependencies": {
          "System.Security.AccessControl": "6.0.0",
          "System.Windows.Extensions": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Security.Permissions.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "System.Security.Principal.Windows/4.7.0": {},
      "System.Text.Encoding/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Text.Encoding.CodePages/7.0.0": {
        "dependencies": {
          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Text.Encoding.CodePages.dll": {
            "assemblyVersion": "7.0.0.0",
            "fileVersion": "7.0.22.51805"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/net6.0/System.Text.Encoding.CodePages.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "7.0.0.0",
            "fileVersion": "7.0.22.51805"
          }
        }
      },
      "System.Text.Encodings.Web/6.0.0": {
        "dependencies": {
          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
        }
      },
      "System.Text.Json/6.0.8": {
        "dependencies": {
          "System.Runtime.CompilerServices.Unsafe": "6.0.0",
          "System.Text.Encodings.Web": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Text.Json.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.1823.26907"
          }
        }
      },
      "System.Text.RegularExpressions/4.3.0": {
        "dependencies": {
          "System.Runtime": "4.3.0"
        }
      },
      "System.Threading/4.3.0": {
        "dependencies": {
          "System.Runtime": "4.3.0",
          "System.Threading.Tasks": "4.3.0"
        }
      },
      "System.Threading.Tasks/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "1.1.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Threading.Tasks.Extensions/4.5.1": {},
      "System.Threading.Tasks.Parallel/4.3.0": {
        "dependencies": {
          "System.Collections.Concurrent": "4.3.0",
          "System.Diagnostics.Debug": "4.3.0",
          "System.Diagnostics.Tracing": "4.3.0",
          "System.Resources.ResourceManager": "4.3.0",
          "System.Runtime": "4.3.0",
          "System.Runtime.Extensions": "4.3.0",
          "System.Threading": "4.3.0",
          "System.Threading.Tasks": "4.3.0"
        }
      },
      "System.ValueTuple/4.5.0": {},
      "System.Windows.Extensions/6.0.0": {
        "dependencies": {
          "System.Drawing.Common": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Windows.Extensions.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/net6.0/System.Windows.Extensions.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "DocumentServiceAPI.Core/1.0.0": {
        "dependencies": {
          "DocumentServiceAPI.Enum": "1.0.0",
          "DocumentServiceAPI.Utility": "1.0.0",
          "Furion.Extras.Authentication.JwtBearer": "4.8.8.38",
          "Furion.Extras.ObjectMapper.Mapster": "4.8.8.38",
          "Furion.Pure": "4.8.8.38",
          "SqlSugarCore": "5.1.4.93"
        },
        "runtime": {
          "DocumentServiceAPI.Core.dll": {}
        }
      },
      "DocumentServiceAPI.Enum/1.0.0": {
        "dependencies": {
          "SqlSugarCore": "5.1.4.93"
        },
        "runtime": {
          "DocumentServiceAPI.Enum.dll": {}
        }
      },
      "DocumentServiceAPI.Utility/1.0.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Mvc.Core": "2.2.5"
        },
        "runtime": {
          "DocumentServiceAPI.Utility.dll": {}
        }
      }
    }
  },
  "libraries": {
    "DocumentServiceAPI.Services/1.0.0": {
      "type": "project",
      "serviceable": false,
      "sha512": ""
    },
    "Ben.Demystifier/0.4.1": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-axFeEMfmEORy3ipAzOXG/lE+KcNptRbei3F0C4kQCdeiQtW+qJW90K5iIovITGrdLt8AjhNCwk5qLSX9/rFpoA==",
      "path": "ben.demystifier/0.4.1",
      "hashPath": "ben.demystifier.0.4.1.nupkg.sha512"
    },
    "CSRedisCore/3.8.670": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-NH3H7IS5R/O4eHDijMpF1GlzcQY+vxVMZ6XonucW4yf7fT87p0L53+G3qUxRe5e0euD5TGzPefMyakv6wQMpAQ==",
      "path": "csrediscore/3.8.670",
      "hashPath": "csrediscore.3.8.670.nupkg.sha512"
    },
    "Furion.Extras.Authentication.JwtBearer/4.8.8.38": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Mt817Jj97GQzgi6DitW49rnPJEdkpFj+npGkkuZdPd6ib4kAx4MZ8cBeeW+uMrOzZZkWqugyquoHhEv61tM99g==",
      "path": "furion.extras.authentication.jwtbearer/4.8.8.38",
      "hashPath": "furion.extras.authentication.jwtbearer.4.8.8.38.nupkg.sha512"
    },
    "Furion.Extras.ObjectMapper.Mapster/4.8.8.38": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-fl681mMzPXOoCyq6M3wUVxfcp+7wC48MvSG4YMPRCm89HZPKv8B845JCwLmyYLKTCczSCN7EFWNo8dn9DBnSMQ==",
      "path": "furion.extras.objectmapper.mapster/4.8.8.38",
      "hashPath": "furion.extras.objectmapper.mapster.4.8.8.38.nupkg.sha512"
    },
    "Furion.Pure/4.8.8.38": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-tpTKmWv12GHeeZFGYT9zg2HwUc1dr8iBzuonBbEd8dVE6M3h/uS9xRUhW9bT53V1j7VWNGsurTXWi90gkn6UzA==",
      "path": "furion.pure/4.8.8.38",
      "hashPath": "furion.pure.4.8.8.38.nupkg.sha512"
    },
    "Furion.Pure.Extras.DependencyModel.CodeAnalysis/4.8.8.38": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-iqIsElPkA9d7jjDmwde1KDZ7ZFRk5UQtqgWqqCfEQ376FIodkoB91qZWyxQbgjfiDhM3dyMAPJDbrL0jR/VoHg==",
      "path": "furion.pure.extras.dependencymodel.codeanalysis/4.8.8.38",
      "hashPath": "furion.pure.extras.dependencymodel.codeanalysis.4.8.8.38.nupkg.sha512"
    },
    "Mapster/7.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-NrCUX/rJa5PTyo6iW4AL5dZLU9PDNlYnrJOVjgdpo5OQM9EtWH2CMHnC5sSuJWC0d0b0SnmeRrIviEem6WxtuQ==",
      "path": "mapster/7.3.0",
      "hashPath": "mapster.7.3.0.nupkg.sha512"
    },
    "Mapster.Core/1.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-TNdqZk2zAuBYfJF88D/3clQTOyOdqr1crU81yZQtlGa+e7FYWhJdK/buBWT+TpM3qQko9UzmzfOT4iq3JCs/ZA==",
      "path": "mapster.core/1.2.0",
      "hashPath": "mapster.core.1.2.0.nupkg.sha512"
    },
    "Mapster.DependencyInjection/1.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-nNSGrgu5GirZ8nmuFXHGct+GwXjmbAAb+UqBl3Bwx/vbkCOypuvOziC+wTaNEjz/OE6LMg8yMCZzOtl59Lxw9Q==",
      "path": "mapster.dependencyinjection/1.0.0",
      "hashPath": "mapster.dependencyinjection.1.0.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-VloMLDJMf3n/9ic5lCBOa42IBYJgyB1JhzLsL68Zqg+2bEPWfGBj/xCJy/LrKTArN0coOcZp3wyVTZlx0y9pHQ==",
      "path": "microsoft.aspnetcore.authentication.abstractions/2.2.0",
      "hashPath": "microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Authentication.Core/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-XlVJzJ5wPOYW+Y0J6Q/LVTEyfS4ssLXmt60T0SPP+D8abVhBTl+cgw2gDHlyKYIkcJg7btMVh383NDkMVqD/fg==",
      "path": "microsoft.aspnetcore.authentication.core/2.2.0",
      "hashPath": "microsoft.aspnetcore.authentication.core.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Authentication.JwtBearer/6.0.20": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-+h9mLcUvoCafhAInfALHd2H1oelu3F31GbY83dEkJzqCKdP34x6hSvB5uj9wF/JowLosD6+ZMcPlU+nogka+mg==",
      "path": "microsoft.aspnetcore.authentication.jwtbearer/6.0.20",
      "hashPath": "microsoft.aspnetcore.authentication.jwtbearer.6.0.20.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Authorization/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-/L0W8H3jMYWyaeA9gBJqS/tSWBegP9aaTM0mjRhxTttBY9z4RVDRYJ2CwPAmAXIuPr3r1sOw+CS8jFVRGHRezQ==",
      "path": "microsoft.aspnetcore.authorization/2.2.0",
      "hashPath": "microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Authorization.Policy/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-aJCo6niDRKuNg2uS2WMEmhJTooQUGARhV2ENQ2tO5443zVHUo19MSgrgGo9FIrfD+4yKPF8Q+FF33WkWfPbyKw==",
      "path": "microsoft.aspnetcore.authorization.policy/2.2.0",
      "hashPath": "microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-ubycklv+ZY7Kutdwuy1W4upWcZ6VFR8WUXU7l7B2+mvbDBBPAcfpi+E+Y5GFe+Q157YfA3C49D2GCjAZc7Mobw==",
      "path": "microsoft.aspnetcore.hosting.abstractions/2.2.0",
      "hashPath": "microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-1PMijw8RMtuQF60SsD/JlKtVfvh4NORAhF4wjysdABhlhTrYmtgssqyncR0Stq5vqtjplZcj6kbT4LRTglt9IQ==",
      "path": "microsoft.aspnetcore.hosting.server.abstractions/2.2.0",
      "hashPath": "microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Http/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-YogBSMotWPAS/X5967pZ+yyWPQkThxhmzAwyCHCSSldzYBkW5W5d6oPfBaPqQOnSHYTpSOSOkpZoAce0vwb6+A==",
      "path": "microsoft.aspnetcore.http/2.2.0",
      "hashPath": "microsoft.aspnetcore.http.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Http.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Nxs7Z1q3f1STfLYKJSVXCs1iBl+Ya6E8o4Oy1bCxJ/rNI44E/0f6tbsrVqAWfB7jlnJfyaAtIalBVxPKUPQb4Q==",
      "path": "microsoft.aspnetcore.http.abstractions/2.2.0",
      "hashPath": "microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Http.Extensions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-2DgZ9rWrJtuR7RYiew01nGRzuQBDaGHGmK56Rk54vsLLsCdzuFUPqbDTJCS1qJQWTbmbIQ9wGIOjpxA1t0l7/w==",
      "path": "microsoft.aspnetcore.http.extensions/2.2.0",
      "hashPath": "microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Http.Features/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-ziFz5zH8f33En4dX81LW84I6XrYXKf9jg6aM39cM+LffN9KJahViKZ61dGMSO2gd3e+qe5yBRwsesvyqlZaSMg==",
      "path": "microsoft.aspnetcore.http.features/2.2.0",
      "hashPath": "microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.JsonPatch/6.0.20": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-63KSV6vQGw4/yJgZoDj5T0clJrncLFKqyDUz5gFqg7vjvTW90ufkS72tOtPTMdPEDWy8jYDZYnbSxOEh4R7kUg==",
      "path": "microsoft.aspnetcore.jsonpatch/6.0.20",
      "hashPath": "microsoft.aspnetcore.jsonpatch.6.0.20.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-ET6uZpfVbGR1NjCuLaLy197cQ3qZUjzl7EG5SL4GfJH/c9KRE89MMBrQegqWsh0w1iRUB/zQaK0anAjxa/pz4g==",
      "path": "microsoft.aspnetcore.mvc.abstractions/2.2.0",
      "hashPath": "microsoft.aspnetcore.mvc.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Mvc.Core/2.2.5": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-/8sr8ixIUD57UFwUntha9bOwex7/AkZfdk1f9oNJG1Ek7p/uuKVa7fuHmYZpQOf35Oxrt+2Ku4WPwMSbNxOuWg==",
      "path": "microsoft.aspnetcore.mvc.core/2.2.5",
      "hashPath": "microsoft.aspnetcore.mvc.core.2.2.5.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Mvc.NewtonsoftJson/6.0.20": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-hHZnmBwjfqPuG5060yKQjVv4TR8Y9e4Y0mlnsWpl+EbR2wiyTysuP5Jt3Tcnu5EGs7/HRDiD/NGKPNIyE2zlvw==",
      "path": "microsoft.aspnetcore.mvc.newtonsoftjson/6.0.20",
      "hashPath": "microsoft.aspnetcore.mvc.newtonsoftjson.6.0.20.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Razor.Language/6.0.20": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-kk+bqzne4/RXX+JzZHdHu7fhEXaKtICJe+NVE6agTg4N4r9SbgErRrB99VTo5pWcEfS7tAhU6dVk7izTOmf8VA==",
      "path": "microsoft.aspnetcore.razor.language/6.0.20",
      "hashPath": "microsoft.aspnetcore.razor.language.6.0.20.nupkg.sha512"
    },
    "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-CIHWEKrHzZfFp7t57UXsueiSA/raku56TgRYauV/W1+KAQq6vevz60zjEKaazt3BI76zwMz3B4jGWnCwd8kwQw==",
      "path": "microsoft.aspnetcore.responsecaching.abstractions/2.2.0",
      "hashPath": "microsoft.aspnetcore.responsecaching.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Routing/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-jAhDBy0wryOnMhhZTtT9z63gJbvCzFuLm8yC6pHzuVu9ZD1dzg0ltxIwT4cfwuNkIL/TixdKsm3vpVOpG8euWQ==",
      "path": "microsoft.aspnetcore.routing/2.2.0",
      "hashPath": "microsoft.aspnetcore.routing.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-lRRaPN7jDlUCVCp9i0W+PB0trFaKB0bgMJD7hEJS9Uo4R9MXaMC8X2tJhPLmeVE3SGDdYI4QNKdVmhNvMJGgPQ==",
      "path": "microsoft.aspnetcore.routing.abstractions/2.2.0",
      "hashPath": "microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.AspNetCore.WebUtilities/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-9ErxAAKaDzxXASB/b5uLEkLgUWv1QbeVxyJYEHQwMaxXOeFFVkQxiq8RyfVcifLU7NR0QY0p3acqx4ZpYfhHDg==",
      "path": "microsoft.aspnetcore.webutilities/2.2.0",
      "hashPath": "microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512"
    },
    "Microsoft.CodeAnalysis.Analyzers/3.3.4": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==",
      "path": "microsoft.codeanalysis.analyzers/3.3.4",
      "hashPath": "microsoft.codeanalysis.analyzers.3.3.4.nupkg.sha512"
    },
    "Microsoft.CodeAnalysis.Common/4.6.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-N3uLvekc7DjvE1BX8YW7UH7ldjA4ps/Tun2YmOoSIItJrh1gnQIMKUbK1c3uQUx2NHbLibVZI4o/VB9xb4B7tA==",
      "path": "microsoft.codeanalysis.common/4.6.0",
      "hashPath": "microsoft.codeanalysis.common.4.6.0.nupkg.sha512"
    },
    "Microsoft.CodeAnalysis.CSharp/4.6.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-9pyFZUN2Lyu3C0Xfs49kezfH+CzQHMibGsQeQPu0P+GWyH2XXDwmyZ6jAaKQGNUXOJfC2OK01hWMJTJY315uDQ==",
      "path": "microsoft.codeanalysis.csharp/4.6.0",
      "hashPath": "microsoft.codeanalysis.csharp.4.6.0.nupkg.sha512"
    },
    "Microsoft.CSharp/4.7.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
      "path": "microsoft.csharp/4.7.0",
      "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512"
    },
    "Microsoft.Data.SqlClient/2.1.4": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-cDcKBTKILdRuAzJjbgXwGcUQXzMue+SG02kD4tZTXXfoz4ALrGLpCnA5k9khw3fnAMlMnRzLIGuvRdJurqmESA==",
      "path": "microsoft.data.sqlclient/2.1.4",
      "hashPath": "microsoft.data.sqlclient.2.1.4.nupkg.sha512"
    },
    "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": {
      "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"
    },
    "Microsoft.Data.Sqlite/7.0.5": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-KGxbPeWsQMnmQy43DSBxAFtHz3l2JX8EWBSGUCvT3CuZ8KsuzbkqMIJMDOxWtG8eZSoCDI04aiVQjWuuV8HmSw==",
      "path": "microsoft.data.sqlite/7.0.5",
      "hashPath": "microsoft.data.sqlite.7.0.5.nupkg.sha512"
    },
    "Microsoft.Data.Sqlite.Core/7.0.5": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-FTerRmQPqHrCrnoUzhBu+E+1DNGwyrAMLqHkAqOOOu5pGfyMOj8qQUBxI/gDtWtG11p49UxSfWmBzRNlwZqfUg==",
      "path": "microsoft.data.sqlite.core/7.0.5",
      "hashPath": "microsoft.data.sqlite.core.7.0.5.nupkg.sha512"
    },
    "Microsoft.Extensions.ApiDescription.Server/6.0.5": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==",
      "path": "microsoft.extensions.apidescription.server/6.0.5",
      "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512"
    },
    "Microsoft.Extensions.Configuration.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-65MrmXCziWaQFrI0UHkQbesrX5wTwf9XPjY5yFm/VkgJKFJ5gqvXRoXjIZcf2wLi5ZlwGz/oMYfyURVCWbM5iw==",
      "path": "microsoft.extensions.configuration.abstractions/2.2.0",
      "hashPath": "microsoft.extensions.configuration.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.Extensions.DependencyInjection/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-MZtBIwfDFork5vfjpJdG5g8wuJFt7d/y3LOSVVtDK/76wlbtz6cjltfKHqLx2TKVqTj5/c41t77m1+h20zqtPA==",
      "path": "microsoft.extensions.dependencyinjection/2.2.0",
      "hashPath": "microsoft.extensions.dependencyinjection.2.2.0.nupkg.sha512"
    },
    "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==",
      "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0",
      "hashPath": "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512"
    },
    "Microsoft.Extensions.DependencyModel/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==",
      "path": "microsoft.extensions.dependencymodel/6.0.0",
      "hashPath": "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512"
    },
    "Microsoft.Extensions.FileProviders.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-EcnaSsPTqx2MGnHrmWOD0ugbuuqVT8iICqSqPzi45V5/MA1LjUNb0kwgcxBGqizV1R+WeBK7/Gw25Jzkyk9bIw==",
      "path": "microsoft.extensions.fileproviders.abstractions/2.2.0",
      "hashPath": "microsoft.extensions.fileproviders.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.Extensions.Hosting.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-+k4AEn68HOJat5gj1TWa6X28WlirNQO9sPIIeQbia+91n03esEtMSSoekSTpMjUzjqtJWQN3McVx0GvSPFHF/Q==",
      "path": "microsoft.extensions.hosting.abstractions/2.2.0",
      "hashPath": "microsoft.extensions.hosting.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.Extensions.Logging.Abstractions/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-B2WqEox8o+4KUOpL7rZPyh6qYjik8tHi2tN8Z9jZkHzED8ElYgZa/h6K+xliB435SqUcWT290Fr2aa8BtZjn8A==",
      "path": "microsoft.extensions.logging.abstractions/2.2.0",
      "hashPath": "microsoft.extensions.logging.abstractions.2.2.0.nupkg.sha512"
    },
    "Microsoft.Extensions.ObjectPool/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==",
      "path": "microsoft.extensions.objectpool/2.2.0",
      "hashPath": "microsoft.extensions.objectpool.2.2.0.nupkg.sha512"
    },
    "Microsoft.Extensions.Options/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-UpZLNLBpIZ0GTebShui7xXYh6DmBHjWM8NxGxZbdQh/bPZ5e6YswqI+bru6BnEL5eWiOdodsXtEz3FROcgi/qg==",
      "path": "microsoft.extensions.options/2.2.0",
      "hashPath": "microsoft.extensions.options.2.2.0.nupkg.sha512"
    },
    "Microsoft.Extensions.Primitives/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-azyQtqbm4fSaDzZHD/J+V6oWMFaf2tWP4WEGIYePLCMw3+b2RQdj9ybgbQyjCshcitQKQ4lEDOZjmSlTTrHxUg==",
      "path": "microsoft.extensions.primitives/2.2.0",
      "hashPath": "microsoft.extensions.primitives.2.2.0.nupkg.sha512"
    },
    "Microsoft.Identity.Client/4.21.1": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-vycgk7S/HAbHaUaK4Tid1fsWHsXdFRRP2KavAIOHCVV27zvuQfYAjXmMvctuuF4egydSumG58CwPZob3gWeYgQ==",
      "path": "microsoft.identity.client/4.21.1",
      "hashPath": "microsoft.identity.client.4.21.1.nupkg.sha512"
    },
    "Microsoft.IdentityModel.JsonWebTokens/6.10.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-0qjS31rN1MQTc46tAYbzmMTSRfdV5ndZxSjYxIGqKSidd4wpNJfNII/pdhU5Fx8olarQoKL9lqqYw4yNOIwT0Q==",
      "path": "microsoft.identitymodel.jsonwebtokens/6.10.0",
      "hashPath": "microsoft.identitymodel.jsonwebtokens.6.10.0.nupkg.sha512"
    },
    "Microsoft.IdentityModel.Logging/6.10.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-zbcwV6esnNzhZZ/VP87dji6VrUBLB5rxnZBkDMqNYpyG+nrBnBsbm4PUYLCBMUflHCM9EMLDG0rLnqqT+l0ldA==",
      "path": "microsoft.identitymodel.logging/6.10.0",
      "hashPath": "microsoft.identitymodel.logging.6.10.0.nupkg.sha512"
    },
    "Microsoft.IdentityModel.Protocols/6.10.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-DFyXD0xylP+DknCT3hzJ7q/Q5qRNu0hO/gCU90O0ATdR0twZmlcuY9RNYaaDofXKVbzcShYNCFCGle2G/o8mkg==",
      "path": "microsoft.identitymodel.protocols/6.10.0",
      "hashPath": "microsoft.identitymodel.protocols.6.10.0.nupkg.sha512"
    },
    "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.10.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-LVvMXAWPbPeEWTylDrxunlHH2wFyE4Mv0L4gZrJHC4HTESbWHquKZb/y/S8jgiQEDycOP0PDQvbG4RR/tr2TVQ==",
      "path": "microsoft.identitymodel.protocols.openidconnect/6.10.0",
      "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.10.0.nupkg.sha512"
    },
    "Microsoft.IdentityModel.Tokens/6.10.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-qbf1NslutDB4oLrriYTJpy7oB1pbh2ej2lEHd2IPDQH9C74ysOdhU5wAC7KoXblldbo7YsNR2QYFOqQM/b0Rsg==",
      "path": "microsoft.identitymodel.tokens/6.10.0",
      "hashPath": "microsoft.identitymodel.tokens.6.10.0.nupkg.sha512"
    },
    "Microsoft.Net.Http.Headers/2.2.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-iZNkjYqlo8sIOI0bQfpsSoMTmB/kyvmV2h225ihyZT33aTp48ZpF6qYnXxzSXmHt8DpBAwBTX+1s1UFLbYfZKg==",
      "path": "microsoft.net.http.headers/2.2.0",
      "hashPath": "microsoft.net.http.headers.2.2.0.nupkg.sha512"
    },
    "Microsoft.NETCore.Platforms/1.1.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
      "path": "microsoft.netcore.platforms/1.1.0",
      "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
    },
    "Microsoft.NETCore.Targets/1.1.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==",
      "path": "microsoft.netcore.targets/1.1.0",
      "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512"
    },
    "Microsoft.OpenApi/1.2.3": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==",
      "path": "microsoft.openapi/1.2.3",
      "hashPath": "microsoft.openapi.1.2.3.nupkg.sha512"
    },
    "Microsoft.Win32.Registry/4.7.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"
    },
    "Microsoft.Win32.SystemEvents/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==",
      "path": "microsoft.win32.systemevents/6.0.0",
      "hashPath": "microsoft.win32.systemevents.6.0.0.nupkg.sha512"
    },
    "MiniProfiler.AspNetCore/4.3.8": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-dohMvXpjKDPv/edl7gwKhq80JBqRLLRSwVJB9bo0UYqsgEox7BZyYS/4vBty+UsZ59pYYYhMUpUKHVWLLj/PBw==",
      "path": "miniprofiler.aspnetcore/4.3.8",
      "hashPath": "miniprofiler.aspnetcore.4.3.8.nupkg.sha512"
    },
    "MiniProfiler.AspNetCore.Mvc/4.3.8": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-aJ6Kkw2zMy36cKDWTjQYo/pJ6bhPBRA8z4NO8REe+xDhv8+fk58P526Bi52gnvsDp4jIVk5AQ8nQDgPUS/K+7A==",
      "path": "miniprofiler.aspnetcore.mvc/4.3.8",
      "hashPath": "miniprofiler.aspnetcore.mvc.4.3.8.nupkg.sha512"
    },
    "MiniProfiler.Shared/4.3.8": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-SfXNX90fmDm373YAla0z06plTCj6YbByQJOm6G8/9kE6Hf4UALJxySyiMB9O4KYeTc6Ha1EFQDs6jLhio+bBFA==",
      "path": "miniprofiler.shared/4.3.8",
      "hashPath": "miniprofiler.shared.4.3.8.nupkg.sha512"
    },
    "MySqlConnector/2.2.5": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-6sinY78RvryhHwpup3awdjYO7d5hhWahb5p/1VDODJhSxJggV/sBbYuKK5IQF9TuzXABiddqUbmRfM884tqA3Q==",
      "path": "mysqlconnector/2.2.5",
      "hashPath": "mysqlconnector.2.2.5.nupkg.sha512"
    },
    "Newtonsoft.Json/13.0.2": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==",
      "path": "newtonsoft.json/13.0.2",
      "hashPath": "newtonsoft.json.13.0.2.nupkg.sha512"
    },
    "Newtonsoft.Json.Bson/1.0.2": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-QYFyxhaABwmq3p/21VrZNYvCg3DaEoN/wUuw5nmfAf0X3HLjgupwhkEWdgfb9nvGAUIv3osmZoD3kKl4jxEmYQ==",
      "path": "newtonsoft.json.bson/1.0.2",
      "hashPath": "newtonsoft.json.bson.1.0.2.nupkg.sha512"
    },
    "Npgsql/5.0.7": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-EQWwxb2lN9w78YG4f6Fxhw5lFEx4LuaNGasXzw86kTOJxiPsUORSh/BTencNZJO4uVqGZx3EO9Z8JXTAvRjgeg==",
      "path": "npgsql/5.0.7",
      "hashPath": "npgsql.5.0.7.nupkg.sha512"
    },
    "Oracle.ManagedDataAccess.Core/3.21.100": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-nsqyUE+v246WB0SOnR1u9lfZxYoNcdj1fRjTt7TOhCN0JurEc6+qu+mMe+dl1sySB2UpyWdfqHG1iSQJYaXEfA==",
      "path": "oracle.manageddataaccess.core/3.21.100",
      "hashPath": "oracle.manageddataaccess.core.3.21.100.nupkg.sha512"
    },
    "SQLitePCLRaw.bundle_e_sqlite3/2.1.4": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-EWI1olKDjFEBMJu0+3wuxwziIAdWDVMYLhuZ3Qs84rrz+DHwD00RzWPZCa+bLnHCf3oJwuFZIRsHT5p236QXww==",
      "path": "sqlitepclraw.bundle_e_sqlite3/2.1.4",
      "hashPath": "sqlitepclraw.bundle_e_sqlite3.2.1.4.nupkg.sha512"
    },
    "SQLitePCLRaw.core/2.1.4": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-inBjvSHo9UDKneGNzfUfDjK08JzlcIhn1+SP5Y3m6cgXpCxXKCJDy6Mka7LpgSV+UZmKSnC8rTwB0SQ0xKu5pA==",
      "path": "sqlitepclraw.core/2.1.4",
      "hashPath": "sqlitepclraw.core.2.1.4.nupkg.sha512"
    },
    "SQLitePCLRaw.lib.e_sqlite3/2.1.4": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-2C9Q9eX7CPLveJA0rIhf9RXAvu+7nWZu1A2MdG6SD/NOu26TakGgL1nsbc0JAspGijFOo3HoN79xrx8a368fBg==",
      "path": "sqlitepclraw.lib.e_sqlite3/2.1.4",
      "hashPath": "sqlitepclraw.lib.e_sqlite3.2.1.4.nupkg.sha512"
    },
    "SQLitePCLRaw.provider.e_sqlite3/2.1.4": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-CSlb5dUp1FMIkez9Iv5EXzpeq7rHryVNqwJMWnpq87j9zWZexaEMdisDktMsnnrzKM6ahNrsTkjqNodTBPBxtQ==",
      "path": "sqlitepclraw.provider.e_sqlite3/2.1.4",
      "hashPath": "sqlitepclraw.provider.e_sqlite3.2.1.4.nupkg.sha512"
    },
    "SqlSugarCore/5.1.4.93": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-CCuRTJn6vOK1z9MyBlH63Ad5zLfXEzkxiSzsjN/zOuGiT+VoS21Msnz6yWmnoFHNqqNQ62CtS36kG9DMF9G0+Q==",
      "path": "sqlsugarcore/5.1.4.93",
      "hashPath": "sqlsugarcore.5.1.4.93.nupkg.sha512"
    },
    "SqlSugarCore.Dm/1.2.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"
    },
    "SqlSugarCore.Kdbndp/7.4.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-cHqgzvPz65v6pkO61oZM2pcPKY0KXvZo2EEAbZFHmyl5X7suxzpTOz/b6DvXjmRlcHxTRKGav2wwmStqTiUacg==",
      "path": "sqlsugarcore.kdbndp/7.4.0",
      "hashPath": "sqlsugarcore.kdbndp.7.4.0.nupkg.sha512"
    },
    "Swashbuckle.AspNetCore/6.5.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-FK05XokgjgwlCI6wCT+D4/abtQkL1X1/B9Oas6uIwHFmYrIO9WUD5aLC9IzMs9GnHfUXOtXZ2S43gN1mhs5+aA==",
      "path": "swashbuckle.aspnetcore/6.5.0",
      "hashPath": "swashbuckle.aspnetcore.6.5.0.nupkg.sha512"
    },
    "Swashbuckle.AspNetCore.Swagger/6.5.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-XWmCmqyFmoItXKFsQSwQbEAsjDKcxlNf1l+/Ki42hcb6LjKL8m5Db69OTvz5vLonMSRntYO1XLqz0OP+n3vKnA==",
      "path": "swashbuckle.aspnetcore.swagger/6.5.0",
      "hashPath": "swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512"
    },
    "Swashbuckle.AspNetCore.SwaggerGen/6.5.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Y/qW8Qdg9OEs7V013tt+94OdPxbRdbhcEbw4NiwGvf4YBcfhL/y7qp/Mjv/cENsQ2L3NqJ2AOu94weBy/h4KvA==",
      "path": "swashbuckle.aspnetcore.swaggergen/6.5.0",
      "hashPath": "swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512"
    },
    "Swashbuckle.AspNetCore.SwaggerUI/6.5.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-OvbvxX+wL8skxTBttcBsVxdh73Fag4xwqEU2edh4JMn7Ws/xJHnY/JB1e9RoCb6XpDxUF3hD9A0Z1lEUx40Pfw==",
      "path": "swashbuckle.aspnetcore.swaggerui/6.5.0",
      "hashPath": "swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512"
    },
    "System.Buffers/4.5.1": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==",
      "path": "system.buffers/4.5.1",
      "hashPath": "system.buffers.4.5.1.nupkg.sha512"
    },
    "System.Collections/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==",
      "path": "system.collections/4.3.0",
      "hashPath": "system.collections.4.3.0.nupkg.sha512"
    },
    "System.Collections.Concurrent/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==",
      "path": "system.collections.concurrent/4.3.0",
      "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512"
    },
    "System.Collections.Immutable/7.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-dQPcs0U1IKnBdRDBkrCTi1FoajSTBzLcVTpjO4MBCMC7f4pDOIPzgBoX8JjG7X6uZRJ8EBxsi8+DR1JuwjnzOQ==",
      "path": "system.collections.immutable/7.0.0",
      "hashPath": "system.collections.immutable.7.0.0.nupkg.sha512"
    },
    "System.ComponentModel/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==",
      "path": "system.componentmodel/4.3.0",
      "hashPath": "system.componentmodel.4.3.0.nupkg.sha512"
    },
    "System.ComponentModel.Annotations/4.5.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-UxYQ3FGUOtzJ7LfSdnYSFd7+oEv6M8NgUatatIN2HxNtDdlcvFAf+VIq4Of9cDMJEJC0aSRv/x898RYhB4Yppg==",
      "path": "system.componentmodel.annotations/4.5.0",
      "hashPath": "system.componentmodel.annotations.4.5.0.nupkg.sha512"
    },
    "System.ComponentModel.Primitives/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==",
      "path": "system.componentmodel.primitives/4.3.0",
      "hashPath": "system.componentmodel.primitives.4.3.0.nupkg.sha512"
    },
    "System.Configuration.ConfigurationManager/6.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"
    },
    "System.Data.Common/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-lm6E3T5u7BOuEH0u18JpbJHxBfOJPuCyl4Kg1RH10ktYLp5uEEE1xKrHW56/We4SnZpGAuCc9N0MJpSDhTHZGQ==",
      "path": "system.data.common/4.3.0",
      "hashPath": "system.data.common.4.3.0.nupkg.sha512"
    },
    "System.Diagnostics.Debug/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==",
      "path": "system.diagnostics.debug/4.3.0",
      "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512"
    },
    "System.Diagnostics.DiagnosticSource/4.7.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-oJjw3uFuVDJiJNbCD8HB4a2p3NYLdt1fiT5OGsPLw+WTOuG0KpP4OXelMmmVKpClueMsit6xOlzy4wNKQFiBLg==",
      "path": "system.diagnostics.diagnosticsource/4.7.0",
      "hashPath": "system.diagnostics.diagnosticsource.4.7.0.nupkg.sha512"
    },
    "System.Diagnostics.PerformanceCounter/6.0.1": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-dDl7Gx3bmSrM2k2ZIm+ucEJnLloZRyvfQF1DvfvATcGF3jtaUBiPvChma+6ZcZzxWMirN3kCywkW7PILphXyMQ==",
      "path": "system.diagnostics.performancecounter/6.0.1",
      "hashPath": "system.diagnostics.performancecounter.6.0.1.nupkg.sha512"
    },
    "System.Diagnostics.StackTrace/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-BiHg0vgtd35/DM9jvtaC1eKRpWZxr0gcQd643ABG7GnvSlf5pOkY2uyd42mMOJoOmKvnpNj0F4tuoS1pacTwYw==",
      "path": "system.diagnostics.stacktrace/4.3.0",
      "hashPath": "system.diagnostics.stacktrace.4.3.0.nupkg.sha512"
    },
    "System.Diagnostics.Tracing/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==",
      "path": "system.diagnostics.tracing/4.3.0",
      "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512"
    },
    "System.DirectoryServices/6.0.1": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-935IbO7h5FDGYxeO3cbx/CuvBBuk/VI8sENlfmXlh1pupNOB3LAGzdYdPY8CawGJFP7KNrHK5eUlsFoz3F6cuA==",
      "path": "system.directoryservices/6.0.1",
      "hashPath": "system.directoryservices.6.0.1.nupkg.sha512"
    },
    "System.DirectoryServices.Protocols/6.0.1": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-ndUZlEkAMc1XzM0xGN++SsJrNhRkIHaKI8+te325vrUgoLT1ufWNI6KB8FFrL7NpRMHPrdxP99aF3fHbAPxW0A==",
      "path": "system.directoryservices.protocols/6.0.1",
      "hashPath": "system.directoryservices.protocols.6.0.1.nupkg.sha512"
    },
    "System.Drawing.Common/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==",
      "path": "system.drawing.common/6.0.0",
      "hashPath": "system.drawing.common.6.0.0.nupkg.sha512"
    },
    "System.Dynamic.Runtime/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==",
      "path": "system.dynamic.runtime/4.3.0",
      "hashPath": "system.dynamic.runtime.4.3.0.nupkg.sha512"
    },
    "System.Globalization/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==",
      "path": "system.globalization/4.3.0",
      "hashPath": "system.globalization.4.3.0.nupkg.sha512"
    },
    "System.IdentityModel.Tokens.Jwt/6.10.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-C+Q5ORsFycRkRuvy/Xd0Pv5xVpmWSAvQYZAGs7VQogmkqlLhvfZXTgBIlHqC3cxkstSoLJAYx6xZB7foQ2y5eg==",
      "path": "system.identitymodel.tokens.jwt/6.10.0",
      "hashPath": "system.identitymodel.tokens.jwt.6.10.0.nupkg.sha512"
    },
    "System.IO/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
      "path": "system.io/4.3.0",
      "hashPath": "system.io.4.3.0.nupkg.sha512"
    },
    "System.IO.FileSystem/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==",
      "path": "system.io.filesystem/4.3.0",
      "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512"
    },
    "System.IO.FileSystem.Primitives/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==",
      "path": "system.io.filesystem.primitives/4.3.0",
      "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512"
    },
    "System.Linq/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==",
      "path": "system.linq/4.3.0",
      "hashPath": "system.linq.4.3.0.nupkg.sha512"
    },
    "System.Linq.Expressions/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==",
      "path": "system.linq.expressions/4.3.0",
      "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512"
    },
    "System.Memory/4.5.4": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==",
      "path": "system.memory/4.5.4",
      "hashPath": "system.memory.4.5.4.nupkg.sha512"
    },
    "System.ObjectModel/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==",
      "path": "system.objectmodel/4.3.0",
      "hashPath": "system.objectmodel.4.3.0.nupkg.sha512"
    },
    "System.Reflection/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==",
      "path": "system.reflection/4.3.0",
      "hashPath": "system.reflection.4.3.0.nupkg.sha512"
    },
    "System.Reflection.Emit/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==",
      "path": "system.reflection.emit/4.3.0",
      "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512"
    },
    "System.Reflection.Emit.ILGeneration/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==",
      "path": "system.reflection.emit.ilgeneration/4.3.0",
      "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512"
    },
    "System.Reflection.Emit.Lightweight/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==",
      "path": "system.reflection.emit.lightweight/4.3.0",
      "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512"
    },
    "System.Reflection.Extensions/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==",
      "path": "system.reflection.extensions/4.3.0",
      "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512"
    },
    "System.Reflection.Metadata/7.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==",
      "path": "system.reflection.metadata/7.0.0",
      "hashPath": "system.reflection.metadata.7.0.0.nupkg.sha512"
    },
    "System.Reflection.Primitives/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==",
      "path": "system.reflection.primitives/4.3.0",
      "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512"
    },
    "System.Reflection.TypeExtensions/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==",
      "path": "system.reflection.typeextensions/4.3.0",
      "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512"
    },
    "System.Resources.ResourceManager/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==",
      "path": "system.resources.resourcemanager/4.3.0",
      "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512"
    },
    "System.Runtime/4.3.0": {
      "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"
    },
    "System.Runtime.Caching/4.7.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"
    },
    "System.Runtime.CompilerServices.Unsafe/6.0.0": {
      "type": "package",
      "serviceable": true,
      "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",
      "serviceable": true,
      "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==",
      "path": "system.runtime.extensions/4.3.0",
      "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512"
    },
    "System.Runtime.Handles/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==",
      "path": "system.runtime.handles/4.3.0",
      "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512"
    },
    "System.Runtime.Serialization.Primitives/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==",
      "path": "system.runtime.serialization.primitives/4.3.0",
      "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512"
    },
    "System.Security.AccessControl/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==",
      "path": "system.security.accesscontrol/6.0.0",
      "hashPath": "system.security.accesscontrol.6.0.0.nupkg.sha512"
    },
    "System.Security.Cryptography.Cng/4.5.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==",
      "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": {
      "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"
    },
    "System.Security.Permissions/6.0.0": {
      "type": "package",
      "serviceable": true,
      "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",
      "serviceable": true,
      "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
      "path": "system.text.encoding/4.3.0",
      "hashPath": "system.text.encoding.4.3.0.nupkg.sha512"
    },
    "System.Text.Encoding.CodePages/7.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==",
      "path": "system.text.encoding.codepages/7.0.0",
      "hashPath": "system.text.encoding.codepages.7.0.0.nupkg.sha512"
    },
    "System.Text.Encodings.Web/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==",
      "path": "system.text.encodings.web/6.0.0",
      "hashPath": "system.text.encodings.web.6.0.0.nupkg.sha512"
    },
    "System.Text.Json/6.0.8": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-WhW6zPEgRZoo+c1NEvSSmrME4+LqXmW6tcsRFsEiSMeco+qZ9rpLs7tT53EIkE/s9GNTYS4/STQoaGiKDSWifQ==",
      "path": "system.text.json/6.0.8",
      "hashPath": "system.text.json.6.0.8.nupkg.sha512"
    },
    "System.Text.RegularExpressions/4.3.0": {
      "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"
    },
    "System.Threading/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==",
      "path": "system.threading/4.3.0",
      "hashPath": "system.threading.4.3.0.nupkg.sha512"
    },
    "System.Threading.Tasks/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
      "path": "system.threading.tasks/4.3.0",
      "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512"
    },
    "System.Threading.Tasks.Extensions/4.5.1": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-WSKUTtLhPR8gllzIWO2x6l4lmAIfbyMAiTlyXAis4QBDonXK4b4S6F8zGARX4/P8wH3DH+sLdhamCiHn+fTU1A==",
      "path": "system.threading.tasks.extensions/4.5.1",
      "hashPath": "system.threading.tasks.extensions.4.5.1.nupkg.sha512"
    },
    "System.Threading.Tasks.Parallel/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-cbjBNZHf/vQCfcdhzx7knsiygoCKgxL8mZOeocXZn5gWhCdzHIq6bYNKWX0LAJCWYP7bds4yBK8p06YkP0oa0g==",
      "path": "system.threading.tasks.parallel/4.3.0",
      "hashPath": "system.threading.tasks.parallel.4.3.0.nupkg.sha512"
    },
    "System.ValueTuple/4.5.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==",
      "path": "system.valuetuple/4.5.0",
      "hashPath": "system.valuetuple.4.5.0.nupkg.sha512"
    },
    "System.Windows.Extensions/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==",
      "path": "system.windows.extensions/6.0.0",
      "hashPath": "system.windows.extensions.6.0.0.nupkg.sha512"
    },
    "DocumentServiceAPI.Core/1.0.0": {
      "type": "project",
      "serviceable": false,
      "sha512": ""
    },
    "DocumentServiceAPI.Enum/1.0.0": {
      "type": "project",
      "serviceable": false,
      "sha512": ""
    },
    "DocumentServiceAPI.Utility/1.0.0": {
      "type": "project",
      "serviceable": false,
      "sha512": ""
    }
  }
}
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Services.dll
Binary files differ
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Services.pdb
Binary files differ
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Utility.dll
Binary files differ
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Utility.pdb
Binary files differ
DocumentServiceAPI.Services/bin/Debug/net6.0/DocumentServiceAPI.Utility.xml
New file
@@ -0,0 +1,70 @@
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>DocumentServiceAPI.Utility</name>
    </assembly>
    <members>
        <member name="T:DocumentServiceAPI.Utility.PageBaseSearch">
            <summary>
            åˆ†é¡µæŸ¥è¯¢æ¡ä»¶åŸºç±»
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Utility.PageBaseSearch.PageIndex">
            <summary>
            é¡µç 
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Utility.PageBaseSearch.PageSize">
            <summary>
            åˆ†é¡µå¤§å°
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Utility.PageBaseSearch.StartTime">
            <summary>
            å¼€å§‹æ—¥æœŸ
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Utility.PageBaseSearch.EndTime">
            <summary>
            ç»“束日期
            </summary>
        </member>
        <member name="T:DocumentServiceAPI.Utility.PageResult`1">
            <summary>
            åˆ†é¡µæ•°æ®ä¿¡æ¯
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:DocumentServiceAPI.Utility.PageResult`1.PageIndex">
            <summary>
            é¡µç 
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Utility.PageResult`1.PageSize">
            <summary>
            åˆ†é¡µå¤§å°
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Utility.PageResult`1.TotalPage">
            <summary>
            é¡µæ€»æ•°
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Utility.PageResult`1.TotalCount">
            <summary>
            è®°å½•总数
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Utility.PageResult`1.Items">
            <summary>
            è®°å½•集合
            </summary>
        </member>
        <member name="F:DocumentServiceAPI.Utility.UtilityFun._allAssemblies">
            <summary>
            èŽ·å–æ‰€æœ‰ç¨‹åºç›®å½•ä¸‹å’Œå¸¸ç”¨çš„ç¨‹åºé›† åŒ…括一些系统引用程序集
            </summary>
            <returns> å½“前工程下的程序集</returns>
        </member>
    </members>
</doc>
DocumentServiceAPI.Services/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs
New file
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.AssemblyInfo.cs
New file
@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
//     æ­¤ä»£ç ç”±å·¥å…·ç”Ÿæˆã€‚
//     è¿è¡Œæ—¶ç‰ˆæœ¬:4.0.30319.42000
//
//     å¯¹æ­¤æ–‡ä»¶çš„æ›´æ”¹å¯èƒ½ä¼šå¯¼è‡´ä¸æ­£ç¡®çš„行为,并且如果
//     é‡æ–°ç”Ÿæˆä»£ç ï¼Œè¿™äº›æ›´æ”¹å°†ä¼šä¸¢å¤±ã€‚
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("DocumentServiceAPI.Services")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("DocumentServiceAPI.Services")]
[assembly: System.Reflection.AssemblyTitleAttribute("DocumentServiceAPI.Services")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// ç”± MSBuild WriteCodeFragment ç±»ç”Ÿæˆã€‚
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.AssemblyInfoInputs.cache
New file
@@ -0,0 +1 @@
2d848bfdc112a81b56aaa283a3a8f8ff1ba7b208
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.GeneratedMSBuildEditorConfig.editorconfig
New file
@@ -0,0 +1,19 @@
is_global = true
build_property.TargetFramework = net6.0
build_property.TargetFramework = net6.0
build_property.TargetPlatformMinVersion =
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = DocumentServiceAPI.Services
build_property.ProjectDir = E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.GlobalUsings.g.cs
New file
@@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.assets.cache
Binary files differ
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.csproj.AssemblyReference.cache
Binary files differ
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.csproj.BuildWithSkipAnalyzers
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.csproj.CopyComplete
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.csproj.CoreCompileInputs.cache
New file
@@ -0,0 +1 @@
8abba4bf102eccc0d1baa28c378bb5fe2ccaff82
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.csproj.FileListAbsolute.txt
New file
@@ -0,0 +1,22 @@
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Services.deps.json
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Services.dll
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Services.pdb
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Core.dll
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Enum.dll
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Utility.dll
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Core.pdb
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Core.xml
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Enum.pdb
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Enum.xml
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Utility.pdb
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\bin\Debug\net6.0\DocumentServiceAPI.Utility.xml
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\obj\Debug\net6.0\DocumentServiceAPI.Services.csproj.AssemblyReference.cache
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\obj\Debug\net6.0\DocumentServiceAPI.Services.GeneratedMSBuildEditorConfig.editorconfig
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\obj\Debug\net6.0\DocumentServiceAPI.Services.AssemblyInfoInputs.cache
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\obj\Debug\net6.0\DocumentServiceAPI.Services.AssemblyInfo.cs
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\obj\Debug\net6.0\DocumentServiceAPI.Services.csproj.CoreCompileInputs.cache
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\obj\Debug\net6.0\DocumentServiceAPI.Services.csproj.CopyComplete
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\obj\Debug\net6.0\DocumentServiceAPI.Services.dll
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\obj\Debug\net6.0\refint\DocumentServiceAPI.Services.dll
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\obj\Debug\net6.0\DocumentServiceAPI.Services.pdb
E:\workdir\标书软件\ApiService\DocumentServiceAPI\DocumentServiceAPI.Services\obj\Debug\net6.0\ref\DocumentServiceAPI.Services.dll
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.dll
Binary files differ
DocumentServiceAPI.Services/obj/Debug/net6.0/DocumentServiceAPI.Services.pdb
Binary files differ
DocumentServiceAPI.Services/obj/Debug/net6.0/ref/DocumentServiceAPI.Services.dll
Binary files differ
DocumentServiceAPI.Services/obj/Debug/net6.0/refint/DocumentServiceAPI.Services.dll
Binary files differ
DocumentServiceAPI.Services/obj/DocumentServiceAPI.Services.csproj.nuget.dgspec.json
New file
@@ -0,0 +1,275 @@
{
  "format": 1,
  "restore": {
    "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Services\\DocumentServiceAPI.Services.csproj": {}
  },
  "projects": {
    "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Core\\DocumentServiceAPI.Core.csproj": {
      "version": "1.0.0",
      "restore": {
        "projectUniqueName": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Core\\DocumentServiceAPI.Core.csproj",
        "projectName": "DocumentServiceAPI.Core",
        "projectPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Core\\DocumentServiceAPI.Core.csproj",
        "packagesPath": "E:\\NUGET\\",
        "outputPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Core\\obj\\",
        "projectStyle": "PackageReference",
        "configFilePaths": [
          "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config",
          "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
        ],
        "originalTargetFrameworks": [
          "net6.0"
        ],
        "sources": {
          "D:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
          "https://api.nuget.org/v3/index.json": {}
        },
        "frameworks": {
          "net6.0": {
            "targetAlias": "net6.0",
            "projectReferences": {
              "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Enum\\DocumentServiceAPI.Enum.csproj": {
                "projectPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Enum\\DocumentServiceAPI.Enum.csproj"
              },
              "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Utility\\DocumentServiceAPI.Utility.csproj": {
                "projectPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Utility\\DocumentServiceAPI.Utility.csproj"
              }
            }
          }
        },
        "warningProperties": {
          "warnAsError": [
            "NU1605"
          ]
        }
      },
      "frameworks": {
        "net6.0": {
          "targetAlias": "net6.0",
          "dependencies": {
            "Furion.Extras.Authentication.JwtBearer": {
              "target": "Package",
              "version": "[4.8.8.38, )"
            },
            "Furion.Extras.ObjectMapper.Mapster": {
              "target": "Package",
              "version": "[4.8.8.38, )"
            },
            "Furion.Pure": {
              "target": "Package",
              "version": "[4.8.8.38, )"
            },
            "SqlSugarCore": {
              "target": "Package",
              "version": "[5.1.4.93, )"
            }
          },
          "imports": [
            "net461",
            "net462",
            "net47",
            "net471",
            "net472",
            "net48",
            "net481"
          ],
          "assetTargetFallback": true,
          "warn": true,
          "frameworkReferences": {
            "Microsoft.NETCore.App": {
              "privateAssets": "all"
            }
          },
          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.400-preview.23330.10\\RuntimeIdentifierGraph.json"
        }
      }
    },
    "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Enum\\DocumentServiceAPI.Enum.csproj": {
      "version": "1.0.0",
      "restore": {
        "projectUniqueName": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Enum\\DocumentServiceAPI.Enum.csproj",
        "projectName": "DocumentServiceAPI.Enum",
        "projectPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Enum\\DocumentServiceAPI.Enum.csproj",
        "packagesPath": "E:\\NUGET\\",
        "outputPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Enum\\obj\\",
        "projectStyle": "PackageReference",
        "configFilePaths": [
          "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config",
          "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
        ],
        "originalTargetFrameworks": [
          "net6.0"
        ],
        "sources": {
          "D:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
          "https://api.nuget.org/v3/index.json": {}
        },
        "frameworks": {
          "net6.0": {
            "targetAlias": "net6.0",
            "projectReferences": {}
          }
        },
        "warningProperties": {
          "warnAsError": [
            "NU1605"
          ]
        }
      },
      "frameworks": {
        "net6.0": {
          "targetAlias": "net6.0",
          "dependencies": {
            "SqlSugarCore": {
              "target": "Package",
              "version": "[5.1.4.93, )"
            }
          },
          "imports": [
            "net461",
            "net462",
            "net47",
            "net471",
            "net472",
            "net48",
            "net481"
          ],
          "assetTargetFallback": true,
          "warn": true,
          "frameworkReferences": {
            "Microsoft.NETCore.App": {
              "privateAssets": "all"
            }
          },
          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.400-preview.23330.10\\RuntimeIdentifierGraph.json"
        }
      }
    },
    "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Services\\DocumentServiceAPI.Services.csproj": {
      "version": "1.0.0",
      "restore": {
        "projectUniqueName": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Services\\DocumentServiceAPI.Services.csproj",
        "projectName": "DocumentServiceAPI.Services",
        "projectPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Services\\DocumentServiceAPI.Services.csproj",
        "packagesPath": "E:\\NUGET\\",
        "outputPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Services\\obj\\",
        "projectStyle": "PackageReference",
        "configFilePaths": [
          "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config",
          "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
        ],
        "originalTargetFrameworks": [
          "net6.0"
        ],
        "sources": {
          "D:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
          "https://api.nuget.org/v3/index.json": {}
        },
        "frameworks": {
          "net6.0": {
            "targetAlias": "net6.0",
            "projectReferences": {
              "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Core\\DocumentServiceAPI.Core.csproj": {
                "projectPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Core\\DocumentServiceAPI.Core.csproj"
              }
            }
          }
        },
        "warningProperties": {
          "warnAsError": [
            "NU1605"
          ]
        }
      },
      "frameworks": {
        "net6.0": {
          "targetAlias": "net6.0",
          "dependencies": {
            "CSRedisCore": {
              "target": "Package",
              "version": "[3.8.670, )"
            }
          },
          "imports": [
            "net461",
            "net462",
            "net47",
            "net471",
            "net472",
            "net48",
            "net481"
          ],
          "assetTargetFallback": true,
          "warn": true,
          "frameworkReferences": {
            "Microsoft.NETCore.App": {
              "privateAssets": "all"
            }
          },
          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.400-preview.23330.10\\RuntimeIdentifierGraph.json"
        }
      }
    },
    "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Utility\\DocumentServiceAPI.Utility.csproj": {
      "version": "1.0.0",
      "restore": {
        "projectUniqueName": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Utility\\DocumentServiceAPI.Utility.csproj",
        "projectName": "DocumentServiceAPI.Utility",
        "projectPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Utility\\DocumentServiceAPI.Utility.csproj",
        "packagesPath": "E:\\NUGET\\",
        "outputPath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Utility\\obj\\",
        "projectStyle": "PackageReference",
        "configFilePaths": [
          "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config",
          "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
        ],
        "originalTargetFrameworks": [
          "net6.0"
        ],
        "sources": {
          "D:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
          "https://api.nuget.org/v3/index.json": {}
        },
        "frameworks": {
          "net6.0": {
            "targetAlias": "net6.0",
            "projectReferences": {}
          }
        },
        "warningProperties": {
          "warnAsError": [
            "NU1605"
          ]
        }
      },
      "frameworks": {
        "net6.0": {
          "targetAlias": "net6.0",
          "dependencies": {
            "Microsoft.AspNetCore.Mvc.Core": {
              "target": "Package",
              "version": "[2.2.5, )"
            }
          },
          "imports": [
            "net461",
            "net462",
            "net47",
            "net471",
            "net472",
            "net48",
            "net481"
          ],
          "assetTargetFallback": true,
          "warn": true,
          "frameworkReferences": {
            "Microsoft.NETCore.App": {
              "privateAssets": "all"
            }
          },
          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.400-preview.23330.10\\RuntimeIdentifierGraph.json"
        }
      }
    }
  }
}
DocumentServiceAPI.Services/obj/DocumentServiceAPI.Services.csproj.nuget.g.props
New file
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
    <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
    <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">E:\NUGET\</NuGetPackageRoot>
    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">E:\NUGET\</NuGetPackageFolders>
    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.7.0</NuGetToolVersion>
  </PropertyGroup>
  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <SourceRoot Include="E:\NUGET\" />
  </ItemGroup>
  <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.props" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.props')" />
  </ImportGroup>
  <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">E:\NUGET\microsoft.extensions.apidescription.server\6.0.5</PkgMicrosoft_Extensions_ApiDescription_Server>
    <PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">E:\NUGET\microsoft.codeanalysis.analyzers\3.3.4</PkgMicrosoft_CodeAnalysis_Analyzers>
  </PropertyGroup>
</Project>
DocumentServiceAPI.Services/obj/DocumentServiceAPI.Services.csproj.nuget.g.targets
New file
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <Import Project="$(NuGetPackageRoot)system.text.json\6.0.8\buildTransitive\netcoreapp3.1\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\6.0.8\buildTransitive\netcoreapp3.1\System.Text.Json.targets')" />
    <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.4\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.4\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
    <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
  </ImportGroup>
</Project>
DocumentServiceAPI.Services/obj/project.assets.json
New file
Diff too large
DocumentServiceAPI.Services/obj/project.nuget.cache
New file
@@ -0,0 +1,146 @@
{
  "version": 2,
  "dgSpecHash": "OLIZBZSaausRl4KGNTdfrmzofTwTOaSf/9bFSJZSOCzDxZfDBCNOulTa+uflQ0l82Dhgb4qdm+KebZWSOYN4aw==",
  "success": true,
  "projectFilePath": "E:\\workdir\\标书软件\\ApiService\\DocumentServiceAPI\\DocumentServiceAPI.Services\\DocumentServiceAPI.Services.csproj",
  "expectedPackageFiles": [
    "E:\\NUGET\\ben.demystifier\\0.4.1\\ben.demystifier.0.4.1.nupkg.sha512",
    "E:\\NUGET\\csrediscore\\3.8.670\\csrediscore.3.8.670.nupkg.sha512",
    "E:\\NUGET\\furion.extras.authentication.jwtbearer\\4.8.8.38\\furion.extras.authentication.jwtbearer.4.8.8.38.nupkg.sha512",
    "E:\\NUGET\\furion.extras.objectmapper.mapster\\4.8.8.38\\furion.extras.objectmapper.mapster.4.8.8.38.nupkg.sha512",
    "E:\\NUGET\\furion.pure\\4.8.8.38\\furion.pure.4.8.8.38.nupkg.sha512",
    "E:\\NUGET\\furion.pure.extras.dependencymodel.codeanalysis\\4.8.8.38\\furion.pure.extras.dependencymodel.codeanalysis.4.8.8.38.nupkg.sha512",
    "E:\\NUGET\\mapster\\7.3.0\\mapster.7.3.0.nupkg.sha512",
    "E:\\NUGET\\mapster.core\\1.2.0\\mapster.core.1.2.0.nupkg.sha512",
    "E:\\NUGET\\mapster.dependencyinjection\\1.0.0\\mapster.dependencyinjection.1.0.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.authentication.abstractions\\2.2.0\\microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.authentication.core\\2.2.0\\microsoft.aspnetcore.authentication.core.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.authentication.jwtbearer\\6.0.20\\microsoft.aspnetcore.authentication.jwtbearer.6.0.20.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.authorization\\2.2.0\\microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.authorization.policy\\2.2.0\\microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.hosting.abstractions\\2.2.0\\microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.hosting.server.abstractions\\2.2.0\\microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.http\\2.2.0\\microsoft.aspnetcore.http.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.http.abstractions\\2.2.0\\microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.http.extensions\\2.2.0\\microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.http.features\\2.2.0\\microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.jsonpatch\\6.0.20\\microsoft.aspnetcore.jsonpatch.6.0.20.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.mvc.abstractions\\2.2.0\\microsoft.aspnetcore.mvc.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.mvc.core\\2.2.5\\microsoft.aspnetcore.mvc.core.2.2.5.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.mvc.newtonsoftjson\\6.0.20\\microsoft.aspnetcore.mvc.newtonsoftjson.6.0.20.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.razor.language\\6.0.20\\microsoft.aspnetcore.razor.language.6.0.20.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.responsecaching.abstractions\\2.2.0\\microsoft.aspnetcore.responsecaching.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.routing\\2.2.0\\microsoft.aspnetcore.routing.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.routing.abstractions\\2.2.0\\microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.aspnetcore.webutilities\\2.2.0\\microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.codeanalysis.analyzers\\3.3.4\\microsoft.codeanalysis.analyzers.3.3.4.nupkg.sha512",
    "E:\\NUGET\\microsoft.codeanalysis.common\\4.6.0\\microsoft.codeanalysis.common.4.6.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.codeanalysis.csharp\\4.6.0\\microsoft.codeanalysis.csharp.4.6.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.data.sqlclient\\2.1.4\\microsoft.data.sqlclient.2.1.4.nupkg.sha512",
    "E:\\NUGET\\microsoft.data.sqlclient.sni.runtime\\2.1.1\\microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512",
    "E:\\NUGET\\microsoft.data.sqlite\\7.0.5\\microsoft.data.sqlite.7.0.5.nupkg.sha512",
    "E:\\NUGET\\microsoft.data.sqlite.core\\7.0.5\\microsoft.data.sqlite.core.7.0.5.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.apidescription.server\\6.0.5\\microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.configuration.abstractions\\2.2.0\\microsoft.extensions.configuration.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.dependencyinjection\\2.2.0\\microsoft.extensions.dependencyinjection.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.dependencyinjection.abstractions\\6.0.0\\microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.dependencymodel\\6.0.0\\microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.fileproviders.abstractions\\2.2.0\\microsoft.extensions.fileproviders.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.hosting.abstractions\\2.2.0\\microsoft.extensions.hosting.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.logging.abstractions\\2.2.0\\microsoft.extensions.logging.abstractions.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.objectpool\\2.2.0\\microsoft.extensions.objectpool.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.options\\2.2.0\\microsoft.extensions.options.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.extensions.primitives\\2.2.0\\microsoft.extensions.primitives.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.identity.client\\4.21.1\\microsoft.identity.client.4.21.1.nupkg.sha512",
    "E:\\NUGET\\microsoft.identitymodel.jsonwebtokens\\6.10.0\\microsoft.identitymodel.jsonwebtokens.6.10.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.identitymodel.logging\\6.10.0\\microsoft.identitymodel.logging.6.10.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.identitymodel.protocols\\6.10.0\\microsoft.identitymodel.protocols.6.10.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.identitymodel.protocols.openidconnect\\6.10.0\\microsoft.identitymodel.protocols.openidconnect.6.10.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.identitymodel.tokens\\6.10.0\\microsoft.identitymodel.tokens.6.10.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.net.http.headers\\2.2.0\\microsoft.net.http.headers.2.2.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.netcore.platforms\\1.1.0\\microsoft.netcore.platforms.1.1.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.openapi\\1.2.3\\microsoft.openapi.1.2.3.nupkg.sha512",
    "E:\\NUGET\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512",
    "E:\\NUGET\\microsoft.win32.systemevents\\6.0.0\\microsoft.win32.systemevents.6.0.0.nupkg.sha512",
    "E:\\NUGET\\miniprofiler.aspnetcore\\4.3.8\\miniprofiler.aspnetcore.4.3.8.nupkg.sha512",
    "E:\\NUGET\\miniprofiler.aspnetcore.mvc\\4.3.8\\miniprofiler.aspnetcore.mvc.4.3.8.nupkg.sha512",
    "E:\\NUGET\\miniprofiler.shared\\4.3.8\\miniprofiler.shared.4.3.8.nupkg.sha512",
    "E:\\NUGET\\mysqlconnector\\2.2.5\\mysqlconnector.2.2.5.nupkg.sha512",
    "E:\\NUGET\\newtonsoft.json\\13.0.2\\newtonsoft.json.13.0.2.nupkg.sha512",
    "E:\\NUGET\\newtonsoft.json.bson\\1.0.2\\newtonsoft.json.bson.1.0.2.nupkg.sha512",
    "E:\\NUGET\\npgsql\\5.0.7\\npgsql.5.0.7.nupkg.sha512",
    "E:\\NUGET\\oracle.manageddataaccess.core\\3.21.100\\oracle.manageddataaccess.core.3.21.100.nupkg.sha512",
    "E:\\NUGET\\sqlitepclraw.bundle_e_sqlite3\\2.1.4\\sqlitepclraw.bundle_e_sqlite3.2.1.4.nupkg.sha512",
    "E:\\NUGET\\sqlitepclraw.core\\2.1.4\\sqlitepclraw.core.2.1.4.nupkg.sha512",
    "E:\\NUGET\\sqlitepclraw.lib.e_sqlite3\\2.1.4\\sqlitepclraw.lib.e_sqlite3.2.1.4.nupkg.sha512",
    "E:\\NUGET\\sqlitepclraw.provider.e_sqlite3\\2.1.4\\sqlitepclraw.provider.e_sqlite3.2.1.4.nupkg.sha512",
    "E:\\NUGET\\sqlsugarcore\\5.1.4.93\\sqlsugarcore.5.1.4.93.nupkg.sha512",
    "E:\\NUGET\\sqlsugarcore.dm\\1.2.0\\sqlsugarcore.dm.1.2.0.nupkg.sha512",
    "E:\\NUGET\\sqlsugarcore.kdbndp\\7.4.0\\sqlsugarcore.kdbndp.7.4.0.nupkg.sha512",
    "E:\\NUGET\\swashbuckle.aspnetcore\\6.5.0\\swashbuckle.aspnetcore.6.5.0.nupkg.sha512",
    "E:\\NUGET\\swashbuckle.aspnetcore.swagger\\6.5.0\\swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512",
    "E:\\NUGET\\swashbuckle.aspnetcore.swaggergen\\6.5.0\\swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512",
    "E:\\NUGET\\swashbuckle.aspnetcore.swaggerui\\6.5.0\\swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512",
    "E:\\NUGET\\system.buffers\\4.5.1\\system.buffers.4.5.1.nupkg.sha512",
    "E:\\NUGET\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.collections.concurrent\\4.3.0\\system.collections.concurrent.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.collections.immutable\\7.0.0\\system.collections.immutable.7.0.0.nupkg.sha512",
    "E:\\NUGET\\system.componentmodel\\4.3.0\\system.componentmodel.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.componentmodel.annotations\\4.5.0\\system.componentmodel.annotations.4.5.0.nupkg.sha512",
    "E:\\NUGET\\system.componentmodel.primitives\\4.3.0\\system.componentmodel.primitives.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.configuration.configurationmanager\\6.0.0\\system.configuration.configurationmanager.6.0.0.nupkg.sha512",
    "E:\\NUGET\\system.data.common\\4.3.0\\system.data.common.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.diagnostics.diagnosticsource\\4.7.0\\system.diagnostics.diagnosticsource.4.7.0.nupkg.sha512",
    "E:\\NUGET\\system.diagnostics.performancecounter\\6.0.1\\system.diagnostics.performancecounter.6.0.1.nupkg.sha512",
    "E:\\NUGET\\system.diagnostics.stacktrace\\4.3.0\\system.diagnostics.stacktrace.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.diagnostics.tracing\\4.3.0\\system.diagnostics.tracing.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.directoryservices\\6.0.1\\system.directoryservices.6.0.1.nupkg.sha512",
    "E:\\NUGET\\system.directoryservices.protocols\\6.0.1\\system.directoryservices.protocols.6.0.1.nupkg.sha512",
    "E:\\NUGET\\system.drawing.common\\6.0.0\\system.drawing.common.6.0.0.nupkg.sha512",
    "E:\\NUGET\\system.dynamic.runtime\\4.3.0\\system.dynamic.runtime.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.identitymodel.tokens.jwt\\6.10.0\\system.identitymodel.tokens.jwt.6.10.0.nupkg.sha512",
    "E:\\NUGET\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.io.filesystem\\4.3.0\\system.io.filesystem.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.io.filesystem.primitives\\4.3.0\\system.io.filesystem.primitives.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.linq\\4.3.0\\system.linq.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.linq.expressions\\4.3.0\\system.linq.expressions.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512",
    "E:\\NUGET\\system.objectmodel\\4.3.0\\system.objectmodel.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.reflection.emit\\4.3.0\\system.reflection.emit.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.reflection.emit.ilgeneration\\4.3.0\\system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.reflection.emit.lightweight\\4.3.0\\system.reflection.emit.lightweight.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.reflection.extensions\\4.3.0\\system.reflection.extensions.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.reflection.metadata\\7.0.0\\system.reflection.metadata.7.0.0.nupkg.sha512",
    "E:\\NUGET\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.reflection.typeextensions\\4.3.0\\system.reflection.typeextensions.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.runtime.caching\\4.7.0\\system.runtime.caching.4.7.0.nupkg.sha512",
    "E:\\NUGET\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
    "E:\\NUGET\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.runtime.handles\\4.3.0\\system.runtime.handles.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.runtime.serialization.primitives\\4.3.0\\system.runtime.serialization.primitives.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.security.accesscontrol\\6.0.0\\system.security.accesscontrol.6.0.0.nupkg.sha512",
    "E:\\NUGET\\system.security.cryptography.cng\\4.5.0\\system.security.cryptography.cng.4.5.0.nupkg.sha512",
    "E:\\NUGET\\system.security.cryptography.protecteddata\\6.0.0\\system.security.cryptography.protecteddata.6.0.0.nupkg.sha512",
    "E:\\NUGET\\system.security.permissions\\6.0.0\\system.security.permissions.6.0.0.nupkg.sha512",
    "E:\\NUGET\\system.security.principal.windows\\4.7.0\\system.security.principal.windows.4.7.0.nupkg.sha512",
    "E:\\NUGET\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.text.encoding.codepages\\7.0.0\\system.text.encoding.codepages.7.0.0.nupkg.sha512",
    "E:\\NUGET\\system.text.encodings.web\\6.0.0\\system.text.encodings.web.6.0.0.nupkg.sha512",
    "E:\\NUGET\\system.text.json\\6.0.8\\system.text.json.6.0.8.nupkg.sha512",
    "E:\\NUGET\\system.text.regularexpressions\\4.3.0\\system.text.regularexpressions.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.threading.tasks.extensions\\4.5.1\\system.threading.tasks.extensions.4.5.1.nupkg.sha512",
    "E:\\NUGET\\system.threading.tasks.parallel\\4.3.0\\system.threading.tasks.parallel.4.3.0.nupkg.sha512",
    "E:\\NUGET\\system.valuetuple\\4.5.0\\system.valuetuple.4.5.0.nupkg.sha512",
    "E:\\NUGET\\system.windows.extensions\\6.0.0\\system.windows.extensions.6.0.0.nupkg.sha512"
  ],
  "logs": []
}
DocumentServiceAPI.Utility/DocumentServiceAPI.Utility.csproj
@@ -7,4 +7,8 @@
    <GenerateDocumentationFile>True</GenerateDocumentationFile>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
  </ItemGroup>
</Project>
DocumentServiceAPI.Web.Core/DocumentServiceAPI.Web.Core.csproj
@@ -15,6 +15,7 @@
    <ItemGroup>
        <ProjectReference Include="..\DocumentServiceAPI.Application\DocumentServiceAPI.Application.csproj" />
        <ProjectReference Include="..\DocumentServiceAPI.Model\DocumentServiceAPI.Model.csproj" />
    </ItemGroup>
</Project>
DocumentServiceAPI.Web.Core/DocumentServiceAPI.Web.Core.xml
@@ -4,5 +4,53 @@
        <name>DocumentServiceAPI.Web.Core</name>
    </assembly>
    <members>
        <member name="T:DocumentServiceAPI.Web.Core.DSRESTFulResultProvider">
            <summary>
            ç»Ÿä¸€è¿”回
            </summary>
        </member>
        <member name="M:DocumentServiceAPI.Web.Core.DSRESTFulResultProvider.OnException(Microsoft.AspNetCore.Mvc.Filters.ExceptionContext,Furion.FriendlyException.ExceptionMetadata)">
            <summary>
            å¼‚常返回值
            </summary>
            <param name="context"></param>
            <param name="metadata"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Web.Core.DSRESTFulResultProvider.OnSucceeded(Microsoft.AspNetCore.Mvc.Filters.ActionExecutedContext,System.Object)">
            <summary>
            æˆåŠŸè¿”å›žå€¼
            </summary>
            <param name="context"></param>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Web.Core.DSRESTFulResultProvider.OnValidateFailed(Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext,Furion.DataValidation.ValidationMetadata)">
            <summary>
            éªŒè¯å¤±è´¥è¿”回值
            </summary>
            <param name="context"></param>
            <param name="metadata"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Web.Core.DSRESTFulResultProvider.OnResponseStatusCodes(Microsoft.AspNetCore.Http.HttpContext,System.Int32,Furion.UnifyResult.UnifyResultSettingsOptions)">
            <summary>
            ç‰¹å®šçŠ¶æ€ç è¿”å›žå€¼
            </summary>
            <param name="context"></param>
            <param name="statusCode"></param>
            <param name="unifyResultSettings"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Web.Core.DSRESTFulResultProvider.DsFulResult(System.Int32,System.Int32,System.Object,System.Object)">
            <summary>
            è¿”回 RESTful é£Žæ ¼ç»“果集
            </summary>
            <param name="statusCode"></param>
            <param name="Code">成功状态码</param>
            <param name="data"></param>
            <param name="errors"></param>
            <returns></returns>
        </member>
    </members>
</doc>
DocumentServiceAPI.Web.Core/Handlers/DSRESTfulResultProvider.cs
New file
@@ -0,0 +1,110 @@
using DocumentServiceAPI.Model;
using Furion;
using Furion.DataValidation;
using Furion.FriendlyException;
using Furion.UnifyResult;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using System;
using System.Threading.Tasks;
namespace DocumentServiceAPI.Web.Core
{
    /// <summary>
    /// ç»Ÿä¸€è¿”回
    /// </summary>
    [UnifyModel(typeof(DSFulResult<>))]
    public class DSRESTFulResultProvider : IUnifyResultProvider
    {
        /// <summary>
        /// å¼‚常返回值
        /// </summary>
        /// <param name="context"></param>
        /// <param name="metadata"></param>
        /// <returns></returns>
        public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)
        {
            return new JsonResult(DsFulResult(metadata.StatusCode, Code:0, data: metadata.Data, errors: metadata.Errors)
                , UnifyContext.GetSerializerSettings(context)); // å½“前行仅限 Furion 4.6.6+ ä½¿ç”¨
        }
        /// <summary>
        /// æˆåŠŸè¿”å›žå€¼
        /// </summary>
        /// <param name="context"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public IActionResult OnSucceeded(ActionExecutedContext context, object data)
        {
            return new JsonResult(DsFulResult(StatusCodes.Status200OK, 1, data)
                , UnifyContext.GetSerializerSettings(context)); // å½“前行仅限 Furion 4.6.6+ ä½¿ç”¨
        }
        /// <summary>
        /// éªŒè¯å¤±è´¥è¿”回值
        /// </summary>
        /// <param name="context"></param>
        /// <param name="metadata"></param>
        /// <returns></returns>
        public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)
        {
            //设置返回状态码
            return new JsonResult(DsFulResult(metadata.StatusCode ?? StatusCodes.Status400BadRequest, Code: 0, data: metadata.Data, errors: metadata.ValidationResult)
                , UnifyContext.GetSerializerSettings(context)); // å½“前行仅限 Furion 4.6.6+ ä½¿ç”¨
        }
        /// <summary>
        /// ç‰¹å®šçŠ¶æ€ç è¿”å›žå€¼
        /// </summary>
        /// <param name="context"></param>
        /// <param name="statusCode"></param>
        /// <param name="unifyResultSettings"></param>
        /// <returns></returns>
        public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings)
        {
            // è®¾ç½®å“åº”状态码
            UnifyContext.SetResponseStatusCodes(context, statusCode, unifyResultSettings);
            switch (statusCode)
            {
                // å¤„理 401 çŠ¶æ€ç 
                case StatusCodes.Status401Unauthorized:
                    await context.Response.WriteAsJsonAsync(DsFulResult(statusCode,Code:0, errors: "401 Unauthorized")
                        , App.GetOptions<JsonOptions>()?.JsonSerializerOptions);
                    break;
                // å¤„理 403 çŠ¶æ€ç 
                case StatusCodes.Status403Forbidden:
                    await context.Response.WriteAsJsonAsync(DsFulResult(statusCode, Code: 0, errors: "403 Forbidden")
                        , App.GetOptions<JsonOptions>()?.JsonSerializerOptions);
                    break;
                default: break;
            }
        }
        /// <summary>
        /// è¿”回 RESTful é£Žæ ¼ç»“果集
        /// </summary>
        /// <param name="statusCode"></param>
        /// <param name="Code">成功状态码</param>
        /// <param name="data"></param>
        /// <param name="errors"></param>
        /// <returns></returns>
        private static DSFulResult<object> DsFulResult(int statusCode, int Code = 1, object data = default, object errors = default)
        {
            return new DSFulResult<object>
            {
                Code = Code,
                StatusCode= statusCode,
                Data = data,
                Error = errors,
                Extras = UnifyContext.Take(),
                Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
            };
        }
    }
}
DocumentServiceAPI.Web.Core/Handlers/JwtHandler.cs
@@ -1,4 +1,6 @@
using Furion.Authorization;
using DocumentServiceAPI.Application.UserAndLogin.Services;
using Furion;
using Furion.Authorization;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using System.Threading.Tasks;
@@ -10,7 +12,8 @@
    public override Task<bool> PipelineAsync(AuthorizationHandlerContext context, DefaultHttpContext httpContext)
    {
        // è¿™é‡Œå†™æ‚¨çš„æŽˆæƒåˆ¤æ–­é€»è¾‘,授权通过返回 true,否则返回 false
      bool ret=    App.GetService<TokenService>().CheckToken();
        return Task.FromResult(true);
        return Task.FromResult(ret);
    }
}
DocumentServiceAPI.Web.Core/Startup.cs
@@ -1,4 +1,5 @@
using DocumentServiceAPI.Core;
using DocumentServiceAPI.Model;
using Furion;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
@@ -16,8 +17,9 @@
        services.AddCorsAccessor();
        services.AddControllers()
                .AddInjectWithUnifyResult();
        services.AddControllers();
         services.AddInjectWithUnifyResult<DSRESTFulResultProvider>();
    }
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs
New file
@@ -0,0 +1,40 @@
using Furion.Authorization;
using Microsoft.AspNetCore.Authorization;
namespace DocumentServiceAPI.Web.Entry
{
    /// <summary>
    /// é‰´æƒ
    /// </summary>
    public class AuthorizeHandler:AppAuthorizeHandler
    {
        /// <summary>
        /// è¯·æ±‚管道
        /// </summary>
        /// <param name="context"></param>
        /// <param name="httpContext"></param>
        /// <returns></returns>
        public override Task<bool> PipelineAsync(AuthorizationHandlerContext context, DefaultHttpContext httpContext)
        {
            // æ­¤å¤„已经自动验证 Jwt token的有效性了,无需手动验证
            // æ£€æŸ¥æƒé™ï¼Œå¦‚果方法是异步的就不用 Task.FromResult åŒ…裹,直接使用 async/await å³å¯
            return Task.FromResult(CheckAuthorzie(httpContext));
        }
        /// <summary>
        /// æ£€æŸ¥æƒé™
        /// </summary>
        /// <param name="httpContext"></param>
        /// <returns></returns>
        private static bool CheckAuthorzie(DefaultHttpContext httpContext)
        {
            // èŽ·å–æƒé™ç‰¹æ€§
            var securityDefineAttribute = httpContext.GetMetadata<SecurityDefineAttribute>();
            if (securityDefineAttribute == null) return true;
            return false;// "查询数据库返回是否有权限";
        }
    }
}
DocumentServiceAPI.Web.Entry/DocServiceApiStartup.cs
@@ -1,5 +1,11 @@
using DocumentServiceAPI.Core;
using CSRedis;
using DocumentServiceAPI.Core;
using DocumentServiceAPI.Model;
using DocumentServiceAPI.Services;
using DocumentServiceAPI.Services.IService;
using Furion;
using Mapster;
using System.Configuration;
namespace DocumentServiceAPI.Web.Entry
{
@@ -9,14 +15,33 @@
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSqlsugarSetup();
            var readisconnectionstring =  App.Configuration["RedisConfig:ConnectionString"];
            if (readisconnectionstring != null)
            //初始化redi配置
            {
                //有配置才注入
                RedisHelper.Initialization(new CSRedisClient(readisconnectionstring));
                //注入服务
                services.AddScoped<IRedisCacheService, RedisCacheScService>();
            }
        }
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.DbCodeFirst("DocumentServiceAPI.Model");
          var IsCodeFirst = App.GetConfig<bool>("isCodeFirst");
            if (IsCodeFirst)
            {
                //codefirst è¿å¾™æ•°æ®åº“设置
                app.DbCodeFirst("DocumentServiceAPI.Model");
                app.DbCodeFirst(typeof(DocumentServiceAPI.Model.cyDocumentModel.Document_TenderUnit));
            }
            //启动全局默认映射配置
            TypeAdapterConfig.GlobalSettings.Default.PreserveReference(true);
            app.UseStaticFiles(new StaticFileOptions
            {
                OnPrepareResponse = (stf) =>
@@ -25,6 +50,11 @@
                    stf.Context.Response.Headers["Access-Control-Allow-Headers"] = "*";
                }
            });
            App.Configuration.Get<WebHostBuilder>().ConfigureKestrel(x =>
            {
                x.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(20);
                x.Limits.RequestHeadersTimeout = TimeSpan.FromMinutes(20);
            });
        }
    }
}
DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj
@@ -16,6 +16,7 @@
        <ProjectReference Include="..\DocumentServiceAPI.Core\DocumentServiceAPI.Core.csproj" />
        <ProjectReference Include="..\DocumentServiceAPI.Enum\DocumentServiceAPI.Enum.csproj" />
        <ProjectReference Include="..\DocumentServiceAPI.Model\DocumentServiceAPI.Model.csproj" />
        <ProjectReference Include="..\DocumentServiceAPI.Services\DocumentServiceAPI.Services.csproj" />
        <ProjectReference Include="..\DocumentServiceAPI.Utility\DocumentServiceAPI.Utility.csproj" />
        <ProjectReference Include="..\DocumentServiceAPI.Web.Core\DocumentServiceAPI.Web.Core.csproj" />
    </ItemGroup>
@@ -25,6 +26,12 @@
    <ItemGroup>
      <Folder Include="新文件夹\" />
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="CSRedisCore" Version="3.8.670" />
    </ItemGroup>
    <ProjectExtensions>
        <VisualStudio>
            <UserProperties properties_4launchsettings_1json__JsonSchema="" />
DocumentServiceAPI.Web.Entry/HomeController.cs
File was deleted
DocumentServiceAPI.Web.Entry/appsettings.json
@@ -16,27 +16,21 @@
      "DbType": "SqlServer",
      "IsAutoCloseConnection": true
    }
  ],
  //swags åç§°é…ç½® é»˜è®¤åˆ†ç»„
  "[openapi:Default]": {
    "Title": "标书管理系统服务",
    "Order": 0,
    "Description": "这个一个很好用标书管理系统服务软件",
    "Version": "1.0.0",
    "TermsOfService": "http://www.51zhengcai.com",
    "Contact": {
      "Name": "政采咨询有限公司",
      "Url": "http://www.51zhengcai.com"
    },
    "License": {
      "Name": "政采咨询有限公司",
      "Url": "http://www.51zhengcai.com"
    }
  "isCodeFirst": false, //是否执行codefirst æ³¨æ„è¿™ä¸ªåœ¨è¿å¾™å®ŒæˆåŽåº”该设置为false é˜²æ­¢æ›´æ”¹æ•°æ®åº“
  //请保持redis为正常可用
  "RedisConfig": {
    // å¦‚果采用容器化部署Service è¦å†™æˆredis的服务名,否则写地址
    "ConnectionString": "127.0.0.1:6379,password=,connectTimeout=30000,responseTimeout=30000,abortConnect=false,connectRetry=1,syncTimeout=10000,DefaultDatabase=10" //redis数据库连接字符串
  },
  "JWTSettings": {
    "ValidateIssuerSigningKey": true, // æ˜¯å¦éªŒè¯å¯†é’¥ï¼Œbool ç±»åž‹ï¼Œé»˜è®¤true
    "IssuerSigningKey": "129(*dasd09213)*(*jKDl", // å¯†é’¥ï¼Œstring ç±»åž‹ï¼Œå¿…须是复杂密钥,长度大于16
DocumentServiceAPI.sln
@@ -11,11 +11,13 @@
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DocumentServiceAPI.Web.Entry", "DocumentServiceAPI.Web.Entry\DocumentServiceAPI.Web.Entry.csproj", "{C8D99F52-EDC7-411F-8300-6DB14BF59E8C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentServiceAPI.Model", "DocumentServiceAPI.Model\DocumentServiceAPI.Model.csproj", "{80D04681-B259-46CC-BC3B-36DB3185038D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DocumentServiceAPI.Model", "DocumentServiceAPI.Model\DocumentServiceAPI.Model.csproj", "{80D04681-B259-46CC-BC3B-36DB3185038D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentServiceAPI.Enum", "DocumentServiceAPI.Enum\DocumentServiceAPI.Enum.csproj", "{69964B25-DFB3-4AF2-9AC7-9BB2A4880D19}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DocumentServiceAPI.Enum", "DocumentServiceAPI.Enum\DocumentServiceAPI.Enum.csproj", "{69964B25-DFB3-4AF2-9AC7-9BB2A4880D19}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentServiceAPI.Utility", "DocumentServiceAPI.Utility\DocumentServiceAPI.Utility.csproj", "{32288D91-01F9-45B0-AA01-A8EF1E22A6D0}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DocumentServiceAPI.Utility", "DocumentServiceAPI.Utility\DocumentServiceAPI.Utility.csproj", "{32288D91-01F9-45B0-AA01-A8EF1E22A6D0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentServiceAPI.Services", "DocumentServiceAPI.Services\DocumentServiceAPI.Services.csproj", "{3369F102-ABB2-42A4-B216-58D530AEE8BE}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -51,6 +53,10 @@
        {32288D91-01F9-45B0-AA01-A8EF1E22A6D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {32288D91-01F9-45B0-AA01-A8EF1E22A6D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {32288D91-01F9-45B0-AA01-A8EF1E22A6D0}.Release|Any CPU.Build.0 = Release|Any CPU
        {3369F102-ABB2-42A4-B216-58D530AEE8BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {3369F102-ABB2-42A4-B216-58D530AEE8BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {3369F102-ABB2-42A4-B216-58D530AEE8BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {3369F102-ABB2-42A4-B216-58D530AEE8BE}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE