From 3d8c9b6f4455b4efd34812c8e66073bebfacfce7 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 05 Jun 2026 11:20:23 +0800
Subject: [PATCH] 1
---
trading-order-service/src/main/java/com/yami/trading/service/impl/ChannelBlockchainServiceImpl.java | 31 ++++++++++++++++++++++++++++++-
1 files changed, 30 insertions(+), 1 deletions(-)
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/ChannelBlockchainServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/ChannelBlockchainServiceImpl.java
index 60a193e..e030f7c 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/ChannelBlockchainServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/ChannelBlockchainServiceImpl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yami.trading.bean.model.ChannelBlockchain;
import com.yami.trading.dao.user.ChannelBlockchainMapper;
+import com.yami.trading.common.exception.YamiShopBindException;
import com.yami.trading.service.ChannelBlockchainService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@@ -34,6 +35,34 @@
@Override
public List<ChannelBlockchain> findByCoin(String coin) {
- return list(Wrappers.<ChannelBlockchain>query().lambda().eq(ChannelBlockchain::getCoin,coin));
+ return list(Wrappers.<ChannelBlockchain>query().lambda().eq(ChannelBlockchain::getCoin, coin));
+ }
+
+ @Override
+ public ChannelBlockchain saveOrUpdateByCoinAndChain(String coin, String blockchainName, String address) {
+ if (StringUtils.isBlank(coin) || StringUtils.isBlank(blockchainName)) {
+ throw new YamiShopBindException("币种和链名称不能为空");
+ }
+ if (StringUtils.isBlank(address)) {
+ throw new YamiShopBindException("充值地址不能为空");
+ }
+ String normalizedCoin = coin.trim().toLowerCase();
+ String normalizedChain = blockchainName.trim();
+ ChannelBlockchain existing = getOne(Wrappers.<ChannelBlockchain>lambdaQuery()
+ .eq(ChannelBlockchain::getCoin, normalizedCoin)
+ .eq(ChannelBlockchain::getBlockchainName, normalizedChain)
+ .last("LIMIT 1"));
+ if (existing != null) {
+ existing.setAddress(address.trim());
+ updateById(existing);
+ return existing;
+ }
+ ChannelBlockchain entity = new ChannelBlockchain();
+ entity.setCoin(normalizedCoin);
+ entity.setBlockchainName(normalizedChain);
+ entity.setAddress(address.trim());
+ entity.setAuto(false);
+ save(entity);
+ return entity;
}
}
--
Gitblit v1.9.3