From 7611c0a7ae08c21ff897fbd3950aacde77393751 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Tue, 19 Apr 2022 03:40:48 +0800 Subject: [PATCH] Refund creation policy check --- .../EasyAbp.EShop.Payments.Application.csproj | 2 +- .../EShop/Payments/EShopPaymentsApplicationModule.cs | 2 ++ .../EasyAbp/EShop/Payments/Refunds/RefundAppService.cs | 6 +++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp.EShop.Payments.Application.csproj b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp.EShop.Payments.Application.csproj index c03073f4..0bf76397 100644 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp.EShop.Payments.Application.csproj +++ b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp.EShop.Payments.Application.csproj @@ -11,7 +11,7 @@ - + diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/EShopPaymentsApplicationModule.cs b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/EShopPaymentsApplicationModule.cs index 090a6db8..9f29dd75 100644 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/EShopPaymentsApplicationModule.cs +++ b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/EShopPaymentsApplicationModule.cs @@ -1,4 +1,5 @@ using EasyAbp.EShop.Payments.Payments; +using EasyAbp.EShop.Stores; using Microsoft.AspNetCore.Authorization; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AutoMapper; @@ -10,6 +11,7 @@ namespace EasyAbp.EShop.Payments [DependsOn( typeof(EShopPaymentsDomainModule), typeof(EShopPaymentsApplicationContractsModule), + typeof(EShopStoresApplicationSharedModule), typeof(AbpDddApplicationModule), typeof(AbpAutoMapperModule) )] diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/Refunds/RefundAppService.cs b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/Refunds/RefundAppService.cs index 1614306e..919fa562 100644 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/Refunds/RefundAppService.cs +++ b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/Refunds/RefundAppService.cs @@ -1,15 +1,14 @@ using EasyAbp.EShop.Payments.Authorization; using EasyAbp.EShop.Payments.Payments; using EasyAbp.EShop.Payments.Refunds.Dtos; -using EasyAbp.EShop.Stores.Permissions; using EasyAbp.EShop.Orders.Orders; using EasyAbp.PaymentService.Payments; using EasyAbp.PaymentService.Refunds; using Microsoft.AspNetCore.Authorization; using System; using System.Linq; -using System.Collections.Generic; using System.Threading.Tasks; +using EasyAbp.EShop.Stores.Authorization; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Volo.Abp.Data; @@ -105,7 +104,8 @@ namespace EasyAbp.EShop.Payments.Refunds throw new OrderIsNotInSpecifiedPaymentException(order.Id, payment.Id); } - // Todo: Check if current user is an admin of the store. + await AuthorizationService.CheckMultiStorePolicyAsync(paymentItem.StoreId, + PaymentsPermissions.Refunds.Manage, PaymentsPermissions.Refunds.CrossStore); foreach (var orderLineRefundInfoModel in refundItem.OrderLines) {