|
@@ -143,6 +143,11 @@ public class SysUserController {
|
|
@GetMapping("/info/{username}")
|
|
@GetMapping("/info/{username}")
|
|
public R info(@PathVariable String username) {
|
|
public R info(@PathVariable String username) {
|
|
|
|
|
|
|
|
+ boolean b = username.endsWith("@mp");
|
|
|
|
+ if (b){
|
|
|
|
+ username = username.split("@")[0];
|
|
|
|
+ }
|
|
|
|
+
|
|
// 根据用户名查询用户时,过滤掉已删除和已禁用的用户
|
|
// 根据用户名查询用户时,过滤掉已删除和已禁用的用户
|
|
List<SysUser> user = userService.list(Wrappers.<SysUser>query().lambda().eq(SysUser::getUsername, username)
|
|
List<SysUser> user = userService.list(Wrappers.<SysUser>query().lambda().eq(SysUser::getUsername, username)
|
|
.eq(SysUser::getDelFlag, 0).eq(SysUser::getLockFlag, 0));
|
|
.eq(SysUser::getDelFlag, 0).eq(SysUser::getLockFlag, 0));
|
|
@@ -155,12 +160,22 @@ public class SysUserController {
|
|
UserInfo userInfo = userService.findUserInfo(user.get(0));
|
|
UserInfo userInfo = userService.findUserInfo(user.get(0));
|
|
// 校验用户角色是否包含众包用户和医药代表用户
|
|
// 校验用户角色是否包含众包用户和医药代表用户
|
|
|
|
|
|
- if (isZbOrDbUsers(userInfo.getRoles())) {
|
|
|
|
|
|
+ if (b || isZbOrDbUsers(userInfo.getRoles())) {
|
|
return R.ok(userInfo);
|
|
return R.ok(userInfo);
|
|
} else {
|
|
} else {
|
|
return R.failed(null, String.format("用户信息为空 %s", username));
|
|
return R.failed(null, String.format("用户信息为空 %s", username));
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
|
|
+ // 小程序多账号情况
|
|
|
|
+ if (b) {
|
|
|
|
+ for (SysUser u : user) {
|
|
|
|
+ UserInfo userInfo = userService.findUserInfo(u);
|
|
|
|
+ if (!isZbOrDbUsers(userInfo.getRoles())) {
|
|
|
|
+ // 角色是小程序角色,则直接返回
|
|
|
|
+ return R.ok(userInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
String password = redisTemplate.opsForValue().get(username) + "";
|
|
String password = redisTemplate.opsForValue().get(username) + "";
|
|
if (null != password) {
|
|
if (null != password) {
|
|
for (int i = 0; i < user.size(); i++) {
|
|
for (int i = 0; i < user.size(); i++) {
|