6a4fbf989fcdde0e4e379aba6d224737da3474eb..10760c944ad47ef9e27aebd88c45bebf23521792
8 天以前 sunpengfei
feat:开发
10760c 对比 | 目录
8 天以前 sunpengfei
feat:开发
11e0c4 对比 | 目录
8 天以前 sunpengfei
feat:开发
a9b167 对比 | 目录
6个文件已添加
10个文件已修改
922 ■■■■ 已修改文件
FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseWallet.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseWalletTransaction.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Enums/Users/EnumEnterpriseWalletAccountBookStatus.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Enums/Users/EnumEnterpriseWalletTransactionStatus.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Enums/Users/EnumEnterpriseWalletTransactionType.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/FlexJobApi.Core.xml 274 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetPersonalUserElectronSignQuery.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayTransferCommand.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/RechargeEnterpriseWalletCommand.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Queries/GetEnterpriseWalletQuery.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseWallet.cs
@@ -3,6 +3,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace FlexJobApi.Core
{
@@ -25,6 +26,11 @@
        /// 通道
        /// </summary>
        public EnumEnterpriseWalletAccess Access { get; set; }
        /// <summary>
        /// 余额
        /// </summary>
        public decimal Balance { get; set; }
        /// <summary>
        /// 协议产品码,商户和支付宝签约时确定,不同业务场景对应不同的签约产品码。
@@ -97,5 +103,38 @@
        /// 授信模式,目前只在花芝代扣(即花芝go)协议时才会返回
        /// </summary>
        public string CreditAuthMode { get; set; }
        /// <summary>
        /// 资金记账本Id
        /// </summary>
        public string AccountBookId { get; set; }
        /// <summary>
        /// 记账的外卡户名
        /// </summary>
        public string BankAccName { get; set; }
        /// <summary>
        /// 记账的外卡开户行
        /// </summary>
        public string CardBank { get; set; }
        /// <summary>
        /// 记账的外卡支行
        /// </summary>
        public string CardBranch { get; set; }
        /// <summary>
        /// 记账的外卡联行号
        /// </summary>
        public string CardDeposit { get; set; }
        /// <summary>
        /// 记账的外卡开户地址
        /// </summary>
        public string CardLocation { get; set; }
        /// <summary>
        /// 记账的外卡卡号
        /// </summary>
        public string CardNo { get; set; }
        /// <summary>
        /// 记账的外卡状态, A:正常状态; 其他:异常
        /// </summary>
        public EnumEnterpriseWalletAccountBookStatus? AccountBookStatus { get; set; }
    }
}
FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseWalletTransaction.cs
New file
@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 企业钱包交易记录
    /// </summary>
    public class EnterpriseWalletTransaction : CommonEntity
    {
        /// <summary>
        /// 企业钱包Id
        /// </summary>
        public Guid WalletId { get; set; }
        /// <summary>
        /// 钱包
        /// </summary>
        public EnterpriseWallet Wallet { get; set; }
        /// <summary>
        /// 类型
        /// </summary>
        public EnumEnterpriseWalletTransactionType Type { get; set; }
        /// <summary>
        /// 订单号
        /// </summary>
        public string Code { get; set; }
        /// <summary>
        /// 金额
        /// </summary>
        public decimal Amount { get; set; }
        /// <summary>
        /// 余额
        /// </summary>
        public decimal Balance { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
        /// <summary>
        /// 订单Id
        /// </summary>
        public string OrderId { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public EnumEnterpriseWalletTransactionStatus Status { get; set; }
    }
}
FlexJobApi.Core/Enums/Users/EnumEnterpriseWalletAccountBookStatus.cs
New file
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 企业钱包记账本状态
    /// </summary>
    public enum EnumEnterpriseWalletAccountBookStatus
    {
        /// <summary>
        /// 正常
        /// </summary>
        Normal = 100,
        /// <summary>
        /// 异常
        /// </summary>
        Exception = 999
    }
}
FlexJobApi.Core/Enums/Users/EnumEnterpriseWalletTransactionStatus.cs
New file
@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 企业钱包交易状态
    /// </summary>
    public enum EnumEnterpriseWalletTransactionStatus
    {
        /// <summary>
        /// 待支付
        /// </summary>
        WaitPay = 10,
        /// <summary>
        /// 处理中
        /// </summary>
        Dealing = 20,
        /// <summary>
        /// 成功
        /// </summary>
        Success = 30,
        /// <summary>
        /// 退票
        /// </summary>
        Refund = 40,
        /// <summary>
        /// 失败
        /// </summary>
        Fail = 50,
    }
}
FlexJobApi.Core/Enums/Users/EnumEnterpriseWalletTransactionType.cs
New file
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 企业钱包交易类型
    /// </summary>
    public enum EnumEnterpriseWalletTransactionType
    {
        /// <summary>
        /// 充值
        /// </summary>
        Recharge = 10,
        /// <summary>
        /// 转账
        /// </summary>
        Transfer = 20
    }
}
FlexJobApi.Core/FlexJobApi.Core.xml
@@ -2055,6 +2055,11 @@
            通道
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWallet.Balance">
            <summary>
            余额
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWallet.PersonalProductCode">
            <summary>
            协议产品码,商户和支付宝签约时确定,不同业务场景对应不同的签约产品码。
@@ -2133,6 +2138,96 @@
        <member name="P:FlexJobApi.Core.EnterpriseWallet.CreditAuthMode">
            <summary>
            授信模式,目前只在花芝代扣(即花芝go)协议时才会返回
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWallet.AccountBookId">
            <summary>
            资金记账本Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWallet.BankAccName">
            <summary>
            记账的外卡户名
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWallet.CardBank">
            <summary>
            记账的外卡开户行
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWallet.CardBranch">
            <summary>
            记账的外卡支行
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWallet.CardDeposit">
            <summary>
            记账的外卡联行号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWallet.CardLocation">
            <summary>
            记账的外卡开户地址
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWallet.CardNo">
            <summary>
            记账的外卡卡号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWallet.AccountBookStatus">
            <summary>
            记账的外卡状态, A:正常状态; 其他:异常
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnterpriseWalletTransaction">
            <summary>
            企业钱包交易记录
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWalletTransaction.WalletId">
            <summary>
            企业钱包Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWalletTransaction.Wallet">
            <summary>
            钱包
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWalletTransaction.Type">
            <summary>
            类型
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWalletTransaction.Code">
            <summary>
            订单号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWalletTransaction.Amount">
            <summary>
            金额
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWalletTransaction.Balance">
            <summary>
            余额
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWalletTransaction.Remark">
            <summary>
            备注
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWalletTransaction.OrderId">
            <summary>
            订单Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseWalletTransaction.Status">
            <summary>
            状态
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.Menu">
@@ -3722,6 +3817,21 @@
            支付宝
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumEnterpriseWalletAccountBookStatus">
            <summary>
            企业钱包记账本状态
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumEnterpriseWalletAccountBookStatus.Normal">
            <summary>
            正常
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumEnterpriseWalletAccountBookStatus.Exception">
            <summary>
            异常
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumEnterpriseWalletSignStatus">
            <summary>
            企业钱包签约状态
@@ -3740,6 +3850,51 @@
        <member name="F:FlexJobApi.Core.EnumEnterpriseWalletSignStatus.Stop">
            <summary>
            终止
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumEnterpriseWalletTransactionStatus">
            <summary>
            企业钱包交易状态
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumEnterpriseWalletTransactionStatus.WaitPay">
            <summary>
            待支付
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumEnterpriseWalletTransactionStatus.Dealing">
            <summary>
            处理中
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumEnterpriseWalletTransactionStatus.Success">
            <summary>
            成功
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumEnterpriseWalletTransactionStatus.Refund">
            <summary>
            退票
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumEnterpriseWalletTransactionStatus.Fail">
            <summary>
            失败
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumEnterpriseWalletTransactionType">
            <summary>
            企业钱包交易类型
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumEnterpriseWalletTransactionType.Recharge">
            <summary>
            充值
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumEnterpriseWalletTransactionType.Transfer">
            <summary>
            转账
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumMenuType">
@@ -9081,6 +9236,11 @@
            查询个人用户签约详情-结果
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetPersonalUserElectronSignQueryResult.Id">
            <summary>
            灵工Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetPersonalUserElectronSignQueryResult.ContractCode">
            <summary>
            合同编号
@@ -9692,74 +9852,14 @@
            代进件单Id
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.AlipayTransferCommand">
            <summary>
            转账
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand">
            <summary>
            支付宝用户授权协议签约通知
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.personal_product_code">
            <summary>
            协议产品码,商户和支付宝签约时确定,不同业务场景对应不同的签约产品码。
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.sign_scene">
            <summary>
            当前签约的协议场景。
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.status">
            <summary>
            NORMAL    协议当前状态 1. TEMP:暂存,协议未生效过; 2. NORMAL:正常; 3. STOP:暂停
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.alipay_user_id">
            <summary>
            用户签约的支付宝账号对应的支付宝唯一用户号。 以2088开头的16位纯数字组成。
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.agreement_no">
            <summary>
            支付宝系统中用以唯一标识用户签约记录的编号。
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.sign_time">
            <summary>
            支付宝代扣协议的实际签约时间,格式为yyyy-MM-dd HH:mm:ss。
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.external_logon_id">
            <summary>
            用户在商户网站的登录账号,如果商户接口中未传,则不会返回
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.app_id">
            <summary>
            支付宝分配给开发者的应用Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.auth_app_id">
            <summary>
            支付宝分配给商户的应用Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.external_agreement_no">
            <summary>
            代扣协议中标示用户的唯一签约号(确保在商户系统中唯一)。
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.valid_time">
            <summary>
            用户代扣协议的实际生效时间,格式为yyyy-MM-dd HH:mm:ss。
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.alipay_logon_id">
            <summary>
            返回脱敏的支付宝账号。
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.AlipayUserAgreementPageSignNotifyCommand.notify_type">
            <summary>
            用户签约成功通知类型
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.CloseEnterpriseWalletCommand">
@@ -9795,6 +9895,21 @@
        <member name="P:FlexJobApi.Core.OpenEnterpriseWalletCommandResult.SignUrl">
            <summary>
            签约地址
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.RechargeEnterpriseWalletCommand">
            <summary>
            企业钱包充值
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.RechargeEnterpriseWalletCommand.Access">
            <summary>
            通道
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.RechargeEnterpriseWalletCommand.Amount">
            <summary>
            金额
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetAlipayFundExpandindirectOrderQuery">
@@ -9910,6 +10025,11 @@
        <member name="T:FlexJobApi.Core.GetEnterpriseWalletQuery">
            <summary>
            查询企业钱包详情
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseWalletQuery.EnterpriseId">
            <summary>
            企业Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseWalletQuery.Access">
@@ -12597,6 +12717,30 @@
            </summary>
            <param name="model"></param>
        </member>
        <member name="M:FlexJobApi.Core.AlipayUtils.FundAccountbookCreate(Aop.Api.Domain.AlipayFundAccountbookCreateModel)">
            <summary>
            资金记账本开通
            </summary>
            <param name="model"></param>
        </member>
        <member name="M:FlexJobApi.Core.AlipayUtils.FundAccountbookQuery(Aop.Api.Domain.AlipayFundAccountbookQueryModel)">
            <summary>
            资金记账本的信息查询
            </summary>
            <param name="model"></param>
        </member>
        <member name="M:FlexJobApi.Core.AlipayUtils.FundTransPagePay(Aop.Api.Domain.AlipayFundTransPagePayModel)">
            <summary>
            资金转账页面支付接口
            </summary>
            <param name="model"></param>
        </member>
        <member name="M:FlexJobApi.Core.AlipayUtils.FundTransUniTransfer(Aop.Api.Domain.AlipayFundTransUniTransferModel)">
            <summary>
            单笔转账接口
            </summary>
            <param name="model"></param>
        </member>
        <member name="M:FlexJobApi.Core.AlipayUtils.FundExpandindirectImageUpload(Aop.Api.Request.AlipayFundExpandindirectImageUploadRequest)">
            <summary>
            资金二级商户KYB代进件文件上传接口
FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetPersonalUserElectronSignQuery.cs
@@ -33,6 +33,11 @@
    public class GetPersonalUserElectronSignQueryResult
    {
        /// <summary>
        /// 灵工Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 合同编号
        /// </summary>
        public string ContractCode { get; set; }
FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayTransferCommand.cs
New file
@@ -0,0 +1,18 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 转账
    /// </summary>
    [Resource([EnumResourceController.UserServerEnterpriseWallet])]
    public class AlipayTransferCommand : IRequest<Guid>
    {
    }
}
FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/RechargeEnterpriseWalletCommand.cs
New file
@@ -0,0 +1,27 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 企业钱包充值
    /// </summary>
    [Resource([EnumResourceController.UserServerEnterpriseWallet])]
    public class RechargeEnterpriseWalletCommand : IRequest<Guid>
    {
        /// <summary>
        /// 通道
        /// </summary>
        public EnumEnterpriseWalletAccess Access { get; set; }
        /// <summary>
        /// 金额
        /// </summary>
        public decimal Amount { get; set; }
    }
}
FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Queries/GetEnterpriseWalletQuery.cs
@@ -16,6 +16,11 @@
    public class GetEnterpriseWalletQuery : IRequest<GetEnterpriseWalletQueryResult>
    {
        /// <summary>
        /// 企业Id
        /// </summary>
        public Guid? EnterpriseId { get; set; }
        /// <summary>
        /// 通道
        /// </summary>
        public EnumEnterpriseWalletAccess Access { get; set; }
FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs
@@ -102,6 +102,62 @@
        }
        /// <summary>
        /// 资金记账本开通
        /// </summary>
        /// <param name="model"></param>
        public AlipayFundAccountbookCreateResponse FundAccountbookCreate(AlipayFundAccountbookCreateModel model)
        {
            logger.LogInformation($"正在执行资金记账本开通接口:{model.ToJson()}");
            AlipayFundAccountbookCreateRequest request = new AlipayFundAccountbookCreateRequest();
            request.SetBizModel(model);
            AlipayFundAccountbookCreateResponse response = alipayClient.CertificateExecute(request);
            logger.LogInformation($"结果:{response.ToJson()}");
            return response;
        }
        /// <summary>
        /// 资金记账本的信息查询
        /// </summary>
        /// <param name="model"></param>
        public AlipayFundAccountbookQueryResponse FundAccountbookQuery(AlipayFundAccountbookQueryModel model)
        {
            logger.LogInformation($"正在执行资金记账本的信息查询接口:{model.ToJson()}");
            AlipayFundAccountbookQueryRequest request = new AlipayFundAccountbookQueryRequest();
            request.SetBizModel(model);
            AlipayFundAccountbookQueryResponse response = alipayClient.CertificateExecute(request);
            logger.LogInformation($"结果:{response.ToJson()}");
            return response;
        }
        /// <summary>
        /// 资金转账页面支付接口
        /// </summary>
        /// <param name="model"></param>
        public AlipayFundTransPagePayResponse FundTransPagePay(AlipayFundTransPagePayModel model)
        {
            logger.LogInformation($"正在执行资金转账页面支付接口:{model.ToJson()}");
            AlipayFundTransPagePayRequest request = new AlipayFundTransPagePayRequest();
            request.SetBizModel(model);
            AlipayFundTransPagePayResponse response = alipayClient.CertificateExecute(request);
            logger.LogInformation($"结果:{response.ToJson()}");
            return response;
        }
        /// <summary>
        /// 单笔转账接口
        /// </summary>
        /// <param name="model"></param>
        public AlipayFundTransUniTransferResponse FundTransUniTransfer(AlipayFundTransUniTransferModel model)
        {
            logger.LogInformation($"正在执行单笔转账接口:{model.ToJson()}");
            AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
            request.SetBizModel(model);
            AlipayFundTransUniTransferResponse response = alipayClient.CertificateExecute(request);
            logger.LogInformation($"结果:{response.ToJson()}");
            return response;
        }
        /// <summary>
        /// 资金二级商户KYB代进件文件上传接口
        /// </summary>
        /// <returns></returns>
@@ -148,7 +204,6 @@
            logger.LogInformation($"结果:{response.ToJson()}");
            return response;
        }
        /// <summary>
        /// 资金二级商户KYB代进件单取消接口
FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs
@@ -1,11 +1,16 @@
using FlexJobApi.Core;
using Aop.Api.Domain;
using FlexJobApi.Core;
using Furion.DatabaseAccessor;
using Furion.DistributedIDGenerator;
using Furion.FriendlyException;
using Mapster;
using MediatR;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Principal;
using System.Text;
using System.Threading.Tasks;
@@ -15,7 +20,12 @@
    /// 灵工查询处理器
    /// </summary>
    public class EnterpriseEmployeeQueryHandler(
            IRepository<EnterpriseEmployee> rep
            IRepository<EnterpriseEmployee> rep,
            IRepository<ContractTemplate> repContractTemplate,
            IRepository<EnterpriseEmployeeContract> repEnterpriseEmployeeContract,
            IRepository<Enterprise> repEnterprise,
            IRepository<User> repUser,
            IMediator mediator
        ) :
        IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult>,
        IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult>,
@@ -23,6 +33,11 @@
        IRequestHandler<GetPersonalUserElectronSignQuery, GetPersonalUserElectronSignQueryResult>
    {
        private readonly IRepository<EnterpriseEmployee> rep = rep;
        private readonly IRepository<ContractTemplate> repContractTemplate = repContractTemplate;
        private readonly IRepository<EnterpriseEmployeeContract> repEnterpriseEmployeeContract = repEnterpriseEmployeeContract;
        private readonly IRepository<Enterprise> repEnterprise = repEnterprise;
        private readonly IRepository<User> repUser = repUser;
        private readonly IMediator mediator = mediator;
        /// <summary>
        /// 查询灵工分页列表数据
@@ -210,20 +225,116 @@
        public async Task<GetPersonalUserElectronSignQueryResult> Handle(GetPersonalUserElectronSignQuery request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            var q = rep.AsQueryable().AsNoTracking()
                .Where(it => it.UserId == logier.Id);
            if (request.Id.HasValue)
            {
                q = q.Where(it => it.Id == request.Id);
                var model = await rep.AsQueryable().AsNoTracking()
                    .Where(it => it.UserId == logier.Id && it.Id == request.Id)
                    .GetDetail<EnterpriseEmployee, GetPersonalUserElectronSignQueryResult>();
                return model;
            }
            if (request.Code.IsNotNull())
            else if (request.Code.IsNotNull())
            {
                q = q.Where(it => it.ContractTemplate.Code == request.Code);
            }
                var contractTemplate = await repContractTemplate.AsQueryable().AsNoTracking()
                    .Where(it => it.Code == request.Code)
                    .FirstOrDefaultAsync();
                if (contractTemplate == null) throw Oops.Oh(EnumErrorCodeType.s404, "合同");
            var model = await q.GetDetail<EnterpriseEmployee, GetPersonalUserElectronSignQueryResult>();
            return model;
                await mediator.Send(new CheckContractTemplateCommand
                {
                    Id = contractTemplate.Id
                }, cancellationToken);
                var entity = await rep.AsQueryable()
                    .Where(it =>
                        it.UserId == logier.Id
                        && it.ContractTemplateId == contractTemplate.Id)
                    .FirstOrDefaultAsync();
                var enterprise = await repEnterprise.AsQueryable()
                    .Where(it => it.Id == contractTemplate.EnterpriseId)
                    .Select(it => new
                    {
                        it.EnterpriseName
                    })
                    .FirstOrDefaultAsync();
                if (enterprise == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业");
                var add = false;
                if (entity == null)
                {
                    var user = await repUser.AsQueryable().AsNoTracking()
                        .Include(it => it.UserAuth)
                        .Where(it => it.Id == logier.Id)
                        .Select(it => new
                        {
                            it.Name,
                            it.Identity,
                            it.ContactPhoneNumber,
                            it.Gender,
                            it.Age,
                            it.UserAuth.IdentityImg,
                            it.UserAuth.IdentityBackImg
                        })
                        .FirstOrDefaultAsync(cancellationToken);
                    if (user == null) throw Oops.Oh(EnumErrorCodeType.s404, "账号");
                    entity = new EnterpriseEmployee
                    {
                        Id = IDGen.NextID(),
                        EnterpriseId = contractTemplate.EnterpriseId,
                        UserId = logier.Id,
                        Name = user.Name,
                        Identity = user.Identity,
                        ContactPhoneNumber = user.ContactPhoneNumber,
                        Gender = user.Gender,
                        Age = user.Age,
                        IdentityImg = user.IdentityImg,
                        IdentityBackImg = user.IdentityBackImg,
                    };
                    add = true;
                }
                if (entity.UserSignContractStatus == null)
                {
                    entity.ContractTemplateId = contractTemplate.Id;
                    entity.UserSignContractStatus = EnumTaskUserSignContractStatus.Wait;
                    entity.UserSignContractTime = null;
                    entity.EnterpriseSignContractStatus = null;
                    entity.EnterpriseSignContractTime = null;
                    entity.ContractCode = $"{DateTime.Now:yyyyMMddHHmmss}{new Random(IDGen.NextID().GetHashCode()).Next(1000, 9999)}";
                    entity.ContractUrl = null;
                    var contract = new EnterpriseEmployeeContract
                    {
                        EnterpriseEmployeeId = entity.Id,
                        ContractTemplateId = entity.ContractTemplateId,
                        ContractCode = entity.ContractCode,
                        UserSignContractStatus = entity.UserSignContractStatus,
                    };
                    await repEnterpriseEmployeeContract.InsertAsync(contract);
                }
                if (add)
                {
                    await rep.InsertAsync(entity);
                }
                else
                {
                    await rep.UpdateAsync(entity);
                }
                return new GetPersonalUserElectronSignQueryResult
                {
                    Id = entity.Id,
                    ContractCode = entity.ContractCode,
                    ContractTemplateAccess = contractTemplate.Access,
                    UserSignContractStatus = entity.UserSignContractStatus,
                    Name = entity.Name,
                    Identity = entity.Identity,
                    ContactPhoneNumber = entity.ContactPhoneNumber,
                    UserSignContractTime = entity.UserSignContractTime,
                    EnterpriseEnterpriseName = enterprise.EnterpriseName,
                    EnterpriseSignContractTime = entity.EnterpriseSignContractTime,
                    ContractUrl = entity.ContractUrl,
                };
            }
            else
            {
                throw Oops.Oh(EnumErrorCodeType.s400, "请填写灵工Id或合同模板编号");
            }
        }
    }
}
FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs
@@ -23,7 +23,9 @@
            AlipayUtils alipayUtils
        ) :
        IRequestHandler<OpenEnterpriseWalletCommand, OpenEnterpriseWalletCommandResult>,
        IRequestHandler<CloseEnterpriseWalletCommand, Guid>
        IRequestHandler<CloseEnterpriseWalletCommand, Guid>,
        IRequestHandler<RechargeEnterpriseWalletCommand, Guid>,
        IRequestHandler<AlipayTransferCommand, Guid>
    {
        private readonly IRepository<EnterpriseWallet> rep = rep;
        private readonly IRepository<Enterprise> repEnterprise = repEnterprise;
@@ -79,7 +81,7 @@
            var response = alipayUtils.UserAgreementPageSign(model, $"/api/user/enterpriseWallet/alipayUserAgreementPageSignNotify");
            if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.SubMsg ?? response.Msg);
            var result = new OpenEnterpriseWalletCommandResult();
            result.SignUrl =  response.Body;
            result.SignUrl = response.Body;
            return result;
        }
@@ -108,6 +110,87 @@
            return entity.Id;
        }
        /// <summary>
        /// 企业钱包充值
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public async Task<Guid> Handle(RechargeEnterpriseWalletCommand request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            var entity = await rep.AsQueryable()
                .Where(it => it.EnterpriseId == logier.EnterpriseId && it.Access == request.Access)
                .FirstOrDefaultAsync();
            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业钱包");
            if (entity.SignStatus != EnumEnterpriseWalletSignStatus.Normal) throw Oops.Oh(EnumErrorCodeType.s510, "未签约");
            if (entity.AccountBookStatus != EnumEnterpriseWalletAccountBookStatus.Normal) throw Oops.Oh(EnumErrorCodeType.s510, "未开通记账本");
            var order = new EnterpriseWalletTransaction();
            order.Code = $"{DateTime.Now:yyyyMMddHHmmss}{new Random(IDGen.NextID().GetHashCode()).Next(1000, 9999)}";
            order.WalletId = entity.Id;
            order.Amount = request.Amount;
            var response = alipayUtils.FundTransPagePay(new AlipayFundTransPagePayModel
            {
                OutBizNo = order.Code,
                TransAmount = order.Amount.ToString(),
                ProductCode = "FUND_ACCOUNT_BOOK",
                BizScene = "SATF_DEPOSIT",
                Remark = "记账本充值",
                OrderTitle = "记账本充值",
                TimeExpire = DateTime.Now.AddHours(1).ToString("yyyy-MM-dd HH:mm:ss"),
                PayeeInfo = new Participant
                {
                    IdentityType = "ACCOUNT_BOOK_ID",
                    Identity = entity.AccountBookId,
                    ExtInfo = new
                    {
                        agreement_no = entity.AgreementNo,
                    }.ToJson(),
                },
            });
            if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.SubMsg ?? response.Msg);
            order.OrderId = response.OrderId;
            return order.Id;
        }
        public async Task<Guid> Handle(AlipayTransferCommand request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            var entity = await rep.AsQueryable()
                .Where(it => it.EnterpriseId == logier.EnterpriseId && it.Access == EnumEnterpriseWalletAccess.Alipay)
                .FirstOrDefaultAsync();
            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业钱包");
            var response = alipayUtils.FundTransUniTransfer(new AlipayFundTransUniTransferModel
            {
                OutBizNo = $"Test{DateTime.Now:yyyyMMddHHmmss}{new Random(IDGen.NextID().GetHashCode()).Next(1000, 9999)}",
                TransAmount = "0.01",
                ProductCode = "TRANS_ACCOUNT_NO_PWD",
                PayeeInfo = new Participant
                {
                    IdentityType = "BANKCARD_ACCOUNT",
                    Identity = "6214180000016351382",
                    Name = "孙鹏飞",
                    BankcardExtInfo = new BankcardExtInfo
                    {
                        AccountType = "2",
                        InstName = "宁波银行"
                    }
                },
                PayerInfo = new Participant
                {
                    IdentityType = "ALIPAY_OPEN_ID",
                    Identity = entity.PrincipalOpenId,
                    Name = "孙鹏飞"
                },
                BizScene = "CAE_TRANSFER",
                OrderTitle = "测试代扣",
                Remark = "测试代扣备注"
            });
            if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.SubMsg ?? response.Msg);
            return entity.Id;
        }
        private async Task SetCode(EnterpriseWallet entity)
        {
            entity.Code = $"{DateTime.Now:yyyyMMddHHmmss}{new Random(IDGen.NextID().GetHashCode()).Next(1000, 9999)}";
FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs
@@ -19,12 +19,14 @@
    /// 支付宝通知回传
    /// </summary>
    public class GetAlipayNotifyCommandHandler(
            IRepository<EnterpriseWallet> rep
            IRepository<EnterpriseWallet> rep,
            IMediator mediator
        ) :
        IRequestHandler<GetAlipayNotifyCommand, bool>,
        IRequestHandler<AlipayUserAgreementPageSignNotifyCommand, bool>
    {
        private readonly IRepository<EnterpriseWallet> rep = rep;
        private readonly IMediator mediator = mediator;
        /// <summary>
        /// 支付宝通知回传
@@ -49,23 +51,11 @@
                .Where(it => it.Code == request.external_agreement_no)
                .FirstOrDefaultAsync();
            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业钱包");
            entity.AgreementNo = request.agreement_no;
            entity.SignTime = request.sign_time.ToDateTime();
            entity.ValidTime = request.valid_time.ToDateTime();
            entity.InvalidTime = request.invalid_time.ToDateTime();
            entity.SignStatus = request.status == "TEMP"
                ? EnumEnterpriseWalletSignStatus.Apply
                : request.status == "NORMAL"
                ? EnumEnterpriseWalletSignStatus.Normal
                : request.status == "STOP"
                ? EnumEnterpriseWalletSignStatus.Stop
                : throw Oops.Oh(EnumErrorCodeType.s510, "状态异常");
            entity.AlipayLogonId = request.alipay_logon_id;
            entity.PrincipalId = request.alipay_user_id;
            entity.PrincipalOpenId = request.alipay_open_id;
            entity.ZmOpenId = request.zm_open_id;
            entity.CreditAuthMode = request.credit_auth_mode;
            await rep.UpdateAsync(entity);
            await mediator.Send(new GetEnterpriseWalletQuery
            {
                EnterpriseId = entity.EnterpriseId,
                Access = EnumEnterpriseWalletAccess.Alipay
            });
            return true;
        }
    }
FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs
@@ -17,11 +17,13 @@
    /// </summary>
    public class EnterpriseWalletQueryHandler(
            IRepository<EnterpriseWallet> rep,
            IRepository<Enterprise> repEnterprise,
            AlipayUtils alipayUtils
        ) :
        IRequestHandler<GetEnterpriseWalletQuery, GetEnterpriseWalletQueryResult>
    {
        private readonly IRepository<EnterpriseWallet> rep = rep;
        private readonly IRepository<Enterprise> repEnterprise = repEnterprise;
        private readonly AlipayUtils alipayUtils = alipayUtils;
        /// <summary>
@@ -30,42 +32,82 @@
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        [UnitOfWork(false)]
        public async Task<GetEnterpriseWalletQueryResult> Handle(GetEnterpriseWalletQuery request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            if (request.EnterpriseId == null || logier.Type == EnumUserType.Enterprise)
            {
                request.EnterpriseId = logier.EnterpriseId;
            }
            var enterprise = repEnterprise.AsQueryable().AsNoTracking()
                .Where(it => it.Id == request.EnterpriseId)
                .FirstOrDefault();
            if (enterprise == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业");
            var entity = await rep.AsQueryable()
                .Where(it => it.EnterpriseId == logier.EnterpriseId && it.Access == request.Access)
                .Where(it => it.EnterpriseId == request.EnterpriseId && it.Access == request.Access)
                .FirstOrDefaultAsync();
            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业钱包");
            if (entity.SignStatus == EnumEnterpriseWalletSignStatus.Apply)
            if (entity.Access == EnumEnterpriseWalletAccess.Alipay)
            {
                var response = alipayUtils.UserAgreementQuery(new Aop.Api.Domain.AlipayUserAgreementQueryModel
                if (entity.SignStatus == EnumEnterpriseWalletSignStatus.Apply)
                {
                    PersonalProductCode = entity.PersonalProductCode,
                    SignScene = entity.SignScene,
                    ExternalAgreementNo = entity.Code,
                    ThirdPartyType = entity.ThirdPartyType,
                });
                if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.SubMsg ?? response.Msg);
                entity.AgreementNo = response.AgreementNo;
                entity.SignTime = response.SignTime.ToDateTime();
                entity.ValidTime = response.ValidTime.ToDateTime();
                entity.InvalidTime = response.InvalidTime.ToDateTime();
                entity.SignStatus = response.Status == "TEMP"
                    ? EnumEnterpriseWalletSignStatus.Apply
                    : response.Status == "NORMAL"
                    ? EnumEnterpriseWalletSignStatus.Normal
                    : response.Status == "STOP"
                    ? EnumEnterpriseWalletSignStatus.Stop
                    : throw Oops.Oh(EnumErrorCodeType.s510, "状态异常");
                entity.PricipalType = response.PricipalType;
                entity.AlipayLogonId = response.AlipayLogonId;
                entity.PrincipalId = response.PrincipalId;
                entity.PrincipalOpenId = response.PrincipalOpenId;
                entity.ZmOpenId = response.ZmOpenId;
                entity.CreditAuthMode = response.CreditAuthMode;
                await rep.UpdateAsync(entity);
                    var response = alipayUtils.UserAgreementQuery(new Aop.Api.Domain.AlipayUserAgreementQueryModel
                    {
                        PersonalProductCode = entity.PersonalProductCode,
                        SignScene = entity.SignScene,
                        ExternalAgreementNo = entity.Code,
                        ThirdPartyType = entity.ThirdPartyType,
                    });
                    if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.SubMsg ?? response.Msg);
                    entity.AgreementNo = response.AgreementNo;
                    entity.SignTime = response.SignTime.ToDateTime();
                    entity.ValidTime = response.ValidTime.ToDateTime();
                    entity.InvalidTime = response.InvalidTime.ToDateTime();
                    entity.SignStatus = response.Status == "TEMP"
                        ? EnumEnterpriseWalletSignStatus.Apply
                        : response.Status == "NORMAL"
                        ? EnumEnterpriseWalletSignStatus.Normal
                        : response.Status == "STOP"
                        ? EnumEnterpriseWalletSignStatus.Stop
                        : throw Oops.Oh(EnumErrorCodeType.s510, "状态异常");
                    entity.PricipalType = response.PricipalType;
                    entity.AlipayLogonId = response.AlipayLogonId;
                    entity.PrincipalId = response.PrincipalId;
                    entity.PrincipalOpenId = response.PrincipalOpenId;
                    entity.ZmOpenId = response.ZmOpenId;
                    entity.CreditAuthMode = response.CreditAuthMode;
                    await rep.UpdateNowAsync(entity);
                }
                if (entity.SignStatus == EnumEnterpriseWalletSignStatus.Normal && entity.AccountBookStatus != EnumEnterpriseWalletAccountBookStatus.Normal)
                {
                    var accountBookResponse = alipayUtils.FundAccountbookCreate(new Aop.Api.Domain.AlipayFundAccountbookCreateModel
                    {
                        MerchantUserId = entity.Code,
                        MerchantUserType = "BUSINESS_ORGANIZATION",
                        SceneCode = "SATF_FUND_BOOK",
                        ExtInfo = new
                        {
                            agreement_no = entity.AgreementNo,
                            cert_no = enterprise.SocietyCreditCode
                        }.ToJson()
                    });
                    if (accountBookResponse.IsError) throw Oops.Oh(EnumErrorCodeType.s510, accountBookResponse.SubMsg ?? accountBookResponse.Msg);
                    entity.AccountBookId = accountBookResponse.AccountBookId;
                    entity.BankAccName = accountBookResponse.ExtCardInfo.BankAccName;
                    entity.CardBank = accountBookResponse.ExtCardInfo.CardBank;
                    entity.CardBranch = accountBookResponse.ExtCardInfo.CardBranch;
                    entity.CardDeposit = accountBookResponse.ExtCardInfo.CardDeposit;
                    entity.CardLocation = accountBookResponse.ExtCardInfo.CardLocation;
                    entity.CardNo = accountBookResponse.ExtCardInfo.CardNo;
                    entity.AccountBookStatus = accountBookResponse.ExtCardInfo.Status == "A"
                        ? EnumEnterpriseWalletAccountBookStatus.Normal
                        : EnumEnterpriseWalletAccountBookStatus.Exception;
                    await rep.UpdateNowAsync(entity);
                }
            }
            var model = entity.Adapt<GetEnterpriseWalletQueryResult>();
            return model;
        }
FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
@@ -432,7 +432,7 @@
            灵工查询处理器
            </summary>
        </member>
        <member name="M:FlexJobApi.UserServer.Application.EnterpriseEmployeeQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.EnterpriseEmployee})">
        <member name="M:FlexJobApi.UserServer.Application.EnterpriseEmployeeQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.EnterpriseEmployee},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.ContractTemplate},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.EnterpriseEmployeeContract},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Enterprise},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.User},MediatR.IMediator)">
            <summary>
            灵工查询处理器
            </summary>
@@ -633,12 +633,21 @@
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:FlexJobApi.UserServer.Application.EnterpriseWalletCommandHandler.Handle(FlexJobApi.Core.RechargeEnterpriseWalletCommand,System.Threading.CancellationToken)">
            <summary>
            企业钱包充值
            </summary>
            <param name="request"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="T:FlexJobApi.UserServer.Application.GetAlipayNotifyCommandHandler">
            <summary>
            支付宝通知回传
            </summary>
        </member>
        <member name="M:FlexJobApi.UserServer.Application.GetAlipayNotifyCommandHandler.#ctor(Microsoft.AspNetCore.Http.IHttpContextAccessor)">
        <member name="M:FlexJobApi.UserServer.Application.GetAlipayNotifyCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.EnterpriseWallet},MediatR.IMediator)">
            <summary>
            支付宝通知回传
            </summary>
@@ -682,7 +691,7 @@
            企业钱包查询处理器
            </summary>
        </member>
        <member name="M:FlexJobApi.UserServer.Application.EnterpriseWalletQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.EnterpriseWallet},FlexJobApi.Core.AlipayUtils)">
        <member name="M:FlexJobApi.UserServer.Application.EnterpriseWalletQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.EnterpriseWallet},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Enterprise},FlexJobApi.Core.AlipayUtils)">
            <summary>
            企业钱包查询处理器
            </summary>