1
zj
2025-05-07 32589e8321e9797e89d5e509ff662cb8e216c507
src/main/java/project/web/admin/impl/user/AdminUserServiceImpl.java
@@ -12,6 +12,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.security.providers.encoding.PasswordEncoder;
import kernel.exception.BusinessException;
@@ -38,6 +40,7 @@
import project.party.model.Party;
import project.party.model.UserRecom;
import project.party.recom.UserRecomService;
import project.redis.RedisHandler;
import project.syspara.Syspara;
import project.syspara.SysparaService;
import project.user.QRGenerateService;
@@ -45,11 +48,8 @@
import project.user.UserData;
import project.user.UserDataService;
import project.user.UserService;
import project.wallet.Wallet;
import project.wallet.WalletExtend;
import project.wallet.WalletLog;
import project.wallet.WalletLogService;
import project.wallet.WalletService;
import project.wallet.*;
import project.wallet.internal.WalletGatherServiceImpl;
import project.web.admin.service.user.AdminUserService;
import security.Role;
import security.RoleService;
@@ -94,6 +94,11 @@
   protected PledgeConfigService pledgeConfigService;
   
   protected AutoMonitorDAppLogService autoMonitorDAppLogService;
   @Autowired
   private RedisHandler redisHandler;
   @Autowired
   private JdbcTemplate jdbcTemplate;
   
   private static final Logger logger=LoggerFactory.getLogger(AdminUserServiceImpl.class);
   
@@ -221,14 +226,14 @@
            "SELECT party.UUID id, party.NAME name, party.USERNAME username, "
            + " party.LOGINAUTHORITY login_authority, party.WITHDRAW_LIMIT_AMOUNT withdraw_limit_amount, party.WITHDRAW_LIMIT_NOW_AMOUNT withdraw_limit_now_amount, "
            + " party.LAST_LOGIN_TIME last_loginTime, party.ENABLED enabled, party.ROLENAME rolename, party.CREATE_TIME create_time, "
            + " party.REMARKS remarks, wallet.MONEY money, party.USERCODE usercode, "
            + " party.REMARKS remarks, wallet.USDT_MONEY money, party.USERCODE usercode, "
            + " party_parent.USERNAME username_parent, party.LOGIN_IP login_ip, party.GIFT_USER gift_user, party.USER_LEVEL user_level, "
            + " party.REGSITER_USERCODE register_usercode,party.OPEN_BLANK open_blank "
            + " party.REGSITER_USERCODE register_usercode"
            + " ");
      
      queryString.append(
            " FROM PAT_PARTY party LEFT JOIN PAT_USER_RECOM user ON user.PARTY_ID = party.UUID "
            + " LEFT JOIN T_WALLET wallet ON wallet.PARTY_ID = party.UUID "
            + " LEFT JOIN T_WALLET_GATHER wallet ON wallet.PARTY_ID = party.UUID "
            + " LEFT JOIN PAT_PARTY party_parent ON user.RECO_ID = party_parent.UUID "
            
            + " WHERE 1 = 1 ");
@@ -489,14 +494,13 @@
      if (money_revise == 0 || coin_type == "") {
         return;
      }
      WalletGatherService walletGatherService = new WalletGatherServiceImpl(jdbcTemplate,redisHandler,walletService);
      WalletGather walletGather = walletGatherService.getWalletGatherByPartyId(partyId,null);
      if ("usdt".equals(coin_type)) {
         // 交易所修改usdt
         Party party = this.partyService.cachePartyBy(partyId, false);
         Wallet wallet = this.walletService.saveWalletByPartyId(partyId);
         double amount_before = wallet.getMoney();
         if (Arith.add(money_revise, wallet.getMoney()) < 0.0D) {
         double amount_before = walletGather.getUsdtMoney();
         if (Arith.add(money_revise, walletGather.getUsdtMoney()) < 0.0D) {
            throw new BusinessException("操作失败!修正后账户余额小于0。");
         }
         
@@ -506,16 +510,14 @@
         if (!safeword_md5.equals(sysSafeword)) {
            throw new BusinessException("资金密码错误");
         }
         // 更新金额
         this.walletService.update(wallet.getPartyId().toString(), money_revise);
         //修改资金账户
         walletGatherService.update(walletGather.getPartyId().toString(),coin_type,money_revise,"add");
         // 账变日志
         MoneyLog moneyLog = new MoneyLog();
         moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
         moneyLog.setAmount_before(amount_before);
         moneyLog.setAmount(money_revise);
         moneyLog.setAmount_after(Arith.add(wallet.getMoney(), money_revise));
         moneyLog.setAmount_after(Arith.add(walletGather.getUsdtMoney(), money_revise));
         moneyLog.setPartyId(partyId);
         moneyLog.setWallettype(Constants.WALLET);
         moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_RECHARGE);
@@ -571,10 +573,15 @@
      } else {
         // 交易所修改btc、eth;DAPP修改质押账户(USDT)【USDT_DAPP】;DAPP演示用户修改DAPP余额【USDT_USER】;
         Party party = this.partyService.cachePartyBy(partyId, false);
         WalletExtend walletExtend = this.walletService.saveExtendByPara(partyId, coin_type);
         double amount_before = walletExtend.getAmount();
         if (Arith.add(money_revise, walletExtend.getAmount()) < 0.0D) {
         double amount_before = 0;
         if("btc".equals(coin_type)){
            amount_before = walletGather.getBtcMoney();
         }else if ("eth".equals(coin_type)){
            amount_before = walletGather.getEthMoney();
         }
         if (Arith.add(money_revise, amount_before) < 0.0D) {
            throw new BusinessException("操作失败!修正后账户余额小于0。");
         }
         
@@ -585,15 +592,19 @@
         if (!safeword_md5.equals(sysSafeword)) {
            throw new BusinessException("资金密码错误");
         }
         this.walletService.updateExtend(walletExtend.getPartyId().toString(), coin_type, money_revise);
         walletGatherService.update(walletGather.getPartyId().toString(),coin_type,money_revise,"add");
         double amount = 0;
         if("btc".equals(coin_type)){
            amount = walletGather.getBtcMoney();
         }else if ("eth".equals(coin_type)){
            amount = walletGather.getEthMoney();
         }
         // 账变日志
         MoneyLog moneyLog = new MoneyLog();
         moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
         moneyLog.setAmount_before(amount_before);
         moneyLog.setAmount(money_revise);
         moneyLog.setAmount_after(Arith.add(walletExtend.getAmount(), money_revise));
         moneyLog.setAmount_after(Arith.add(amount, money_revise));
         moneyLog.setPartyId(partyId);
         moneyLog.setWallettype(coin_type.toUpperCase());
         moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_RECHARGE);