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

微信支付示例完成

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