sunpengfei
9 天以前 a9b167cb33e5c40a41ba09c551702806ab64c230
feat:开发
1个文件已添加
5个文件已修改
156 ■■■■■ 已修改文件
FlexJobApi.Core/FlexJobApi.Core.xml 76 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetPersonalUserElectronSignQuery.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayTransferCommand.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/FlexJobApi.Core.xml
@@ -9692,74 +9692,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">
@@ -12597,6 +12537,12 @@
            </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/Utils/AlipayUtils/AlipayUtils.cs
@@ -102,6 +102,20 @@
        }
        /// <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 +162,6 @@
            logger.LogInformation($"结果:{response.ToJson()}");
            return response;
        }
        /// <summary>
        /// 资金二级商户KYB代进件单取消接口
FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs
@@ -23,7 +23,8 @@
            AlipayUtils alipayUtils
        ) :
        IRequestHandler<OpenEnterpriseWalletCommand, OpenEnterpriseWalletCommandResult>,
        IRequestHandler<CloseEnterpriseWalletCommand, Guid>
        IRequestHandler<CloseEnterpriseWalletCommand, Guid>,
        IRequestHandler<AlipayTransferCommand, Guid>
    {
        private readonly IRepository<EnterpriseWallet> rep = rep;
        private readonly IRepository<Enterprise> repEnterprise = repEnterprise;
@@ -108,6 +109,43 @@
            return entity.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/FlexJobApi.UserServer.Application.xml
@@ -638,7 +638,7 @@
            支付宝通知回传
            </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})">
            <summary>
            支付宝通知回传
            </summary>