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 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 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 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 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 balance(@PathVariable String userId, @RequestHeader(name = "access-token") String accessToken, @RequestHeader(name = "log-id") String logId) { return null; } }