From 5aa238f41ebffd8ba77726e4440c819242e2ccf0 Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Sun, 26 Jul 2026 22:49:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(payment-app-admin):=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E6=B8=A0=E9=81=93=E7=AE=A1=E7=90=86=20Contro?= =?UTF-8?q?ller/Service?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 对齐 admin 端 PayProviderController, 新增 /app-admin/payment/pay-provider: - list-by-provider: 按支付渠道分组查询(含支付方式+支持产品) - switch-enabled: 切换支付渠道启停 - get: 查询单条渠道+方式详情 AppAdminPayProviderService 薄转发 admin 包 PayProviderService --- .../AppAdminPayProviderController.java | 59 +++++++++++++++++++ .../provider/AppAdminPayProviderService.java | 34 +++++++++++ 2 files changed, 93 insertions(+) create mode 100644 daxpay-payment/daxpay-payment-app-admin/src/main/java/cn/daxpay/open/payment/app/admin/controller/masterdata/provider/AppAdminPayProviderController.java create mode 100644 daxpay-payment/daxpay-payment-app-admin/src/main/java/cn/daxpay/open/payment/app/admin/service/masterdata/provider/AppAdminPayProviderService.java diff --git a/daxpay-payment/daxpay-payment-app-admin/src/main/java/cn/daxpay/open/payment/app/admin/controller/masterdata/provider/AppAdminPayProviderController.java b/daxpay-payment/daxpay-payment-app-admin/src/main/java/cn/daxpay/open/payment/app/admin/controller/masterdata/provider/AppAdminPayProviderController.java new file mode 100644 index 000000000..1f3e3a7e5 --- /dev/null +++ b/daxpay-payment/daxpay-payment-app-admin/src/main/java/cn/daxpay/open/payment/app/admin/controller/masterdata/provider/AppAdminPayProviderController.java @@ -0,0 +1,59 @@ +package cn.daxpay.open.payment.app.admin.controller.masterdata.provider; + +import cn.daxpay.open.payment.app.admin.service.masterdata.provider.AppAdminPayProviderService; +import cn.daxpay.open.payment.masterdata.result.provider.PayProviderGroupResult; +import cn.daxpay.open.payment.masterdata.result.provider.PayProviderMethodResult; +import cn.daxpay.open.platform.core.annotation.PermCode; +import cn.daxpay.open.platform.core.code.PermCodes; +import cn.daxpay.open.platform.core.rest.Res; +import cn.daxpay.open.platform.core.rest.result.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/// 运营移动端-支付渠道管理 +@PermCode(menuCode = PermCodes.Payment.Platform.Provider.MENU) +@Validated +@Tag(name = "运营移动端-支付渠道管理") +@RestController +@RequestMapping("/app-admin/payment/pay-provider") +@RequiredArgsConstructor +public class AppAdminPayProviderController { + + private final AppAdminPayProviderService payProviderService; + + @PermCode(code = PermCodes.Action.VIEW) + @Operation(summary = "按支付渠道分组查询支付方式列表") + @GetMapping("/list-by-provider") + public Result> listByProvider() { + return Res.ok(payProviderService.listByProvider()); + } + + @PermCode(code = PermCodes.Action.MANAGE) + @Operation(summary = "切换支付渠道启停") + @PostMapping("/switch-enabled") + public Result switchEnabled( + @NotBlank(message = "{validation.field.product.notBlank}") String product, + @NotNull(message = "{validation.field.enabled.notNull}") Boolean enabled) { + payProviderService.switchEnabled(product, enabled); + return Res.ok(); + } + + @PermCode(code = PermCodes.Action.VIEW) + @Operation(summary = "查询单条支付渠道项") + @GetMapping("/get") + public Result get( + @NotBlank(message = "{validation.field.provider.notBlank}") String provider, + @NotBlank(message = "{validation.field.method.notBlank}") String method) { + return Res.ok(payProviderService.get(provider, method)); + } +} diff --git a/daxpay-payment/daxpay-payment-app-admin/src/main/java/cn/daxpay/open/payment/app/admin/service/masterdata/provider/AppAdminPayProviderService.java b/daxpay-payment/daxpay-payment-app-admin/src/main/java/cn/daxpay/open/payment/app/admin/service/masterdata/provider/AppAdminPayProviderService.java new file mode 100644 index 000000000..31fefdd9d --- /dev/null +++ b/daxpay-payment/daxpay-payment-app-admin/src/main/java/cn/daxpay/open/payment/app/admin/service/masterdata/provider/AppAdminPayProviderService.java @@ -0,0 +1,34 @@ +package cn.daxpay.open.payment.app.admin.service.masterdata.provider; + +import cn.daxpay.open.payment.admin.service.masterdata.provider.PayProviderService; +import cn.daxpay.open.payment.masterdata.result.provider.PayProviderGroupResult; +import cn.daxpay.open.payment.masterdata.result.provider.PayProviderMethodResult; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +/// # 运营移动端-支付渠道服务 +/// +/// 转发至 [PayProviderService] +@Service +@RequiredArgsConstructor +public class AppAdminPayProviderService { + + private final PayProviderService payProviderService; + + /// 按支付渠道分组,返回各渠道下的支付方式 + public List listByProvider() { + return payProviderService.listByProvider(); + } + + /// 切换支付渠道启停 + public void switchEnabled(String product, Boolean enabled) { + payProviderService.switchEnabled(product, enabled); + } + + /// 按支付渠道编码与支付方式编码查一条配置详情 + public PayProviderMethodResult get(String providerCode, String methodCode) { + return payProviderService.get(providerCode, methodCode); + } +}