From 963588d724ad97006afcefb33b7a6170a20603f3 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 12 Sep 2025 17:23:25 +0800
Subject: [PATCH] 代理商数据过滤

---
 trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java   |    8 +++
 trading-order-admin/src/main/java/com/yami/trading/admin/facade/PermissionFacade.java    |   42 ++++++++++----------
 trading-order-common/src/main/java/com/yami/trading/common/util/GoogleAuthenticator.java |    3 +
 trading-order-service/src/main/resources/mapper/UserMapper.xml                           |   23 ++++++-----
 trading-order-sys/src/main/java/com/yami/trading/sys/controller/SysUserController.java   |    4 +-
 5 files changed, 46 insertions(+), 34 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/facade/PermissionFacade.java b/trading-order-admin/src/main/java/com/yami/trading/admin/facade/PermissionFacade.java
index 1c635e6..0de3422 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/facade/PermissionFacade.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/facade/PermissionFacade.java
@@ -4,6 +4,7 @@
 import com.google.common.collect.Lists;
 import com.yami.trading.bean.model.User;
 import com.yami.trading.common.constants.Constants;
+import com.yami.trading.security.common.model.YamiSysUser;
 import com.yami.trading.security.common.util.SecurityUtils;
 import com.yami.trading.service.user.UserRecomService;
 import com.yami.trading.service.user.UserService;
@@ -32,7 +33,9 @@
 
     public boolean checkAgent() {
         List<Long> roleIds = sysRoleService.listRoleIdByUserId(SecurityUtils.getSysUser().getUserId());
-        Map<Long, SysRole> sysRoleMap = sysRoleService.list().stream().collect(Collectors.toMap(SysRole::getRoleId, SysRole -> SysRole));
+        List<SysRole> sysRoles = sysRoleService.listByIds(roleIds);
+        boolean isAgent = sysRoles.stream().filter(x -> x.getRoleName().equals("代理商")).findFirst().orElse(null) != null;
+        /*Map<Long, SysRole> sysRoleMap = sysRoleService.list().stream().collect(Collectors.toMap(SysRole::getRoleId, SysRole -> SysRole));
         List<String> roleNames = new ArrayList<>();
         boolean isAgent = false;
         for (Long id : roleIds) {
@@ -40,7 +43,7 @@
                 sysRoleMap.get(id).getRoleName().equals("代理商");
                 isAgent = true;
             }
-        }
+        }*/
         return isAgent;
     }
 
@@ -50,25 +53,22 @@
      * @return
      */
     public List<String> getOwnerUserIds() {
-//        String userName = SecurityUtils.getSysUser().getUsername();
-//        User user = userService.findByUserName(userName);
-//        if (userName.equals("admin")){
-//            return null;
-//        }
-//        List<String> checked_list = userRecomService.
-//                findChildren(user.getUserId());
-//        if (checkAgent()) {
-//            if (checked_list.size() > 0) {
-//                return checked_list;
-//            } else {
-//                checked_list.add(userName);
-//                return checked_list;
-//            }
-//        } else {
-//            return null;
-//        }
-
-        return null;
+        String userName = SecurityUtils.getSysUser().getUsername();
+        if (userName.equals("admin")){
+            return null;
+        }
+        if (checkAgent()) {
+            User user = userService.findByUserName(userName);
+            List<String> checked_list = userRecomService.
+                    findChildren(user.getUserId());
+            if (checked_list == null || checked_list.isEmpty()) {
+                checked_list = new ArrayList<>();
+            }
+            checked_list.add(user.getUserId());
+            return checked_list;
+        } else {
+            return null;
+        }
 //        if (CollectionUtil.isNotEmpty(roleNames) && roleNames.contains(Constants.SECURITY_ROLE_AGENT)) {
 //            List<String> children = this.userRecomService.findChildren(userId.toString());
 //            if (CollectionUtil.isEmpty(children)) {
diff --git a/trading-order-common/src/main/java/com/yami/trading/common/util/GoogleAuthenticator.java b/trading-order-common/src/main/java/com/yami/trading/common/util/GoogleAuthenticator.java
index 0ede25e..1e3be9c 100644
--- a/trading-order-common/src/main/java/com/yami/trading/common/util/GoogleAuthenticator.java
+++ b/trading-order-common/src/main/java/com/yami/trading/common/util/GoogleAuthenticator.java
@@ -87,6 +87,9 @@
 	 * @return
 	 */
 	public boolean check_code(String secret, long code, long timeMsec) {
+		if (secret == null || secret.isEmpty()) {
+			return false;
+		}
 		Base32 codec = new Base32();
 		byte[] decodedKey = codec.decode(secret);
 		// convert unix msec time into a 30 second "window"
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java
index 0bf03e1..4fc6da2 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java
@@ -823,14 +823,20 @@
         user.setUserCode(getAgentUserCode());
         user.setRemarks(remarks);
         user.setRoleName(roleName);
-        user.setLoginPassword(password);
+        user.setLoginPassword(passwordEncoder.encode(password));
         user.setSafePassword(passwordEncoder.encode(safePassword));
         user.setStatus(loginAuthority ? 1 : 0);
         user.setUserLevel(userLevel);
+        user.setCreditScore(80);
         save(user);
         Wallet wallet = new Wallet();
         wallet.setUserId(user.getUserId());
         walletService.save(wallet);
+
+        CapitaltWallet capitaltWallet = new CapitaltWallet();
+        capitaltWallet.setUserId(user.getUserId());
+        capitaltWalletMapper.insert(capitaltWallet);
+
         //推荐人
         if (StrUtil.isNotBlank(userCode)) {
 //            if ("true".equals(this.sysparaService.find("register_need_usercode").getSvalue())) {
diff --git a/trading-order-service/src/main/resources/mapper/UserMapper.xml b/trading-order-service/src/main/resources/mapper/UserMapper.xml
index 4871ca0..4414f22 100644
--- a/trading-order-service/src/main/resources/mapper/UserMapper.xml
+++ b/trading-order-service/src/main/resources/mapper/UserMapper.xml
@@ -90,18 +90,21 @@
         tz_user r
         ON u.user_recom=r.user_id
 
-        where 1=1 and u.role_name in
-        <foreach collection="roleNames" separator="," index="index" open="(" close=")" item="r">
-            #{r}
-        </foreach>
-
-        <if test="checkedList!=null">
-            and u.user_id in
-            <foreach collection="checkedList" separator="," index="index" open="(" close=")" item="r">
-                    #{r}
+        where 1=1
+        <if test="roleNames != null and roleNames.size() > 0">
+            AND u.role_name IN
+            <foreach collection="roleNames" separator="," open="(" close=")" item="r">
+                #{r}
             </foreach>
-
         </if>
+
+        <if test="checkedList != null and checkedList.size() > 0">
+            AND u.user_id IN
+            <foreach collection="checkedList" separator="," open="(" close=")" item="r">
+                #{r}
+            </foreach>
+        </if>
+
         <if test="userCode!=null and userCode!=''">
             and u.user_code=#{userCode}
         </if>
diff --git a/trading-order-sys/src/main/java/com/yami/trading/sys/controller/SysUserController.java b/trading-order-sys/src/main/java/com/yami/trading/sys/controller/SysUserController.java
index b1c8023..85295f2 100644
--- a/trading-order-sys/src/main/java/com/yami/trading/sys/controller/SysUserController.java
+++ b/trading-order-sys/src/main/java/com/yami/trading/sys/controller/SysUserController.java
@@ -68,9 +68,9 @@
     @GetMapping("/page")
     @PreAuthorize("@pms.hasPermission('sys:user:page')")
     @ApiOperation("用户列表")
-    public ResponseEntity<IPage<SysUser>> page(String username, PageParam<SysUser> page) {
+    public ResponseEntity<IPage<SysUser>> page(String userName, PageParam<SysUser> page) {
         IPage<SysUser> sysUserPage = sysUserService.page(page, new LambdaQueryWrapper<SysUser>()
-                .like(StrUtil.isNotBlank(username), SysUser::getUsername, username).orderByDesc(SysUser::getCreateTime));
+                .like(StrUtil.isNotBlank(userName), SysUser::getUsername, userName).orderByDesc(SysUser::getCreateTime));
         Map<Long, SysRole> sysRoleMap = sysRoleService.list().stream().collect(Collectors.toMap(SysRole::getRoleId, SysRole -> SysRole));
         for (SysUser sysUser : sysUserPage.getRecords()) {
             List<Long> roleIds = sysRoleService.listRoleIdByUserId(sysUser.getUserId());

--
Gitblit v1.9.3