package com.ruoyi.payment.api.feignClient; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.payment.api.factory.AppAliPaymentFallbackFactory; import com.ruoyi.payment.api.factory.WxPaymentFallbackFactory; import com.ruoyi.payment.api.model.RefundReq; import com.ruoyi.payment.api.model.RefundResp; import com.ruoyi.payment.api.vo.AliPaymentReq; import com.ruoyi.payment.api.vo.AliPaymentResp; import com.ruoyi.payment.api.vo.AliQueryOrder; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.Map; /** * @author zhibing.pu * @Date 2024/8/24 14:39 */ @FeignClient(contextId = "AppAliPaymentClient", value = ServiceNameConstants.PAYMENT_SERVICE, fallbackFactory = AppAliPaymentFallbackFactory.class) public interface AppAliPaymentClient { /** * 调起支付宝小程序支付 * @param req * @return */ @PostMapping("/aliApp/payment") R> payment(@RequestBody AliPaymentReq req); /** * 查询支付订单 * @param outTradeNo * @return */ @PostMapping("/aliApp/query") R query(@RequestParam("outTradeNo") String outTradeNo); /** * 关闭订单 * @param outTradeNo */ @PostMapping("/aliApp/close") void close(@RequestParam("outTradeNo") String outTradeNo); /** * 后台退款 远程调用 */ @PostMapping("/aliApp/refund") public R refund(@RequestBody RefundReq dto); }