Commit 7330a8f9 by 程裕兵

feat: ali wx pay

parent 9cca99a3
package com.jiejing.fitness.finance.api.pay;
import com.jiejing.common.model.JsonResult;
import com.jiejing.paycenter.api.pay.request.PayRequest;
import com.jiejing.paycenter.api.pay.request.SyncPayRequest;
import com.jiejing.paycenter.common.model.vo.PayVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* @author chengyubing
* @since 2024/4/11 10:07
*/
@FeignClient(name = "FINANCE", url = "${rpc.url.fit-finance:http://app-fit-finance:7008}", fallbackFactory = FitPayApiFallback.class)
public interface FitPayApi {
String TAG = "乐动支付-支付管理";
@ApiOperation(value = "支付", tags = {TAG})
@PostMapping(value = "/private/pay/pay")
JsonResult<PayVO> pay(PayRequest request);
@ApiOperation(value = "同步支付状态", tags = {TAG})
@PostMapping(value = "/private/pay/get")
JsonResult<PayVO> get(SyncPayRequest request);
}
package com.jiejing.fitness.finance.api.pay;
import com.jiejing.common.model.JsonResult;
import com.jiejing.paycenter.api.pay.request.PayRequest;
import com.jiejing.paycenter.api.pay.request.SyncPayRequest;
import com.jiejing.paycenter.common.model.vo.PayVO;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* @author chengyubing
* @since 2024/4/11 10:07
*/
@Component
public class FitPayApiFallback implements FallbackFactory<FitPayApi> {
@Override
public FitPayApi create(Throwable throwable) {
return new FitPayApi() {
@Override
public JsonResult<PayVO> pay(PayRequest request) {
return JsonResult.rpcError();
}
@Override
public JsonResult<PayVO> get(SyncPayRequest request) {
return JsonResult.rpcError();
}
};
}
}
package com.jiejing.fitness.finance.app.controller.pay;
import com.jiejing.common.model.JsonResult;
import com.jiejing.fitness.finance.api.pay.FitPayApi;
import com.jiejing.paycenter.api.pay.PayApi;
import com.jiejing.paycenter.api.pay.request.PayRequest;
import com.jiejing.paycenter.api.pay.request.SyncPayRequest;
import com.jiejing.paycenter.common.model.vo.PayVO;
import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource;
import javax.validation.Valid;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
/**
* @author chengyubing
* @since 2024/4/11 10:10
*/
@RestController
public class FitPayController implements FitPayApi {
@Resource
private PayApi payApi;
@ApiOperation(value = "支付", tags = {TAG})
@PostMapping(value = "/private/pay/pay")
public JsonResult<PayVO> pay(@RequestBody @Valid PayRequest request) {
return payApi.pay(request);
}
@ApiOperation(value = "同步支付状态", tags = {TAG})
@PostMapping(value = "/private/pay/get")
public JsonResult<PayVO> get(@RequestBody @Valid SyncPayRequest request) {
return payApi.syncPay(request);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment