Parcourir la source

货代下拉新增查询用户接口

liyuan il y a 8 mois
Parent
commit
3c70ad5ca9

+ 2 - 2
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@@ -532,8 +532,8 @@ public class UserController {
 	 */
 	@GetMapping("/selectListLos")
 	@ApiOperationSupport(order = 3)
-	public R<List<User>> selectListLos(@RequestParam("roles") String roles) {
-		return userSearchClient.listByRole(SysCache.getRoleIds(AuthUtil.getTenantId(), roles));
+	public R<List<User>> selectListLos(@RequestParam("roles") String roles, @RequestParam(value = "account", required = false) String account) {
+		return userService.selectUserByRolesAndAccount(SysCache.getRoleIds(AuthUtil.getTenantId(), roles), account);
 	}
 
 

+ 10 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.entity.UserInfo;
 import org.springblade.system.user.entity.UserOauth;
@@ -244,4 +245,13 @@ public interface IUserService extends BaseService<User> {
     List<User> selectListNotTenantId(String tenantId, String ids);
 
 	void updateByIdPointsBalance(List<User> users);
+
+	/**
+	 * 根据用户角色和账号查询用户
+	 *
+	 * @param roleIds 角色id
+	 * @param account 账号名
+	 * @return 结果
+	 */
+	R<List<User>> selectUserByRolesAndAccount(String roleIds, String account);
 }

+ 15 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -522,6 +522,21 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 		}
 	}
 
+	@Override
+	public R<List<User>> selectUserByRolesAndAccount(String roleIds, String account) {
+		List<Long> roleIdList = Func.toLongList(roleIds);
+		LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery();
+		String status = sysClient.getParamServiceNew("mall.data");
+		if (ObjectUtils.isNotNull(status) && "1".equals(status)) {
+			queryWrapper.apply("find_in_set(dept_id,'" + AuthUtil.getDeptId() + "')");
+		}
+		if (StringUtil.isNotBlank(account)) {
+			queryWrapper.like(User::getAccount, account);
+		}
+		roleIdList.forEach(id -> queryWrapper.like(User::getRoleId, id).or());
+		return R.data(this.list(queryWrapper));
+	}
+
 	/**
 	 * 查询顶级部门ID
 	 */