From 0ebdfd97b5400c864584147bd72a0de768172d6e Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Tue, 27 Jan 2026 10:19:48 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/UserServiceImpl.java |   64 ++++++++++++++++++-------------
 1 files changed, 37 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index aa2bf20..4aaf9f2 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -166,7 +166,7 @@
 
 
         user.setAccountType(Integer.valueOf(0));
-        user.setIsLock(Integer.valueOf(1));
+        user.setIsLock(Integer.valueOf(0));
         user.setIsActive(Integer.valueOf(0));
 
         user.setRegTime(new Date());
@@ -176,7 +176,7 @@
         user.setRegAddress(uadd);
 
         user.setIsLogin(Integer.valueOf(0));
-
+        user.setRealType(0);
         int insertCount = this.userMapper.insert(user);
 
         if (insertCount > 0) {
@@ -395,7 +395,7 @@
     }
 
 
-    public ServerResponse auth(String realName, String idCard, String vaildNumber, String img1key, String img2key, String img3key, HttpServletRequest request) {
+    public ServerResponse auth(String realName, String idCard, Integer realType, String vaildNumber, String img1key, String img2key, String img3key, HttpServletRequest request) {
         if (StringUtils.isBlank(realName) ||
                 StringUtils.isBlank(idCard)) {
 
@@ -413,6 +413,7 @@
         user.setRealName(realName);
         user.setIdCard(idCard);
         user.setVaildNumber(vaildNumber);
+        user.setRealType(realType);
 
         user.setIsActive(Integer.valueOf(1));
 
@@ -631,31 +632,31 @@
     }
 
     @Override
-    public ServerResponse transfer(String fromType, String toType, String amt,HttpServletRequest request) {
-        try {
-            User user =  userService.getCurrentUser(request);
-            UserAssets formAssets = userAssetsServices.assetsByTypeAndUserId(fromType,user.getId());
-            BigDecimal amtBig = new BigDecimal(amt).abs();
+    @Transactional
+    public ServerResponse transfer(String fromType, String toType, String amt,HttpServletRequest request) throws Exception {
+        User user =  userService.getCurrentUser(request);
+        UserAssets formAssets = userAssetsServices.assetsByTypeAndUserId(fromType,user.getId());
+        BigDecimal amtBig = new BigDecimal(amt).abs();
 
-            // 转换手续费率
-            BigDecimal siteSettingBuyFee = new BigDecimal(iStockConfigServices.queryByKey(EConfigKey.EXCHANGE_HANDLING_CHARGE.getCode()).getCValue()) ;
-            BigDecimal orderFree = siteSettingBuyFee.multiply(amtBig);
-            //资金校验
-            BigDecimal needAmt = amtBig.add(orderFree);
-            if(formAssets.getAvailableBalance().compareTo(needAmt)<0){
-                return ServerResponse.createByErrorMsg("余额不足", request);
-            }
-
-            userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.HANDLING_CHARGE, orderFree, "", "");
-            userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.TRANSFER, amtBig.negate(),fromType+"/"+toType,"");
-            //转换金额
-            amtBig = userAssetsServices.exchangeAmountByRate(fromType, toType, amtBig);
-            userAssetsServices.availablebalanceChange(toType,user.getId(),EUserAssets.TRANSFER,amtBig.setScale(5,RoundingMode.HALF_DOWN),fromType+"/"+toType,"");
-
-            return ServerResponse.createBySuccess();
-        } catch (Exception e) {
-            return ServerResponse.createByErrorMsg(e.getMessage());
+        // 转换手续费率
+        BigDecimal siteSettingBuyFee = new BigDecimal(iStockConfigServices.queryByKey(EConfigKey.EXCHANGE_HANDLING_CHARGE.getCode()).getCValue()) ;
+        BigDecimal orderFree = siteSettingBuyFee.multiply(amtBig);
+        //资金校验
+        BigDecimal needAmt = amtBig.add(orderFree);
+        if(formAssets.getAvailableBalance().compareTo(needAmt)<0){
+            return ServerResponse.createByErrorMsg("余额不足", request);
         }
+
+        if (orderFree.compareTo(BigDecimal.ZERO) > 0) {
+            userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.HANDLING_CHARGE, orderFree, "", "");
+        }
+
+        userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.TRANSFER, amtBig.negate(),fromType+"/"+toType,"");
+        //转换金额
+        amtBig = userAssetsServices.exchangeAmountByRate(fromType, toType, amtBig);
+        userAssetsServices.availablebalanceChange(toType,user.getId(), EUserAssets.TRANSFER, amtBig.setScale(5,RoundingMode.HALF_DOWN),fromType+"/"+toType,"");
+
+        return ServerResponse.createBySuccess("操作成功", request);
     }
 
 
@@ -813,7 +814,8 @@
             user.setIsLogin(Integer.valueOf(0));
             user.setIsActive(Integer.valueOf(0));
             user.setRegTime(new Date());
-
+            user.setRealType(0);
+            user.setUserPwd(SymmetricCryptoUtil.encryptPassword(pwd));
 
             if (accountType.intValue() == 1) {
                 user.setNickName("模拟用户");
@@ -1136,6 +1138,7 @@
         userInfoVO.setNickName(user.getNickName());
         userInfoVO.setRealName(user.getRealName());
         userInfoVO.setIdCard(user.getIdCard());
+        userInfoVO.setRealType(user.getRealType());
         userInfoVO.setAccountType(user.getAccountType());
         userInfoVO.setRecomPhone(user.getRecomPhone());
         userInfoVO.setIsLock(user.getIsLock());
@@ -1197,5 +1200,12 @@
         return  ServerResponse.createBySuccess(mapper.selectList(queryWrapper));
     }
 
+    @Override
+    public int countPendingAuth() {
+        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_active", 1);
+        return this.userMapper.selectCount(queryWrapper).intValue();
+    }
+
 }
 

--
Gitblit v1.9.3