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