Commit 82f0a880 authored by 刘李鹏's avatar 刘李鹏

微信支付示例完成

parent 3972936f
package cn.quant.baa.pay.acquirer;
import cn.quant.baa.pay.jpa.entity.PayHistoryEntity;
import cn.quant.baa.pay.model.web.PayRequestData;
import com.fasterxml.jackson.databind.JsonNode;
/**
* Created by Administrator on 2021/9/1 0001.
*/
public interface Acquirer {
Object code();
void pay();
JsonNode pay(PayRequestData payRequestData, PayHistoryEntity payHistoryEntity);
void refund();
void check();
void close();
}
package cn.quant.baa.pay.acquirer;
import cn.quant.baa.pay.jpa.entity.PayHistoryEntity;
import cn.quant.baa.pay.model.web.PayRequestData;
import cn.quant.spring.NotSupportedException;
import cn.quant.spring.security.Base64Cipher;
import cn.quant.spring.security.CharacterCipher;
import cn.quant.spring.util.RandomSequencer;
import com.fasterxml.jackson.databind.JsonNode;
import javax.crypto.Cipher;
import javax.crypto.spec.GCMParameterSpec;
......@@ -62,8 +65,8 @@ public class MerchantAcquirer implements Acquirer {
}
@Override
public void pay() {
throw new NotSupportedException();
public JsonNode pay(PayRequestData payRequestData, PayHistoryEntity payHistoryEntity) {
return acquirers.get(payRequestData.getChanId()).pay(payRequestData, payHistoryEntity);
}
@Override
......@@ -75,4 +78,9 @@ public class MerchantAcquirer implements Acquirer {
public void check() {
throw new NotSupportedException();
}
@Override
public void close() {
}
}
......@@ -14,4 +14,6 @@ import org.springframework.stereotype.Repository;
@Repository
public interface PayHistoryRepository extends JpaRepository<PayHistoryEntity, PayHistoryIds> {
// @Query("")
// int counAAAt(PayHistoryIds ids);
}
......@@ -9,6 +9,7 @@ import cn.quant.baa.pay.util.AssertUtils;
import cn.quant.baa.pay.model.web.GoodsDetail;
import cn.quant.baa.pay.acquirer.AcquirerProperties;
import cn.quant.baa.pay.model.web.PayRequestData;
import com.fasterxml.jackson.databind.JsonNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -105,15 +106,12 @@ public class TransactionService extends BusinessService {
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public void pay(PayRequestData data) {
public JsonNode pay(PayRequestData data) {
TransactionSession session = payHistory(data);
session.getProperty(PayHistoryEntity.class, PayHistoryEntity.class);
PayHistoryEntity payHistoryEntity = session.getProperty(PayHistoryEntity.class, PayHistoryEntity.class);
System.currentTimeMillis();
// acquirer.pay(history, data);
return acquirer.pay(data, payHistoryEntity);
}
}
......@@ -5,6 +5,7 @@ import cn.quant.baa.pay.jpa.entity.PayHistoryEntity;
import cn.quant.baa.pay.model.BusinessRequest;
import cn.quant.baa.pay.model.web.PayRequestData;
import cn.quant.baa.pay.service.TransactionService;
import com.fasterxml.jackson.databind.JsonNode;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -22,11 +23,12 @@ public class TransactionController extends BusinessController {
@ResponseBody
@BusinessMapping(session = 1)
@PostMapping("/pay")
public void pay(@RequestBody BusinessRequest<PayRequestData> request) {
public JsonNode pay(@RequestBody BusinessRequest<PayRequestData> request) {
PayRequestData data = request.getData();
transactionService.pay(data);
JsonNode res = transactionService.pay(data);
System.currentTimeMillis();
return res;
}
}
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