mirror of
https://github.com/CoreUnion/CoreShop.git
synced 2026-10-16 21:08:47 +08:00
【修改】修复后台管理账户余额小于需要支付的订单金额但是支付后显示支付成功的问题
This commit is contained in:
@@ -32,7 +32,7 @@ namespace CoreCms.Net.IRepository
|
||||
T QueryById(object pkValue, bool blUseNoLock = false);
|
||||
|
||||
/// <summary>
|
||||
/// 根据主值查询单条数据
|
||||
/// 根据主值查询单条数据1
|
||||
/// </summary>
|
||||
/// <param name="objId"></param>
|
||||
/// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param>
|
||||
|
||||
@@ -627,7 +627,7 @@ namespace CoreCms.Net.Services
|
||||
var orderServices = container.ServiceProvider.GetService<ICoreCmsOrderServices>();
|
||||
|
||||
var jm = new WebApiCallBack();
|
||||
|
||||
|
||||
var billPaymentInfo = await _dal.QueryByClauseAsync(p =>
|
||||
p.paymentId == paymentId && p.money == money &&
|
||||
p.status != (int)GlobalEnumVars.BillPaymentsStatus.Payed);
|
||||
@@ -643,14 +643,15 @@ namespace CoreCms.Net.Services
|
||||
billPaymentInfo.payedMsg = payedMsg;
|
||||
billPaymentInfo.tradeNo = tradeNo;
|
||||
billPaymentInfo.updateTime = DateTime.Now;
|
||||
|
||||
|
||||
await _dal.UpdateAsync(billPaymentInfo);
|
||||
if (status == (int)GlobalEnumVars.BillPaymentsStatus.Payed)
|
||||
{
|
||||
if (billPaymentInfo.type == (int)GlobalEnumVars.BillPaymentsType.Order)
|
||||
{
|
||||
//如果是订单类型,做支付后处理
|
||||
await orderServices.Pay(billPaymentInfo.sourceId, paymentCode, billPaymentInfo);
|
||||
jm= await orderServices.Pay(billPaymentInfo.sourceId, paymentCode, billPaymentInfo);
|
||||
|
||||
}
|
||||
else if (billPaymentInfo.type == (int)GlobalEnumVars.BillPaymentsType.Recharge)
|
||||
{
|
||||
@@ -674,6 +675,11 @@ namespace CoreCms.Net.Services
|
||||
//::todo 其他业务逻辑
|
||||
}
|
||||
}
|
||||
|
||||
if (jm.status == false)
|
||||
{
|
||||
return jm;
|
||||
}
|
||||
jm.status = true;
|
||||
jm.data = paymentId;
|
||||
jm.msg = "支付成功";
|
||||
@@ -766,7 +772,8 @@ namespace CoreCms.Net.Services
|
||||
/// <returns></returns>
|
||||
public async Task<WebApiCallBack> ToPay(string orderId, int type, string paymentCode)
|
||||
{
|
||||
using (var container = _serviceProvider.CreateScope())
|
||||
using (
|
||||
var container = _serviceProvider.CreateScope())
|
||||
{
|
||||
var orderServices = container.ServiceProvider.GetService<ICoreCmsOrderServices>();
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ namespace CoreCms.Net.Services
|
||||
public class CoreCmsOrderServices : BaseServices<CoreCmsOrder>, ICoreCmsOrderServices
|
||||
{
|
||||
private readonly ICoreCmsOrderRepository _dal;
|
||||
private readonly ICoreCmsUserRepository _Userdal;
|
||||
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
private readonly ICoreCmsShipServices _shipServices;
|
||||
@@ -100,11 +101,11 @@ namespace CoreCms.Net.Services
|
||||
, ICoreCmsPaymentsServices paymentsServices
|
||||
, ICoreCmsBillRefundServices billRefundServices
|
||||
, ICoreCmsBillLadingServices billLadingServices
|
||||
, ICoreCmsBillReshipServices billReshipServices, ICoreCmsMessageCenterServices messageCenterServices, ICoreCmsGoodsCommentServices goodsCommentServices, ISysTaskLogServices taskLogServices, ICoreCmsPromotionRecordServices promotionRecordServices, IRedisOperationRepository redisOperationRepository)
|
||||
, ICoreCmsBillReshipServices billReshipServices, ICoreCmsMessageCenterServices messageCenterServices, ICoreCmsGoodsCommentServices goodsCommentServices, ISysTaskLogServices taskLogServices, ICoreCmsPromotionRecordServices promotionRecordServices, IRedisOperationRepository redisOperationRepository, ICoreCmsUserRepository Userdal)
|
||||
{
|
||||
this._dal = dal;
|
||||
base.BaseDal = dal;
|
||||
|
||||
this._Userdal = Userdal;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
_shipServices = shipServices;
|
||||
_cartServices = cartServices;
|
||||
@@ -1311,6 +1312,18 @@ namespace CoreCms.Net.Services
|
||||
|
||||
//获取订单
|
||||
var order = await _dal.QueryByClauseAsync(p => p.orderId == orderId && p.status == (int)GlobalEnumVars.OrderStatus.Normal);
|
||||
//获取余额
|
||||
var balanceMoney = await _Userdal.QueryByIdAsync(order.userId);
|
||||
|
||||
//若余额小于待付款金额
|
||||
if (order.goodsAmount > balanceMoney.balance)
|
||||
{
|
||||
jm.msg = "余额不足订单支付失败";
|
||||
jm.status = false;
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (order == null)
|
||||
{
|
||||
return jm;
|
||||
@@ -1345,6 +1358,11 @@ namespace CoreCms.Net.Services
|
||||
order.payStatus = (int)GlobalEnumVars.OrderPayStatus.Yes;
|
||||
jm.status = true;
|
||||
jm.msg = "订单支付成功";
|
||||
var newMoney = balanceMoney.balance - order.goodsAmount;
|
||||
//支付成功后
|
||||
//更改余额信息
|
||||
var up = await _Userdal.UpdateAsync(p => new CoreCmsUser() { balance = newMoney }, p => p.id == order.userId);
|
||||
|
||||
|
||||
//发票存储
|
||||
if (order.taxType != (int)GlobalEnumVars.OrderTaxType.No)
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user