|
|
|
@ -18,7 +18,6 @@ import org.apache.dubbo.config.annotation.DubboService;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 操作日志记录
|
|
|
|
@ -46,22 +45,41 @@ public class RemoteUserServiceImpl implements RemoteUserService {
|
|
|
|
|
if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) {
|
|
|
|
|
throw new UserException("user.blocked", username);
|
|
|
|
|
}
|
|
|
|
|
// 角色集合
|
|
|
|
|
Set<String> rolePermission = permissionService.getRolePermission(sysUser.getUserId());
|
|
|
|
|
// 权限集合
|
|
|
|
|
Set<String> menuPermissions = permissionService.getMenuPermission(sysUser.getUserId());
|
|
|
|
|
LoginUser loginUser = new LoginUser();
|
|
|
|
|
loginUser.setUserId(sysUser.getUserId());
|
|
|
|
|
loginUser.setDeptId(sysUser.getDeptId());
|
|
|
|
|
loginUser.setUsername(sysUser.getUserName());
|
|
|
|
|
loginUser.setPassword(sysUser.getPassword());
|
|
|
|
|
loginUser.setUserType(sysUser.getUserType());
|
|
|
|
|
loginUser.setDeptName(sysUser.getDept().getDeptName());
|
|
|
|
|
loginUser.setMenuPermission(menuPermissions);
|
|
|
|
|
loginUser.setRolePermission(rolePermission);
|
|
|
|
|
List<RoleDTO> roles = BeanUtil.copyToList(sysUser.getRoles(), RoleDTO.class);
|
|
|
|
|
loginUser.setRoles(roles);
|
|
|
|
|
return loginUser;
|
|
|
|
|
// 此处可根据登录用户的数据不同 自行创建 loginUser
|
|
|
|
|
return buildLoginUser(sysUser);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public LoginUser getUserInfoByPhonenumber(String phonenumber) throws UserException {
|
|
|
|
|
SysUser sysUser = userService.selectUserByPhonenumber(phonenumber);
|
|
|
|
|
if (ObjectUtil.isNull(sysUser)) {
|
|
|
|
|
throw new UserException("user.not.exists", phonenumber);
|
|
|
|
|
}
|
|
|
|
|
if (UserStatus.DELETED.getCode().equals(sysUser.getDelFlag())) {
|
|
|
|
|
throw new UserException("user.password.delete", phonenumber);
|
|
|
|
|
}
|
|
|
|
|
if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) {
|
|
|
|
|
throw new UserException("user.blocked", phonenumber);
|
|
|
|
|
}
|
|
|
|
|
// 此处可根据登录用户的数据不同 自行创建 loginUser
|
|
|
|
|
return buildLoginUser(sysUser);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public LoginUser getUserInfoByOpenid(String openid) throws UserException {
|
|
|
|
|
// todo 自行实现 userService.selectUserByOpenid(openid);
|
|
|
|
|
SysUser sysUser = new SysUser();
|
|
|
|
|
if (ObjectUtil.isNull(sysUser)) {
|
|
|
|
|
// todo 用户不存在 业务逻辑自行实现
|
|
|
|
|
}
|
|
|
|
|
if (UserStatus.DELETED.getCode().equals(sysUser.getDelFlag())) {
|
|
|
|
|
// todo 用户已被删除 业务逻辑自行实现
|
|
|
|
|
}
|
|
|
|
|
if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) {
|
|
|
|
|
// todo 用户已被停用 业务逻辑自行实现
|
|
|
|
|
}
|
|
|
|
|
// 此处可根据登录用户的数据不同 自行创建 loginUser
|
|
|
|
|
return buildLoginUser(sysUser);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -76,4 +94,21 @@ public class RemoteUserServiceImpl implements RemoteUserService {
|
|
|
|
|
return userService.registerUser(sysUser);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 构建登录用户
|
|
|
|
|
*/
|
|
|
|
|
private LoginUser buildLoginUser(SysUser user) {
|
|
|
|
|
LoginUser loginUser = new LoginUser();
|
|
|
|
|
loginUser.setUserId(user.getUserId());
|
|
|
|
|
loginUser.setDeptId(user.getDeptId());
|
|
|
|
|
loginUser.setUsername(user.getUserName());
|
|
|
|
|
loginUser.setUserType(user.getUserType());
|
|
|
|
|
loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId()));
|
|
|
|
|
loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId()));
|
|
|
|
|
loginUser.setDeptName(user.getDept().getDeptName());
|
|
|
|
|
List<RoleDTO> roles = BeanUtil.copyToList(user.getRoles(), RoleDTO.class);
|
|
|
|
|
loginUser.setRoles(roles);
|
|
|
|
|
return loginUser;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|