123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- package com.webchat.pay.controller;
- import com.webchat.common.bean.APIResponseBean;
- import com.webchat.common.bean.APIResponseBeanUtil;
- import com.webchat.domain.dto.payment.PaymentTransRequestDTO;
- import com.webchat.pay.config.annotation.ValidateAccessPaymentPermission;
- import com.webchat.pay.service.PaymentApiService;
- import com.webchat.rmi.pay.PaymentApiServiceClient;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestHeader;
- import org.springframework.web.bind.annotation.RestController;
- import java.math.BigDecimal;
- @RestController
- public class PaymentApiServiceController implements PaymentApiServiceClient {
- @Autowired
- private PaymentApiService paymentApiService;
- /**
- * 获取所有交易请求鉴权token
- *
- * @param appId
- * @param accessKey
- * @param secretKey
- * @param timestamp
- * @param signature
- * @param logId
- * @return
- */
- @Override
- public APIResponseBean<String> accessToken(@RequestHeader(name = "app-id") Long appId,
- @RequestHeader(name = "access-key") String accessKey,
- @RequestHeader(name = "secret-key") String secretKey,
- @RequestHeader Long timestamp,
- @RequestHeader String signature,
- @RequestHeader(name = "log-id") String logId) {
- String accessToken = paymentApiService.token(appId, accessKey, secretKey, timestamp, signature, logId);
- return APIResponseBeanUtil.success(accessToken);
- }
- /**
- * 获取分布式交易事务id
- *
- * 应用场景:如果上游接入方支付成功后业务异常,需要回滚交易数据
- *
- * @param token
- * @param logId
- * @return
- */
- @ValidateAccessPaymentPermission
- @Override
- public APIResponseBean<String> transId(@RequestHeader(name = "access-token") String accessToken,
- @RequestHeader(name = "log-id") String logId) {
- return null;
- }
- /**
- * 真实交易
- * @param paymentTransRequest
- * @param token
- * @param transId
- * @param logId
- * @return
- */
- @ValidateAccessPaymentPermission
- @Override
- public APIResponseBean<Boolean> doTrans(@RequestBody PaymentTransRequestDTO paymentTransRequest,
- @RequestHeader(name = "access-token") String accessToken,
- @RequestHeader(name = "log-id") String logId,
- @RequestHeader(name = "trans-id") String transId) {
- return null;
- }
- /**
- * 交易回滚
- *
- * @param token
- * @param transId 回滚事务id
- * @param logId
- * @return
- */
- @ValidateAccessPaymentPermission
- @Override
- public APIResponseBean<Boolean> rollback(@RequestHeader(name = "access-token") String accessToken,
- @RequestHeader(name = "log-id") String logId,
- @RequestHeader(name = "trans-id") String transId) {
- return null;
- }
- /**
- * 查询账户余额
- *
- * @param userId
- * @param logId
- * @return
- */
- @ValidateAccessPaymentPermission
- @Override
- public APIResponseBean<BigDecimal> balance(@PathVariable String userId,
- @RequestHeader(name = "access-token") String accessToken,
- @RequestHeader(name = "log-id") String logId) {
- return null;
- }
- }
|