feat(app-admin): 移动端交易查询接口(网关/退款/回调/通知/资金/统一), 转发 admin Service

This commit is contained in:
DaxPay Dev
2026-07-26 22:53:07 +08:00
parent 5aa238f41e
commit 7f6804acfb
12 changed files with 612 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
package cn.daxpay.open.payment.app.admin.controller.trade;
import cn.daxpay.open.payment.app.admin.service.trade.AppAdminGatewayPayOrderService;
import cn.daxpay.open.payment.trade.order.param.GatewayPayOrderQuery;
import cn.daxpay.open.payment.trade.order.result.GatewayPayOrderResult;
import cn.daxpay.open.payment.unipay.result.trade.pay.NormalPaySyncResult;
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.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
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.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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/// # 网关支付业务单(运营移动端)
@PermCode(menuCode = PermCodes.Trade.GatewayOrder.MENU)
@Validated
@Tag(name = "网关支付业务单(运营移动端)")
@RestController
@RequestMapping("/app-admin/order/gateway-pay")
@RequiredArgsConstructor
public class AppAdminGatewayPayOrderController {
private final AppAdminGatewayPayOrderService gatewayPayOrderService;
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "网关支付业务单分页")
@GetMapping("/page")
public Result<PageResult<GatewayPayOrderResult>> page(PageParam pageParam, GatewayPayOrderQuery query) {
return Res.ok(gatewayPayOrderService.page(pageParam, query));
}
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "根据ID查询详情")
@GetMapping("/get-by-id")
public Result<GatewayPayOrderResult> findById(
@NotNull(message = "{validation.field.id.notNull}") Long id) {
return Res.ok(gatewayPayOrderService.findById(id));
}
@PermCode(code = PermCodes.Action.MANAGE)
@Operation(summary = "同步支付状态")
@PostMapping("/sync")
public Result<NormalPaySyncResult> sync(
@NotNull(message = "{validation.field.id.notNull}") Long id) {
return Res.ok(gatewayPayOrderService.sync(id));
}
@PermCode(code = PermCodes.Action.MANAGE)
@Operation(summary = "关闭订单")
@PostMapping("/close")
public Result<Void> close(
@NotNull(message = "{validation.field.id.notNull}") Long id,
@RequestParam(defaultValue = "false") boolean useCancel) {
gatewayPayOrderService.close(id, useCancel);
return Res.ok();
}
}

View File

@@ -0,0 +1,64 @@
package cn.daxpay.open.payment.app.admin.controller.trade;
import cn.daxpay.open.payment.app.admin.service.trade.AppAdminMchNoticeService;
import cn.daxpay.open.payment.trade.notice.param.MchNoticeRecordQuery;
import cn.daxpay.open.payment.trade.notice.param.MchNoticeTaskQuery;
import cn.daxpay.open.payment.trade.notice.result.MchNoticeRecordResult;
import cn.daxpay.open.payment.trade.notice.result.MchNoticeTaskResult;
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.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
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.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;
/// # 商户出站通知(运营移动端)
@PermCode(menuCode = PermCodes.Trade.Notice.MENU)
@Validated
@Tag(name = "商户出站通知(运营移动端)")
@RestController
@RequestMapping("/app-admin/mch-notice")
@RequiredArgsConstructor
public class AppAdminMchNoticeController {
private final AppAdminMchNoticeService mchNoticeService;
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "通知任务分页")
@GetMapping("/task/page")
public Result<PageResult<MchNoticeTaskResult>> pageTask(PageParam pageParam, MchNoticeTaskQuery query) {
return Res.ok(mchNoticeService.pageTask(pageParam, query));
}
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "通知任务详情")
@GetMapping("/task/get-by-id")
public Result<MchNoticeTaskResult> getTaskById(
@NotNull(message = "{validation.field.id.notNull}") Long id) {
return Res.ok(mchNoticeService.findTaskById(id));
}
@PermCode(code = PermCodes.Action.MANAGE)
@Operation(summary = "手动重发通知")
@PostMapping("/task/resend")
public Result<Void> resend(@NotNull(message = "{validation.field.id.notNull}") Long id) {
mchNoticeService.resend(id);
return Res.ok();
}
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "发送记录分页")
@GetMapping("/record/page")
public Result<PageResult<MchNoticeRecordResult>> pageRecord(PageParam pageParam, MchNoticeRecordQuery query) {
return Res.ok(mchNoticeService.pageRecord(pageParam, query));
}
}

View File

@@ -0,0 +1,69 @@
package cn.daxpay.open.payment.app.admin.controller.trade;
import cn.daxpay.open.payment.app.admin.service.trade.AppAdminNormalPayOrderService;
import cn.daxpay.open.payment.trade.order.param.NormalPayOrderQuery;
import cn.daxpay.open.payment.trade.order.result.NormalPayOrderResult;
import cn.daxpay.open.payment.unipay.result.trade.pay.NormalPaySyncResult;
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.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
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.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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/// # 普通支付业务单(运营移动端)
///
/// 面向运营移动端的业务订单管理。业务编排委托 [AppAdminNormalPayOrderService]。
@PermCode(menuCode = PermCodes.Trade.Order.MENU)
@Validated
@Tag(name = "普通支付业务单(运营移动端)")
@RestController
@RequestMapping("/app-admin/order/normal-pay")
@RequiredArgsConstructor
public class AppAdminNormalPayOrderController {
private final AppAdminNormalPayOrderService normalPayOrderService;
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "普通支付业务单分页")
@GetMapping("/page")
public Result<PageResult<NormalPayOrderResult>> page(PageParam pageParam, NormalPayOrderQuery query) {
return Res.ok(normalPayOrderService.page(pageParam, query));
}
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "根据ID查询普通支付业务单详情")
@GetMapping("/get-by-id")
public Result<NormalPayOrderResult> findById(
@NotNull(message = "{validation.field.id.notNull}") Long id) {
return Res.ok(normalPayOrderService.findById(id));
}
@PermCode(code = PermCodes.Action.MANAGE)
@Operation(summary = "同步支付状态")
@PostMapping("/sync")
public Result<NormalPaySyncResult> sync(
@NotNull(message = "{validation.field.id.notNull}") Long id) {
return Res.ok(normalPayOrderService.sync(id));
}
@PermCode(code = PermCodes.Action.MANAGE)
@Operation(summary = "关闭/撤销订单")
@PostMapping("/close")
public Result<Void> close(
@NotNull(message = "{validation.field.id.notNull}") Long id,
@RequestParam(defaultValue = "false") boolean useCancel) {
normalPayOrderService.close(id, useCancel);
return Res.ok();
}
}

View File

@@ -0,0 +1,46 @@
package cn.daxpay.open.payment.app.admin.controller.trade;
import cn.daxpay.open.payment.app.admin.service.trade.AppAdminPayCallbackRecordService;
import cn.daxpay.open.payment.trade.record.param.PayCallbackRecordQuery;
import cn.daxpay.open.payment.trade.record.result.PayCallbackRecordResult;
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.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
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.NotNull;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/// # 通道入站回调记录(运营移动端)
@PermCode(menuCode = PermCodes.Trade.CallbackRecord.MENU)
@Validated
@Tag(name = "通道入站回调记录(运营移动端)")
@RestController
@RequestMapping("/app-admin/callback-record")
@RequiredArgsConstructor
public class AppAdminPayCallbackRecordController {
private final AppAdminPayCallbackRecordService payCallbackRecordService;
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "回调记录分页")
@GetMapping("/page")
public Result<PageResult<PayCallbackRecordResult>> page(PageParam pageParam, PayCallbackRecordQuery query) {
return Res.ok(payCallbackRecordService.page(pageParam, query));
}
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "回调记录详情")
@GetMapping("/get-by-id")
public Result<PayCallbackRecordResult> findById(
@NotNull(message = "{validation.field.id.notNull}") Long id) {
return Res.ok(payCallbackRecordService.findById(id));
}
}

View File

@@ -0,0 +1,69 @@
package cn.daxpay.open.payment.app.admin.controller.trade;
import cn.daxpay.open.payment.app.admin.service.trade.AppAdminPayTradeService;
import cn.daxpay.open.payment.trade.order.param.PayTradeQuery;
import cn.daxpay.open.payment.trade.order.result.PayTradeResult;
import cn.daxpay.open.payment.unipay.result.trade.pay.NormalPaySyncResult;
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.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
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.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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/// # 资金交易凭证(运营移动端)
///
/// 面向运营移动端的资金交易(凭证)管理。业务编排委托 [AppAdminPayTradeService]。
@PermCode(menuCode = PermCodes.Trade.Fund.MENU)
@Validated
@Tag(name = "资金交易凭证(运营移动端)")
@RestController
@RequestMapping("/app-admin/order/pay-trade")
@RequiredArgsConstructor
public class AppAdminPayTradeController {
private final AppAdminPayTradeService payTradeService;
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "资金交易凭证分页")
@GetMapping("/page")
public Result<PageResult<PayTradeResult>> page(PageParam pageParam, PayTradeQuery query) {
return Res.ok(payTradeService.page(pageParam, query));
}
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "根据ID查询资金交易凭证详情")
@GetMapping("/get-by-id")
public Result<PayTradeResult> findById(
@NotNull(message = "{validation.field.id.notNull}") Long id) {
return Res.ok(payTradeService.findById(id));
}
@PermCode(code = PermCodes.Action.MANAGE)
@Operation(summary = "同步支付状态")
@PostMapping("/sync")
public Result<NormalPaySyncResult> sync(
@NotNull(message = "{validation.field.id.notNull}") Long id) {
return Res.ok(payTradeService.sync(id));
}
@PermCode(code = PermCodes.Action.MANAGE)
@Operation(summary = "关闭/撤销订单")
@PostMapping("/close")
public Result<Void> close(
@NotNull(message = "{validation.field.id.notNull}") Long id,
@RequestParam(defaultValue = "false") boolean useCancel) {
payTradeService.close(id, useCancel);
return Res.ok();
}
}

View File

@@ -0,0 +1,67 @@
package cn.daxpay.open.payment.app.admin.controller.trade;
import cn.daxpay.open.payment.app.admin.service.trade.AppAdminRefundOrderService;
import cn.daxpay.open.payment.trade.order.param.RefundOrderQuery;
import cn.daxpay.open.payment.trade.order.result.RefundOrderResult;
import cn.daxpay.open.payment.trade.runtime.param.RefundParam;
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.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
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.Valid;
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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/// # 退款订单(运营移动端)
///
/// 面向运营移动端的退款订单管理。业务编排委托 [AppAdminRefundOrderService]。
@PermCode(menuCode = PermCodes.Trade.Refund.MENU)
@Validated
@Tag(name = "退款订单(运营移动端)")
@RestController
@RequestMapping("/app-admin/order/refund")
@RequiredArgsConstructor
public class AppAdminRefundOrderController {
private final AppAdminRefundOrderService refundOrderService;
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "退款订单分页")
@GetMapping("/page")
public Result<PageResult<RefundOrderResult>> page(PageParam pageParam, RefundOrderQuery query) {
return Res.ok(refundOrderService.page(pageParam, query));
}
@PermCode(code = PermCodes.Action.VIEW)
@Operation(summary = "根据ID查询退款订单详情")
@GetMapping("/get-by-id")
public Result<RefundOrderResult> findById(
@NotNull(message = "{validation.field.id.notNull}") Long id) {
return Res.ok(refundOrderService.findById(id));
}
@PermCode(code = PermCodes.Action.MANAGE)
@Operation(summary = "发起退款")
@PostMapping("/refund")
public Result<RefundOrderResult> refund(@Valid @RequestBody RefundParam param) {
return Res.ok(refundOrderService.refund(param));
}
@PermCode(code = PermCodes.Action.MANAGE)
@Operation(summary = "同步退款状态")
@PostMapping("/sync")
public Result<RefundOrderResult> sync(
@NotNull(message = "{validation.field.id.notNull}") Long id) {
return Res.ok(refundOrderService.sync(id));
}
}

View File

@@ -0,0 +1,40 @@
package cn.daxpay.open.payment.app.admin.service.trade;
import cn.daxpay.open.payment.admin.service.trade.GatewayPayOrderAdminService;
import cn.daxpay.open.payment.trade.order.param.GatewayPayOrderQuery;
import cn.daxpay.open.payment.trade.order.result.GatewayPayOrderResult;
import cn.daxpay.open.payment.unipay.result.trade.pay.NormalPaySyncResult;
import cn.daxpay.open.platform.core.rest.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/// # 运营移动端-网关支付业务单服务
///
/// 转发至 [GatewayPayOrderAdminService]
@Service
@RequiredArgsConstructor
public class AppAdminGatewayPayOrderService {
private final GatewayPayOrderAdminService gatewayPayOrderAdminService;
/// 分页查询
public PageResult<GatewayPayOrderResult> page(PageParam pageParam, GatewayPayOrderQuery query) {
return gatewayPayOrderAdminService.page(pageParam, query);
}
/// 详情查询
public GatewayPayOrderResult findById(Long id) {
return gatewayPayOrderAdminService.findById(id);
}
/// 同步支付状态
public NormalPaySyncResult sync(Long id) {
return gatewayPayOrderAdminService.sync(id);
}
/// 关闭订单
public void close(Long id, boolean useCancel) {
gatewayPayOrderAdminService.close(id, useCancel);
}
}

View File

@@ -0,0 +1,41 @@
package cn.daxpay.open.payment.app.admin.service.trade;
import cn.daxpay.open.payment.admin.service.trade.MchNoticeAdminService;
import cn.daxpay.open.payment.trade.notice.param.MchNoticeRecordQuery;
import cn.daxpay.open.payment.trade.notice.param.MchNoticeTaskQuery;
import cn.daxpay.open.payment.trade.notice.result.MchNoticeRecordResult;
import cn.daxpay.open.payment.trade.notice.result.MchNoticeTaskResult;
import cn.daxpay.open.platform.core.rest.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/// # 运营移动端-商户出站通知服务
///
/// 转发至 [MchNoticeAdminService]
@Service
@RequiredArgsConstructor
public class AppAdminMchNoticeService {
private final MchNoticeAdminService mchNoticeAdminService;
/// 通知任务分页
public PageResult<MchNoticeTaskResult> pageTask(PageParam pageParam, MchNoticeTaskQuery query) {
return mchNoticeAdminService.pageTask(pageParam, query);
}
/// 通知任务详情
public MchNoticeTaskResult findTaskById(Long id) {
return mchNoticeAdminService.findTaskById(id);
}
/// 手动重发通知
public void resend(Long id) {
mchNoticeAdminService.resend(id);
}
/// 发送记录分页
public PageResult<MchNoticeRecordResult> pageRecord(PageParam pageParam, MchNoticeRecordQuery query) {
return mchNoticeAdminService.pageRecord(pageParam, query);
}
}

View File

@@ -0,0 +1,40 @@
package cn.daxpay.open.payment.app.admin.service.trade;
import cn.daxpay.open.payment.trade.order.param.NormalPayOrderQuery;
import cn.daxpay.open.payment.trade.order.result.NormalPayOrderResult;
import cn.daxpay.open.payment.trade.order.service.NormalPayOrderService;
import cn.daxpay.open.payment.unipay.result.trade.pay.NormalPaySyncResult;
import cn.daxpay.open.platform.core.rest.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/// # 运营移动端-普通支付业务单服务
///
/// 转发至 core [NormalPayOrderService]
@Service
@RequiredArgsConstructor
public class AppAdminNormalPayOrderService {
private final NormalPayOrderService normalPayOrderService;
/// 分页查询
public PageResult<NormalPayOrderResult> page(PageParam pageParam, NormalPayOrderQuery query) {
return normalPayOrderService.page(pageParam, query);
}
/// 详情查询
public NormalPayOrderResult findById(Long id) {
return normalPayOrderService.findById(id);
}
/// 同步支付状态
public NormalPaySyncResult sync(Long id) {
return normalPayOrderService.sync(id);
}
/// 关闭/撤销订单
public void close(Long id, boolean useCancel) {
normalPayOrderService.close(id, useCancel);
}
}

View File

@@ -0,0 +1,29 @@
package cn.daxpay.open.payment.app.admin.service.trade;
import cn.daxpay.open.payment.admin.service.trade.PayCallbackRecordAdminService;
import cn.daxpay.open.payment.trade.record.param.PayCallbackRecordQuery;
import cn.daxpay.open.payment.trade.record.result.PayCallbackRecordResult;
import cn.daxpay.open.platform.core.rest.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/// # 运营移动端-通道入站回调记录服务
///
/// 转发至 [PayCallbackRecordAdminService]
@Service
@RequiredArgsConstructor
public class AppAdminPayCallbackRecordService {
private final PayCallbackRecordAdminService payCallbackRecordAdminService;
/// 回调记录分页
public PageResult<PayCallbackRecordResult> page(PageParam pageParam, PayCallbackRecordQuery query) {
return payCallbackRecordAdminService.page(pageParam, query);
}
/// 回调记录详情
public PayCallbackRecordResult findById(Long id) {
return payCallbackRecordAdminService.findById(id);
}
}

View File

@@ -0,0 +1,40 @@
package cn.daxpay.open.payment.app.admin.service.trade;
import cn.daxpay.open.payment.trade.order.param.PayTradeQuery;
import cn.daxpay.open.payment.trade.order.result.PayTradeResult;
import cn.daxpay.open.payment.trade.order.service.PayTradeService;
import cn.daxpay.open.payment.unipay.result.trade.pay.NormalPaySyncResult;
import cn.daxpay.open.platform.core.rest.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/// # 运营移动端-资金交易凭证服务
///
/// 转发至 core [PayTradeService]
@Service
@RequiredArgsConstructor
public class AppAdminPayTradeService {
private final PayTradeService payTradeService;
/// 分页查询
public PageResult<PayTradeResult> page(PageParam pageParam, PayTradeQuery query) {
return payTradeService.page(pageParam, query);
}
/// 详情查询
public PayTradeResult findById(Long id) {
return payTradeService.findById(id);
}
/// 同步支付状态
public NormalPaySyncResult sync(Long id) {
return payTradeService.sync(id);
}
/// 关闭/撤销订单
public void close(Long id, boolean useCancel) {
payTradeService.close(id, useCancel);
}
}

View File

@@ -0,0 +1,40 @@
package cn.daxpay.open.payment.app.admin.service.trade;
import cn.daxpay.open.payment.trade.order.param.RefundOrderQuery;
import cn.daxpay.open.payment.trade.order.result.RefundOrderResult;
import cn.daxpay.open.payment.trade.order.service.RefundOrderService;
import cn.daxpay.open.payment.trade.runtime.param.RefundParam;
import cn.daxpay.open.platform.core.rest.param.PageParam;
import cn.daxpay.open.platform.core.rest.result.PageResult;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/// # 运营移动端-退款订单服务
///
/// 转发至 core [RefundOrderService]
@Service
@RequiredArgsConstructor
public class AppAdminRefundOrderService {
private final RefundOrderService refundOrderService;
/// 分页查询
public PageResult<RefundOrderResult> page(PageParam pageParam, RefundOrderQuery query) {
return refundOrderService.page(pageParam, query);
}
/// 详情查询
public RefundOrderResult findById(Long id) {
return refundOrderService.findById(id);
}
/// 发起退款
public RefundOrderResult refund(RefundParam param) {
return refundOrderService.refund(param);
}
/// 同步退款状态
public RefundOrderResult sync(Long id) {
return refundOrderService.sync(id);
}
}