From 6a4fbf989fcdde0e4e379aba6d224737da3474eb Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期二, 02 九月 2025 15:41:19 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs |   37 +++++++++++++++++++++++++++++++------
 1 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs
index d1d7d4c..5fb092c 100644
--- a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs
@@ -1,7 +1,12 @@
-锘縰sing FlexJobApi.Core;
+锘縰sing Azure;
+using FlexJobApi.Core;
 using Furion;
+using Furion.DatabaseAccessor;
+using Furion.FriendlyException;
 using MediatR;
 using Microsoft.AspNetCore.Http;
+using Microsoft.EntityFrameworkCore;
+using Org.BouncyCastle.Ocsp;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -14,12 +19,12 @@
     /// 鏀粯瀹濋�氱煡鍥炰紶
     /// </summary>
     public class GetAlipayNotifyCommandHandler(
-            IHttpContextAccessor httpContextAccessor
+            IRepository<EnterpriseWallet> rep
         ) :
         IRequestHandler<GetAlipayNotifyCommand, bool>,
         IRequestHandler<AlipayUserAgreementPageSignNotifyCommand, bool>
     {
-        private readonly IHttpContextAccessor httpContextAccessor = httpContextAccessor;
+        private readonly IRepository<EnterpriseWallet> rep = rep;
 
         /// <summary>
         /// 鏀粯瀹濋�氱煡鍥炰紶
@@ -38,10 +43,30 @@
         /// <param name="request"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public Task<bool> Handle(AlipayUserAgreementPageSignNotifyCommand request, CancellationToken cancellationToken)
+        public async Task<bool> Handle(AlipayUserAgreementPageSignNotifyCommand request, CancellationToken cancellationToken)
         {
-            Console.WriteLine(httpContextAccessor.HttpContext.Request.QueryString);
-            return Task.FromResult(true);
+            var entity = await rep.AsQueryable()
+                .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);
+            return true;
         }
     }
 }

--
Gitblit v1.9.1