From 72e71a7a31b14f30f38a2a3acecb7311049c608a Mon Sep 17 00:00:00 2001 From: 移动系统liao <liaoxujun@qq.com> Date: 星期二, 24 九月 2024 14:55:25 +0800 Subject: [PATCH] 完成微信转账到零钱所有逻辑 --- cylsg/EzInitQ/PayServiceMessageQ.cs | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 111 insertions(+), 8 deletions(-) diff --git a/cylsg/EzInitQ/PayServiceMessageQ.cs b/cylsg/EzInitQ/PayServiceMessageQ.cs index a4224b7..1b98ba1 100644 --- a/cylsg/EzInitQ/PayServiceMessageQ.cs +++ b/cylsg/EzInitQ/PayServiceMessageQ.cs @@ -8,6 +8,7 @@ using Furion; using Furion.DatabaseAccessor; using Furion.FriendlyException; +using Furion.Logging; using InitQ.Abstractions; using InitQ.Attributes; using Mapster; @@ -29,14 +30,7 @@ { private IEzCoreNetRedisService _ezCoreNetRedisService; private IWecharPayServicecs _wecharPayServicecs; - private IMapper _mapper; - //public PayServiceMessageQ(IEzCoreNetRedisService ezCoreNetRedisService,IWecharPayServicecs wecharPayServicecs,IMapper mapper) { - - // _ezCoreNetRedisService = ezCoreNetRedisService; - // _wecharPayServicecs = wecharPayServicecs; - // _mapper = mapper; - - //} + private IMapper _mapper; /// <summary> /// 寰俊杞处闃熷垪澶勭悊 @@ -191,5 +185,114 @@ } + + [Subscribe(InitQMessages.WxTransfer)] + public async void WxTransfer(string msg) + { + _ezCoreNetRedisService = App.GetService<IEzCoreNetRedisService>(); + _wecharPayServicecs = App.GetService<IWecharPayServicecs>(); + _mapper = App.GetService<IMapper>(); + + + var WeChatTransferOrderwork = new BaseRepository<WeChatTransferOrder>(); + var TransferOrder = await WeChatTransferOrderwork.AsQueryable().Includes(x => x.TransferDetailList).Where(x=>x.Id==msg.toInt()).FirstAsync(); + if(TransferOrder == null) + { + Log.Error($"WxTransfer寰俊鏀粯澶勭悊 澶辫触锛屽師鍥犳槸娌℃湁鎵惧埌TransferOrder 锛屼紶閫扞d涓簕msg}"); + + return; + } + if(!string.IsNullOrEmpty(TransferOrder.BatchStatus)) + { + + return; + } + + // 鍙戣捣鏀粯 + var requit = _mapper.Map<CreateTransferBatchRequest>(TransferOrder); + requit.AppId = App.Configuration["WechatAPP:AppId"]; + requit.BatchName = "灏忛晣涓存椂宸ュ伐璧勮浆璐�"; + requit.BatchRemark = "宸濆嵃涓存椂宸ュ伐璧勶紝鎿嶈繃200鐨勫绗旀敮浠�"; + + var ret = await _wecharPayServicecs.Transfer(requit); + if (ret.IsSuccessful()) + { + var retdata = await WeChatTransferOrderwork.GetByIdAsync(TransferOrder.Id); + retdata.BatchId = ret.BatchId; + retdata.BatchStatus = ret.BatchStatus; + retdata.UpDataBy = "寰俊浠樻璇锋眰涔嬪悗"; + retdata.UpDataTime = DateTime.Now; + await WeChatTransferOrderwork.UpdateAsync(retdata); + } + else + { + var retdata = await WeChatTransferOrderwork.GetByIdAsync(TransferOrder.Id); + retdata.ErrorCode = ret.ErrorCode; + retdata.ErrorMsg = ret.ErrorMessage; + retdata.BatchStatus = ret.BatchStatus; + retdata.UpDataBy = "寰俊浠樻璇锋眰涔嬪悗"; + retdata.UpDataTime = DateTime.Now; + await WeChatTransferOrderwork.UpdateAsync(retdata); + Log.Error($"WxTransfer寰俊鏀粯澶勭悊 澶辫触锛屼紶閫扞d涓簕msg} 閿欒鍘熷洜:{retdata.ErrorMsg}"); + return; + } + + + } + + + [Subscribe(InitQMessages.WxTransferAg)] + public async void WxTransferAg(string msg) + { + _ezCoreNetRedisService = App.GetService<IEzCoreNetRedisService>(); + _wecharPayServicecs = App.GetService<IWecharPayServicecs>(); + _mapper = App.GetService<IMapper>(); + + + var WeChatTransferOrderwork = new BaseRepository<WeChatTransferOrder>(); + var TransferOrder = await WeChatTransferOrderwork.AsQueryable().Includes(x => x.TransferDetailList).Where(x => x.Id == msg.toInt()).FirstAsync(); + if (TransferOrder == null) + { + Log.Error($" 鍐嶆璋冪敤WxTransfer寰俊鏀粯澶勭悊 澶辫触锛屽師鍥犳槸娌℃湁鎵惧埌TransferOrder 锛屼紶閫扞d涓簕msg}"); + + return; + } + if (!string.IsNullOrEmpty(TransferOrder.BatchStatus)) + { + + return; + } + + // 鍙戣捣鏀粯 + var requit = _mapper.Map<CreateTransferBatchRequest>(TransferOrder); + requit.AppId = App.Configuration["WechatAPP:AppId"]; + requit.BatchName = "灏忛晣涓存椂宸ュ伐璧勮浆璐�"; + requit.BatchRemark = "宸濆嵃涓存椂宸ュ伐璧勶紝鎿嶈繃200鐨勫绗旀敮浠�"; + + var ret = await _wecharPayServicecs.Transfer(requit); + if (ret.IsSuccessful()) + { + var retdata = await WeChatTransferOrderwork.GetByIdAsync(TransferOrder.Id); + retdata.BatchId = ret.BatchId; + retdata.BatchStatus = ret.BatchStatus; + retdata.UpDataBy = "鍐嶆寰俊浠樻璇锋眰"; + retdata.UpDataTime = DateTime.Now; + await WeChatTransferOrderwork.UpdateAsync(retdata); + } + else + { + var retdata = await WeChatTransferOrderwork.GetByIdAsync(TransferOrder.Id); + retdata.ErrorCode = ret.ErrorCode; + retdata.ErrorMsg = ret.ErrorMessage; + retdata.BatchStatus = ret.BatchStatus; + retdata.UpDataBy = "鍐嶅井淇′粯娆捐姹�"; + retdata.UpDataTime = DateTime.Now; + await WeChatTransferOrderwork.UpdateAsync(retdata); + Log.Error($"WxTransfer寰俊鏀粯澶勭悊 澶辫触锛屼紶閫扞d涓簕msg} 閿欒鍘熷洜:{retdata.ErrorMsg}"); + return; + } + + + } } } -- Gitblit v1.9.1