From 1004f3d16011f69894196bfd180ea539b76ba4e7 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 03 Jun 2026 15:27:26 +0800
Subject: [PATCH] 1
---
trading-order-admin/src/main/java/com/yami/trading/admin/controller/AddressController.java | 95 +++++++++++++++++++++++------------------------
1 files changed, 46 insertions(+), 49 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/AddressController.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/AddressController.java
index a1f645e..0b78bf3 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/AddressController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/AddressController.java
@@ -1,35 +1,26 @@
package com.yami.trading.admin.controller;
-import com.yami.trading.admin.model.LoginModel;
import com.yami.trading.admin.model.UpdateAddressModel;
import com.yami.trading.bean.model.ChannelBlockchain;
import com.yami.trading.common.constants.RedisKeys;
import com.yami.trading.common.domain.Result;
import com.yami.trading.common.exception.YamiShopBindException;
-import com.yami.trading.common.util.GoogleAuthenticator;
-import com.yami.trading.security.common.bo.UserInfoInTokenBO;
import com.yami.trading.security.common.enums.CryptoCurrencyEnum;
-import com.yami.trading.security.common.enums.SysTypeEnum;
-import com.yami.trading.security.common.util.LocalKeyStorageAESUtil;
-import com.yami.trading.security.common.vo.TokenInfoVO;
-import com.yami.trading.sys.model.SysUser;
+import com.yami.trading.service.ChannelBlockchainService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
-import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
-import java.util.Objects;
/**
- * @program: trading-order-master
- * @description: 充值地址
- * @create: 2025-08-07 14:44
- **/
+ * 管理后台 - 财务 - 充值地址(ChannelBlockchain 表)
+ */
@Slf4j
@RestController
@RequestMapping("address")
@@ -39,61 +30,62 @@
@Autowired
RedisTemplate redisTemplate;
- /**
- * 地址列表
- * @return
- */
+ @Autowired
+ private ChannelBlockchainService channelBlockchainService;
+
+ @ApiOperation("充值地址列表")
@PostMapping("/list")
- public Result<?> list() {
- List<CryptoCurrencyEnum> currencyEnums = CryptoCurrencyEnum.getAll();
- List<ChannelBlockchain> data = new ArrayList<>();
- currencyEnums.forEach(f->{
- try {
- String address = LocalKeyStorageAESUtil.loadAndDecrypt(f.getName());
- ChannelBlockchain blockchain = new ChannelBlockchain();
- blockchain.setBlockchain_name(f.getChain());
- blockchain.setAddress(address);
- blockchain.setCoin(f.getCoin());
- blockchain.setAuto(false);
- blockchain.setImg(null);
- data.add(blockchain);
- } catch (Exception e) {
- e.getMessage();
- }
- });
- return Result.succeed(data);
+ public Result<List<ChannelBlockchain>> list() {
+ List<ChannelBlockchain> list = channelBlockchainService.list();
+ list.forEach(this::fillBlockchainNameAlias);
+ return Result.succeed(list);
}
+ @ApiOperation("修改充值地址")
@PostMapping("/update")
- public Result<?> list(@RequestBody UpdateAddressModel model) {
- String name = model.getCoin().toLowerCase()+"_"+model.getChain().toLowerCase();
- try {
- if(model.getCoin().equals("eth") || model.getCoin().equals("btc")){
- name = model.getCoin();
+ public Result<ChannelBlockchain> update(@RequestBody UpdateAddressModel model) {
+ if (StringUtils.isNotBlank(model.getUuid())) {
+ ChannelBlockchain existing = channelBlockchainService.getById(model.getUuid());
+ if (existing == null) {
+ throw new YamiShopBindException("充值地址记录不存在");
}
- return LocalKeyStorageAESUtil.encryptAndStore(model.getPassword(),model.getAddress(),name);
- }catch (Exception e){
- e.getMessage();
+ if (StringUtils.isBlank(model.getAddress())) {
+ throw new YamiShopBindException("充值地址不能为空");
+ }
+ existing.setAddress(model.getAddress().trim());
+ if (StringUtils.isNotBlank(model.getCoin())) {
+ existing.setCoin(model.getCoin().trim().toLowerCase());
+ }
+ if (StringUtils.isNotBlank(model.getChain())) {
+ existing.setBlockchainName(model.getChain().trim());
+ }
+ channelBlockchainService.updateById(existing);
+ fillBlockchainNameAlias(existing);
+ return Result.succeed(existing);
}
- return Result.succeed();
+ ChannelBlockchain saved = channelBlockchainService.saveOrUpdateByCoinAndChain(
+ model.getCoin(), model.getChain(), model.getAddress());
+ fillBlockchainNameAlias(saved);
+ return Result.succeed(saved);
}
/**
- * u盾地址列表
- * @return
+ * u盾地址列表(按用户维度,仍走 Redis)
*/
@GetMapping("/getUDList")
- public Result<?> getUDList(String partyId) {
+ public Result<List<ChannelBlockchain>> getUDList(String partyId) {
if (partyId == null || partyId.isEmpty()) {
return Result.failed("请选择用户");
}
List<CryptoCurrencyEnum> currencyEnums = CryptoCurrencyEnum.getAll();
List<ChannelBlockchain> data = new ArrayList<>();
- currencyEnums.forEach(currencyEnum->{
+ currencyEnums.forEach(currencyEnum -> {
try {
- String address = (String)redisTemplate.opsForValue().get(RedisKeys.BLOCKCHAIN_ADDRESS + partyId + currencyEnum.getName());
+ String address = (String) redisTemplate.opsForValue()
+ .get(RedisKeys.BLOCKCHAIN_ADDRESS + partyId + currencyEnum.getName());
ChannelBlockchain blockchain = new ChannelBlockchain();
blockchain.setBlockchain_name(currencyEnum.getChain());
+ blockchain.setBlockchainName(currencyEnum.getChain());
blockchain.setAddress(address);
blockchain.setCoin(currencyEnum.getCoin());
blockchain.setAuto(false);
@@ -106,4 +98,9 @@
return Result.succeed(data);
}
+ private void fillBlockchainNameAlias(ChannelBlockchain item) {
+ if (item != null && StringUtils.isNotBlank(item.getBlockchainName())) {
+ item.setBlockchain_name(item.getBlockchainName());
+ }
+ }
}
--
Gitblit v1.9.3