Browse Source

12月8日firstdata接口

sunjiabei/feature-20251202094523-银行接口同步
sunjiabei 1 month ago
parent
commit
8e08bf050f
  1. 1
      src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java
  2. 29
      src/main/java/com/example/demo/serviceImpl/cash/BankServiceImpl.java
  3. 3
      src/main/resources/cashMapper/CashCollectionMapper.xml

1
src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java

@ -76,4 +76,5 @@ public interface CashCollectionMapper {
void updateByGoldCoinOrderCodeByPayment(PaymentDTO paymentDTO); void updateByGoldCoinOrderCodeByPayment(PaymentDTO paymentDTO);
void updateByGoldCoinOrderCodeByStripe(StripeDTO stripeDTO); void updateByGoldCoinOrderCodeByStripe(StripeDTO stripeDTO);
void updateByGoldCoinOrderCodeByFirstdata(FirstdataDTO firstdataDTO); void updateByGoldCoinOrderCodeByFirstdata(FirstdataDTO firstdataDTO);
List<String> selectFirstdataList();
} }

29
src/main/java/com/example/demo/serviceImpl/cash/BankServiceImpl.java

@ -271,7 +271,7 @@ public class BankServiceImpl implements BankService {
try { try {
// 设置Stripe API密钥 // 设置Stripe API密钥
Stripe.apiKey = "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"; Stripe.apiKey = "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";
if(bankDTO.getSum() <= 0){
if (bankDTO.getSum() <= 0) {
return Result.error("最大条数不能小于等于0"); return Result.error("最大条数不能小于等于0");
} }
// 收集处理信息 // 收集处理信息
@ -401,7 +401,7 @@ public class BankServiceImpl implements BankService {
// 方式一通过订单号查找最近数据 // 方式一通过订单号查找最近数据
String orderNo = bankDTO.getOrderNo(); String orderNo = bankDTO.getOrderNo();
if(bankDTO.getSum() <= 0){
if (bankDTO.getSum() <= 0) {
return Result.error("最大条数不能小于等于0"); return Result.error("最大条数不能小于等于0");
} }
@ -516,12 +516,30 @@ public class BankServiceImpl implements BankService {
} }
} }
//firstdata银行接口(批量) //firstdata银行接口(批量)
@Override @Override
public Result firstdataAuto(BankDTO bankDTO) { public Result firstdataAuto(BankDTO bankDTO) {
return null;
// 获取需要处理的订单号列表
List<String> orderNoList = cashCollectionMapper.selectFirstdataList();
// 存储处理结果的列表
List<Result> results = new ArrayList<>();
// 对每个订单执行getFirstdata方法
for (String orderNo : orderNoList) {
// 创建一个新的BankDTO实例设置订单号
BankDTO dto = new BankDTO();
dto.setOrderNo(orderNo);
// 调用getFirstdata方法处理单个订单
Result result = getFirstdata(dto);
results.add(result);
} }
// 返回处理结果列表
return Result.success(results);
}
//firstdata银行接口(单个) //firstdata银行接口(单个)
@Override @Override
public Result getFirstdata(BankDTO bankDTO) { public Result getFirstdata(BankDTO bankDTO) {
@ -585,7 +603,7 @@ public class BankServiceImpl implements BankService {
firstdataDTO.setTotal(total); firstdataDTO.setTotal(total);
// 根据要求设置amount为永久金币×100 // 根据要求设置amount为永久金币×100
Integer amount = cashCollection.getPermanentGold() ;
Integer amount = cashCollection.getPermanentGold();
firstdataDTO.setAmount(amount); firstdataDTO.setAmount(amount);
// 根据国家计算fee // 根据国家计算fee
@ -655,6 +673,7 @@ public class BankServiceImpl implements BankService {
/** /**
* 生成PaymentAsia API所需的签名 * 生成PaymentAsia API所需的签名
*
* @return 签名字符串 * @return 签名字符串
*/ */
public FirstdataRequestDTO generatePaymentAsiaSignature() { public FirstdataRequestDTO generatePaymentAsiaSignature() {

3
src/main/resources/cashMapper/CashCollectionMapper.xml

@ -308,6 +308,9 @@
<select id="selectByBankCode" resultType="com.example.demo.domain.vo.cash.CashCollection"> <select id="selectByBankCode" resultType="com.example.demo.domain.vo.cash.CashCollection">
select * from cash_record_collection where bank_code=#{bankCode} select * from cash_record_collection where bank_code=#{bankCode}
</select> </select>
<select id="selectFirstdataList" resultType="java.lang.String">
select bank_code from cash_record_collection where bank_code is not null and payload='FirstData' and order_no_status=1
</select>
<!--根据OrderCode订单号更新收款订单--> <!--根据OrderCode订单号更新收款订单-->
<update id="updateByGoldCoinOrderCodeByPayment"> <update id="updateByGoldCoinOrderCodeByPayment">
update cash_record_collection update cash_record_collection

Loading…
Cancel
Save