From a9d18fe810001b735d68f352a28abf48d6c04bf3 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 17 Oct 2025 17:21:38 +0800
Subject: [PATCH] U盾充值
---
trading-order-service/src/main/java/com/yami/trading/service/impl/CapitaltWalletServiceImpl.java | 10 +++++++++-
trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java | 2 ++
trading-order-admin/src/main/java/com/yami/trading/api/UD/UdunClient.java | 11 +++++++++--
trading-order-service/src/main/java/com/yami/trading/service/impl/RechargeBlockchainOrderServiceImpl.java | 8 +++++---
trading-order-admin/src/main/resources/config/system.properties | 2 ++
trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java | 13 ++++++++-----
trading-order-common/src/main/java/com/yami/trading/common/constants/RedisKeys.java | 5 +++++
7 files changed, 40 insertions(+), 11 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/UD/UdunClient.java b/trading-order-admin/src/main/java/com/yami/trading/api/UD/UdunClient.java
index e07ff6e..a77df60 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/UD/UdunClient.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/UD/UdunClient.java
@@ -4,6 +4,7 @@
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpStatus;
import cn.hutool.json.JSONUtil;
+import com.yami.trading.common.constants.Constants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@@ -35,12 +36,12 @@
/**
* Callback 充值
*/
- private final String defaultCallBackUrl = "https://syjysapi.yanshiz.com/api/channelBlockchain!rechargeCallback.action";
+ private final String defaultCallBackUrl = Constants.API_HTTP + "api/channelBlockchain!rechargeCallback.action";
/**
* Callback 提币
*/
- private final String withdrawCallBackUrl = "https://syjysapi.yanshiz.com/api/withdraw/withdrawCallback.action";
+ private final String withdrawCallBackUrl = Constants.API_HTTP + "api/withdraw/withdrawCallback.action";
@@ -132,6 +133,12 @@
return JSONUtil.toList(JSONUtil.parseArray(result.getData()), Coin.class);
}
+ public static void main(String[] args) {
+ UdunClient udunClient = new UdunClient();
+ List<Coin> list =udunClient.listSupportCoin(false);
+ System.out.println(list);
+ }
+
public boolean checkSign(String timestamp, String nonce, String body, String sign) {
String checkSign = UdunUtils.sign(merchantKey, timestamp, nonce, body);
return checkSign.equals(sign);
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java
index cf9391b..ea19b96 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yami.trading.bean.vo.RechargeAddressVo;
+import com.yami.trading.common.constants.RedisKeys;
import com.yami.trading.security.common.enums.CryptoCurrencyEnum;
import com.yami.trading.security.common.util.LocalKeyStorageAESUtil;
import com.yami.trading.api.UD.*;
@@ -213,13 +214,13 @@
ChannelBlockchain rechargeAddressVo = new ChannelBlockchain();
//创建地址
Address address;
- String ress = (String)redisTemplate.opsForValue().get(partyId + coinName);
+ String ress = (String)redisTemplate.opsForValue().get(RedisKeys.BLOCKCHAIN_ADDRESS + partyId + coinName);
if(StringUtils.isNotEmpty(ress)){
rechargeAddressVo.setAddress(ress);
}else{
address = udunClient.createAddress(c.getMainCoinType());
rechargeAddressVo.setAddress(address.getAddress());
- redisTemplate.opsForValue().set(partyId + coinName, address.getAddress());
+ redisTemplate.opsForValue().set(RedisKeys.BLOCKCHAIN_ADDRESS + partyId + coinName, address.getAddress());
}
//rechargeAddressVo.setAddress("test" + coinName);
rechargeAddressVo.setCoin(currencyEnum.getCoin());
@@ -270,11 +271,13 @@
return resultMsg;
}
Integer status = Integer.valueOf(map.get("status").toString());
- SysUser user = sysUserService.getSysUserById( Long.getLong(blockchainOrder.getPartyId()));
+ User user = userService.getById(blockchainOrder.getPartyId());
+
+ log.info("===rechargeCallback==d=blockchainOrder:{}", blockchainOrder);
if (status == 3) { //交易成功
- rechargeBlockchainOrderService.manualReceipt(1,blockchainOrder.getPartyId(), BigDecimal.valueOf(success_amount),user.getUsername());
+ rechargeBlockchainOrderService.manualReceipt(1,blockchainOrder.getOrderNo(), BigDecimal.valueOf(success_amount),user.getUserName());
} else if(status == 2) { //驳回
- rechargeBlockchainOrderService.refusalApply(blockchainOrder.getUuid(), "订单失败:" + status, user.getUsername());
+ rechargeBlockchainOrderService.refusalApply(blockchainOrder.getUuid(), "订单失败:" + status, user.getUserName());
}
resultMsg.setCode(200);
diff --git a/trading-order-admin/src/main/resources/config/system.properties b/trading-order-admin/src/main/resources/config/system.properties
index 2281568..c91c070 100644
--- a/trading-order-admin/src/main/resources/config/system.properties
+++ b/trading-order-admin/src/main/resources/config/system.properties
@@ -4,6 +4,8 @@
web_url=http://127.0.0.1:8080/wap/
images_http=https://sysimg.yanshiz.com/
+api_http=https://api.metaequityex.com/
+
loca.images.dir=/www/wwwroot/img
email.host=smtp.gmail.com
email.username=coinzne.com@gmail.com
diff --git a/trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java b/trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java
index c5fab7b..bbc890a 100644
--- a/trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java
+++ b/trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java
@@ -15,6 +15,8 @@
public static final String IMAGES_HTTP = PropertiesUtil.getProperty("images_http");
+ public static final String API_HTTP = PropertiesUtil.getProperty("api_http");
+
/**
* c2c卖币
*/
diff --git a/trading-order-common/src/main/java/com/yami/trading/common/constants/RedisKeys.java b/trading-order-common/src/main/java/com/yami/trading/common/constants/RedisKeys.java
index d050cb8..30d3f13 100644
--- a/trading-order-common/src/main/java/com/yami/trading/common/constants/RedisKeys.java
+++ b/trading-order-common/src/main/java/com/yami/trading/common/constants/RedisKeys.java
@@ -50,6 +50,11 @@
public final static String WITHDRAW_ORDERNO = "WITHDRAW_ORDERNO_";
/**
+ * 充值地址缓存
+ */
+ public final static String BLOCKCHAIN_ADDRESS = "BLOCKCHAIN_ADDRESS";
+
+ /**
* 钱包 partyid 做key
*/
public final static String WALLET_PARTY_ID = "WALLET_PARTY_ID_";
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/CapitaltWalletServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/CapitaltWalletServiceImpl.java
index 513522b..fdccbd0 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/CapitaltWalletServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/CapitaltWalletServiceImpl.java
@@ -39,8 +39,16 @@
@Override
public CapitaltWallet getUserIdWallet(String userId) {
- return getOne(new LambdaQueryWrapper<>(CapitaltWallet.class)
+ CapitaltWallet capitaltWallet = getOne(new LambdaQueryWrapper<>(CapitaltWallet.class)
.eq(CapitaltWallet::getUserId,userId).last(" limit 1"));
+ if (capitaltWallet != null) {
+ return capitaltWallet;
+ } else {
+ capitaltWallet = new CapitaltWallet();
+ capitaltWallet.setUserId(userId);
+ save(capitaltWallet);
+ return capitaltWallet;
+ }
}
/**
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/RechargeBlockchainOrderServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/RechargeBlockchainOrderServiceImpl.java
index ee52404..91540ff 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/RechargeBlockchainOrderServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/RechargeBlockchainOrderServiceImpl.java
@@ -89,7 +89,10 @@
// Date now = new Date();
RechargeBlockchainOrder recharge = getById(id);
if (recharge == null) {
- throw new YamiShopBindException("参数错误!");
+ recharge = findByOrderNo(id);
+ if (recharge == null) {
+ throw new YamiShopBindException("参数错误!");
+ }
}
User party = userService.getById(recharge.getPartyId());
if (party == null) {
@@ -135,8 +138,7 @@
//
// walletService.update(wallet.getUserId(), amount1);
- CapitaltWallet capitaltWallet = capitaltWalletService.getOne(new LambdaQueryWrapper<>(CapitaltWallet.class)
- .eq(CapitaltWallet::getUserId, recharge.getPartyId()).last(" limit 1 "));
+ CapitaltWallet capitaltWallet = capitaltWalletService.getUserIdWallet(recharge.getPartyId());
double amount_before = capitaltWallet.getMoney().doubleValue();
capitaltWalletService.update(capitaltWallet,amount1);
--
Gitblit v1.9.3