typeRealms = new ArrayList<>();
-
- // 默认使用本地验证
- for (Realm realm : realms) {
- if (realm.getName().contains(loginType)) {
- typeRealms.add(realm);
- }
- }
-
- if (typeRealms.size() == 0) {
- DEException.throwException("No realm");
- }
- // 判断是单Realm还是多Realm
- if (typeRealms.size() == 1) {
- return doSingleRealmAuthentication(typeRealms.get(0), userToken);
- } else {
- return doMultiRealmAuthentication(typeRealms, userToken);
- }
- }
-}
diff --git a/backend/src/main/java/io/dataease/security/realm/LdapRealm.java b/backend/src/main/java/io/dataease/security/realm/LdapRealm.java
deleted file mode 100644
index aededd3b13..0000000000
--- a/backend/src/main/java/io/dataease/security/realm/LdapRealm.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package io.dataease.security.realm;
-
-
-import io.dataease.base.domain.Role;
-import io.dataease.commons.constants.UserSource;
-import io.dataease.commons.user.SessionUser;
-import io.dataease.commons.utils.SessionUtils;
-import io.dataease.dto.UserDTO;
-import io.dataease.i18n.Translator;
-import io.dataease.service.UserService;
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.authc.*;
-import org.apache.shiro.authz.AuthorizationInfo;
-import org.apache.shiro.authz.SimpleAuthorizationInfo;
-import org.apache.shiro.realm.AuthorizingRealm;
-import org.apache.shiro.subject.PrincipalCollection;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.annotation.Resource;
-import java.util.Arrays;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-
-/**
- * 自定义Realm 注入service 可能会导致在 service的aop 失效,例如@Transactional,
- * 解决方法:
- *
- * 1. 这里改成注入mapper,这样mapper 中的事务失效
- * 2. 这里仍然注入service,在配置ShiroConfig 的时候不去set realm, 等到spring 初始化完成之后
- * set realm
- *
- */
-public class LdapRealm extends AuthorizingRealm {
-
- private Logger logger = LoggerFactory.getLogger(LdapRealm.class);
- @Resource
- private UserService userService;
-
- @Override
- public String getName() {
- return "LDAP";
- }
-
- /**
- * 权限认证
- */
- @Override
- protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
- String userId = (String) principals.getPrimaryPrincipal();
- return getAuthorizationInfo(userId, userService);
- }
-
- public static AuthorizationInfo getAuthorizationInfo(String userId, UserService userService) {
- SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
- // roles 内容填充
- UserDTO userDTO = userService.getUserDTO(userId);
- Set roles = userDTO.getRoles().stream().map(Role::getId).collect(Collectors.toSet());
- authorizationInfo.setRoles(roles);
- return authorizationInfo;
- }
-
- /**
- * 登录认证
- */
- @Override
- protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
- UsernamePasswordToken token = (UsernamePasswordToken) authenticationToken;
-
- String userId = token.getUsername();
- String password = String.valueOf(token.getPassword());
-
- return loginLdapMode(userId, password);
- }
-
- private AuthenticationInfo loginLdapMode(String userId, String password) {
- // userId 或 email 有一个相同就返回User
- String email = (String) SecurityUtils.getSubject().getSession().getAttribute("email");
- UserDTO user = userService.getLoginUser(userId, Arrays.asList(UserSource.LDAP.name(), UserSource.LOCAL.name()));
- String msg;
- if (user == null) {
- user = userService.getUserDTOByEmail(email, UserSource.LDAP.name(), UserSource.LOCAL.name());
- if (user == null) {
- msg = "The user does not exist: " + userId;
- logger.warn(msg);
- throw new UnknownAccountException(Translator.get("user_not_exist") + userId);
- }
- userId = user.getId();
- }
-
- SessionUser sessionUser = SessionUser.fromUser(user);
- SessionUtils.putUser(sessionUser);
- return new SimpleAuthenticationInfo(userId, password, getName());
-
- }
-
- @Override
- public boolean isPermitted(PrincipalCollection principals, String permission) {
- return true;
- }
-}
diff --git a/backend/src/main/java/io/dataease/security/realm/ShiroDBRealm.java b/backend/src/main/java/io/dataease/security/realm/ShiroDBRealm.java
deleted file mode 100644
index 5e25a0e5bc..0000000000
--- a/backend/src/main/java/io/dataease/security/realm/ShiroDBRealm.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package io.dataease.security.realm;
-
-
-import io.dataease.base.domain.Role;
-import io.dataease.commons.constants.UserSource;
-import io.dataease.commons.user.SessionUser;
-import io.dataease.commons.utils.SessionUtils;
-import io.dataease.dto.UserDTO;
-import io.dataease.i18n.Translator;
-import io.dataease.service.UserService;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.authc.*;
-import org.apache.shiro.authz.AuthorizationInfo;
-import org.apache.shiro.authz.SimpleAuthorizationInfo;
-import org.apache.shiro.realm.AuthorizingRealm;
-import org.apache.shiro.subject.PrincipalCollection;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-
-import javax.annotation.Resource;
-import java.util.Collections;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-
-/**
- * 自定义Realm 注入service 可能会导致在 service的aop 失效,例如@Transactional,
- * 解决方法:
- *
- * 1. 这里改成注入mapper,这样mapper 中的事务失效
- * 2. 这里仍然注入service,在配置ShiroConfig 的时候不去set realm, 等到spring 初始化完成之后
- * set realm
- *
- */
-public class ShiroDBRealm extends AuthorizingRealm {
-
- private Logger logger = LoggerFactory.getLogger(ShiroDBRealm.class);
- @Resource
- private UserService userService;
-
- @Value("${run.mode:release}")
- private String runMode;
-
- @Override
- public String getName() {
- return "LOCAL";
- }
-
- /**
- * 权限认证
- */
- @Override
- protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
- String userId = (String) principals.getPrimaryPrincipal();
- return getAuthorizationInfo(userId, userService);
- }
-
- public static AuthorizationInfo getAuthorizationInfo(String userId, UserService userService) {
- SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
- // roles 内容填充
- UserDTO userDTO = userService.getUserDTO(userId);
- Set roles = userDTO.getRoles().stream().map(Role::getId).collect(Collectors.toSet());
- authorizationInfo.setRoles(roles);
- return authorizationInfo;
- }
-
- /**
- * 登录认证
- */
- @Override
- protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
- UsernamePasswordToken token = (UsernamePasswordToken) authenticationToken;
- String login = (String) SecurityUtils.getSubject().getSession().getAttribute("authenticate");
-
- String userId = token.getUsername();
- String password = String.valueOf(token.getPassword());
-
- if (StringUtils.equals("local", runMode)) {
- UserDTO user = getUserWithOutAuthenticate(userId);
- userId = user.getId();
- SessionUser sessionUser = SessionUser.fromUser(user);
- SessionUtils.putUser(sessionUser);
- return new SimpleAuthenticationInfo(userId, password, getName());
- }
-
- if (StringUtils.equals(login, UserSource.LOCAL.name())) {
- return loginLocalMode(userId, password);
- }
-
- UserDTO user = getUserWithOutAuthenticate(userId);
- userId = user.getId();
- SessionUser sessionUser = SessionUser.fromUser(user);
- SessionUtils.putUser(sessionUser);
- return new SimpleAuthenticationInfo(userId, password, getName());
-
- }
-
- private UserDTO getUserWithOutAuthenticate(String userId) {
- UserDTO user = userService.getUserDTO(userId);
- String msg;
- if (user == null) {
- user = userService.getUserDTOByEmail(userId);
- if (user == null) {
- msg = "The user does not exist: " + userId;
- logger.warn(msg);
- throw new UnknownAccountException(Translator.get("password_is_incorrect"));
- }
- }
- return user;
- }
-
- private AuthenticationInfo loginLocalMode(String userId, String password) {
- UserDTO user = userService.getLoginUser(userId, Collections.singletonList(UserSource.LOCAL.name()));
- String msg;
- if (user == null) {
- user = userService.getUserDTOByEmail(userId, UserSource.LOCAL.name());
- if (user == null) {
- msg = "The user does not exist: " + userId;
- logger.warn(msg);
- throw new UnknownAccountException(Translator.get("password_is_incorrect"));
- }
- userId = user.getId();
- }
- // 密码验证
- if (!userService.checkUserPassword(userId, password)) {
- throw new IncorrectCredentialsException(Translator.get("password_is_incorrect"));
- }
- SessionUser sessionUser = SessionUser.fromUser(user);
- SessionUtils.putUser(sessionUser);
- return new SimpleAuthenticationInfo(userId, password, getName());
- }
-
- @Override
- public boolean isPermitted(PrincipalCollection principals, String permission) {
- return true;
- }
-}
diff --git a/backend/src/main/java/io/dataease/service/BaseDisplayService.java b/backend/src/main/java/io/dataease/service/BaseDisplayService.java
index 54d5775ac7..8179525716 100644
--- a/backend/src/main/java/io/dataease/service/BaseDisplayService.java
+++ b/backend/src/main/java/io/dataease/service/BaseDisplayService.java
@@ -3,7 +3,7 @@ package io.dataease.service;
import io.dataease.base.domain.SystemParameter;
import io.dataease.base.domain.SystemParameterExample;
import io.dataease.base.mapper.SystemParameterMapper;
-import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
@@ -48,19 +48,15 @@ public class BaseDisplayService {
if (bytes == null) {
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(getClass().getClassLoader());
switch (imageName) {
- case "favicon":
- bytes = IOUtils.toByteArray(resolver.getResources("/static/img/favicon.ico")[0].getInputStream());
- contentType = MediaType.valueOf("image/vnd.microsoft.icon");
- break;
case "logo":
- bytes = IOUtils.toByteArray(resolver.getResources("/static/img/logo-light-MeterSphere*.svg")[0].getInputStream());
+ bytes = IOUtils.toByteArray(resolver.getResources("/static/img/logo-light-MeterSphere.*.svg")[0].getInputStream());
contentType = MediaType.valueOf("image/svg+xml");
break;
case "loginImage":
- bytes = IOUtils.toByteArray(resolver.getResources("/static/img/info*.png")[0].getInputStream());
+ bytes = IOUtils.toByteArray(resolver.getResources("/static/img/info.*.png")[0].getInputStream());
break;
case "loginLogo":
- bytes = IOUtils.toByteArray(resolver.getResources("/static/img/logo-dark-MeterSphere*.svg")[0].getInputStream());
+ bytes = IOUtils.toByteArray(resolver.getResources("/static/img/logo-dark-MeterSphere.*.svg")[0].getInputStream());
contentType = MediaType.valueOf("image/svg+xml");
break;
default:
diff --git a/backend/src/main/java/io/dataease/service/FileService.java b/backend/src/main/java/io/dataease/service/FileService.java
index f2e8508a9a..da799316cc 100644
--- a/backend/src/main/java/io/dataease/service/FileService.java
+++ b/backend/src/main/java/io/dataease/service/FileService.java
@@ -85,13 +85,9 @@ public class FileService {
}
public FileMetadata saveFile(MultipartFile file) {
- return saveFile(file,file.getOriginalFilename());
- }
-
- public FileMetadata saveFile(MultipartFile file,String originalFilename) {
final FileMetadata fileMetadata = new FileMetadata();
fileMetadata.setId(UUID.randomUUID().toString());
- fileMetadata.setName(originalFilename);
+ fileMetadata.setName(file.getOriginalFilename());
fileMetadata.setSize(file.getSize());
fileMetadata.setCreateTime(System.currentTimeMillis());
fileMetadata.setUpdateTime(System.currentTimeMillis());
diff --git a/backend/src/main/java/io/dataease/service/IntegrationService.java b/backend/src/main/java/io/dataease/service/IntegrationService.java
deleted file mode 100644
index 8029f0abd2..0000000000
--- a/backend/src/main/java/io/dataease/service/IntegrationService.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package io.dataease.service;
-
-import io.dataease.base.domain.ServiceIntegration;
-import io.dataease.base.domain.ServiceIntegrationExample;
-import io.dataease.base.mapper.ServiceIntegrationMapper;
-import io.dataease.base.mapper.ext.ExtProjectMapper;
-import io.dataease.controller.request.IntegrationRequest;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-@Service
-@Transactional(rollbackFor = Exception.class)
-public class IntegrationService {
-
- @Resource
- private ServiceIntegrationMapper serviceIntegrationMapper;
- @Resource
- private ExtProjectMapper extProjectMapper;
-
- public ServiceIntegration save(ServiceIntegration service) {
- ServiceIntegrationExample example = new ServiceIntegrationExample();
- example.createCriteria()
- .andOrganizationIdEqualTo(service.getOrganizationId())
- .andPlatformEqualTo(service.getPlatform());
- List list = serviceIntegrationMapper.selectByExample(example);
- if (!CollectionUtils.isEmpty(list)) {
- serviceIntegrationMapper.updateByExampleSelective(service, example);
- return list.get(0);
- } else {
- service.setId(UUID.randomUUID().toString());
- serviceIntegrationMapper.insertSelective(service);
- return service;
- }
- }
-
- public ServiceIntegration get(IntegrationRequest request) {
- String platform = request.getPlatform();
- String orgId = request.getOrgId();
- ServiceIntegrationExample example = new ServiceIntegrationExample();
- ServiceIntegrationExample.Criteria criteria = example.createCriteria();
-
- if (StringUtils.isNotBlank(platform)) {
- criteria.andPlatformEqualTo(platform);
- }
-
- if (StringUtils.isNotBlank(orgId)) {
- criteria.andOrganizationIdEqualTo(orgId);
- }
-
- List list = serviceIntegrationMapper.selectByExampleWithBLOBs(example);
- return CollectionUtils.isEmpty(list) ? new ServiceIntegration() : list.get(0);
- }
-
- public void delete(IntegrationRequest request) {
- String platform = request.getPlatform();
- String orgId = request.getOrgId();
- ServiceIntegrationExample example = new ServiceIntegrationExample();
- example.createCriteria()
- .andOrganizationIdEqualTo(orgId)
- .andPlatformEqualTo(platform);
- serviceIntegrationMapper.deleteByExample(example);
- // 删除项目关联的id/key
- extProjectMapper.removeIssuePlatform(platform, orgId);
- }
-
- public List getAll(String orgId) {
- ServiceIntegrationExample example = new ServiceIntegrationExample();
- example.createCriteria().andOrganizationIdEqualTo(orgId);
- List list = serviceIntegrationMapper.selectByExample(example);
- return CollectionUtils.isEmpty(list) ? new ArrayList<>() : list;
- }
-}
diff --git a/backend/src/main/java/io/dataease/service/NodeResourcePoolService.java b/backend/src/main/java/io/dataease/service/NodeResourcePoolService.java
deleted file mode 100644
index 82e9a5ef31..0000000000
--- a/backend/src/main/java/io/dataease/service/NodeResourcePoolService.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package io.dataease.service;
-
-import com.alibaba.fastjson.JSON;
-import io.dataease.base.domain.TestResource;
-import io.dataease.base.domain.TestResourceExample;
-import io.dataease.base.mapper.TestResourceMapper;
-import io.dataease.commons.constants.ResourceStatusEnum;
-import io.dataease.commons.exception.DEException;
-import io.dataease.commons.utils.LogUtil;
-import io.dataease.dto.NodeDTO;
-import io.dataease.dto.TestResourcePoolDTO;
-import io.dataease.i18n.Translator;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.tuple.ImmutablePair;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Service;
-import org.springframework.web.client.RestTemplate;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.UUID;
-import java.util.stream.Collectors;
-
-import static io.dataease.commons.constants.ResourceStatusEnum.VALID;
-
-@Service
-public class NodeResourcePoolService {
- private final static String nodeControllerUrl = "http://%s:%s/status";
-
- @Resource(name = "restTemplateWithTimeOut")
- private RestTemplate restTemplateWithTimeOut;
- @Resource
- private TestResourceMapper testResourceMapper;
-
- public boolean validate(TestResourcePoolDTO testResourcePool) {
- if (CollectionUtils.isEmpty(testResourcePool.getResources())) {
- DEException.throwException(Translator.get("no_nodes_message"));
- }
-
- deleteTestResource(testResourcePool.getId());
- List Ip_Port = testResourcePool.getResources().stream()
- .map(resource -> {
- NodeDTO nodeDTO = JSON.parseObject(resource.getConfiguration(), NodeDTO.class);
- return new ImmutablePair(nodeDTO.getIp(), nodeDTO.getPort());
- })
- .distinct()
- .collect(Collectors.toList());
- if (Ip_Port.size() < testResourcePool.getResources().size()) {
- DEException.throwException(Translator.get("duplicate_node_ip_port"));
- }
- testResourcePool.setStatus(VALID.name());
- boolean isValid = true;
- for (TestResource resource : testResourcePool.getResources()) {
- NodeDTO nodeDTO = JSON.parseObject(resource.getConfiguration(), NodeDTO.class);
- boolean isValidate = validateNode(nodeDTO);
- if (!isValidate) {
- testResourcePool.setStatus(ResourceStatusEnum.INVALID.name());
- resource.setStatus(ResourceStatusEnum.INVALID.name());
- isValid = false;
- } else {
- resource.setStatus(VALID.name());
- }
- resource.setTestResourcePoolId(testResourcePool.getId());
- updateTestResource(resource);
- }
- return isValid;
- }
-
-
- private boolean validateNode(NodeDTO node) {
- try {
- ResponseEntity entity = restTemplateWithTimeOut.getForEntity(String.format(nodeControllerUrl, node.getIp(), node.getPort()), String.class);
- return HttpStatus.OK.equals(entity.getStatusCode());
- } catch (Exception e) {
- LogUtil.error(e.getMessage(), e);
- return false;
- }
- }
-
- private void updateTestResource(TestResource testResource) {
- testResource.setUpdateTime(System.currentTimeMillis());
- testResource.setCreateTime(System.currentTimeMillis());
- if (StringUtils.isBlank(testResource.getId())) {
- testResource.setId(UUID.randomUUID().toString());
- }
- // 如果是更新操作,插入与原来的ID相同的数据
- testResourceMapper.insertSelective(testResource);
- }
-
- private void deleteTestResource(String testResourcePoolId) {
- TestResourceExample testResourceExample = new TestResourceExample();
- testResourceExample.createCriteria().andTestResourcePoolIdEqualTo(testResourcePoolId);
- testResourceMapper.deleteByExample(testResourceExample);
- }
-}
diff --git a/backend/src/main/java/io/dataease/service/OrganizationService.java b/backend/src/main/java/io/dataease/service/OrganizationService.java
deleted file mode 100644
index 4e85574f45..0000000000
--- a/backend/src/main/java/io/dataease/service/OrganizationService.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package io.dataease.service;
-
-import io.dataease.base.domain.*;
-import io.dataease.base.mapper.OrganizationMapper;
-import io.dataease.base.mapper.UserMapper;
-import io.dataease.base.mapper.UserRoleMapper;
-import io.dataease.base.mapper.WorkspaceMapper;
-import io.dataease.base.mapper.ext.ExtOrganizationMapper;
-import io.dataease.base.mapper.ext.ExtUserRoleMapper;
-import io.dataease.commons.constants.RoleConstants;
-import io.dataease.commons.exception.DEException;
-import io.dataease.commons.user.SessionUser;
-import io.dataease.commons.utils.SessionUtils;
-import io.dataease.controller.request.OrganizationRequest;
-import io.dataease.dto.OrganizationMemberDTO;
-import io.dataease.dto.UserDTO;
-import io.dataease.dto.UserRoleHelpDTO;
-import io.dataease.i18n.Translator;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-import java.util.stream.Collectors;
-
-@Service
-@Transactional(rollbackFor = Exception.class)
-public class OrganizationService {
-
- @Resource
- private OrganizationMapper organizationMapper;
- @Resource
- private UserRoleMapper userRoleMapper;
- @Resource
- private ExtUserRoleMapper extUserRoleMapper;
- @Resource
- private UserMapper userMapper;
- @Resource
- private ExtOrganizationMapper extOrganizationMapper;
- @Resource
- private WorkspaceMapper workspaceMapper;
- @Resource
- private WorkspaceService workspaceService;
- @Resource
- private UserService userService;
-
- public Organization addOrganization(Organization organization) {
- checkOrganization(organization);
- long currentTimeMillis = System.currentTimeMillis();
- organization.setId(UUID.randomUUID().toString());
- organization.setCreateTime(currentTimeMillis);
- organization.setUpdateTime(currentTimeMillis);
- organizationMapper.insertSelective(organization);
- return organization;
- }
-
- public List getOrganizationList(OrganizationRequest request) {
- OrganizationExample example = new OrganizationExample();
- OrganizationExample.Criteria criteria = example.createCriteria();
- if (StringUtils.isNotBlank(request.getName())) {
- criteria.andNameLike(StringUtils.wrapIfMissing(request.getName(), "%"));
- }
- example.setOrderByClause("update_time desc");
- return organizationMapper.selectByExample(example);
- }
-
- private void checkOrganization(Organization organization) {
- if (StringUtils.isBlank(organization.getName())) {
- DEException.throwException(Translator.get("organization_name_is_null"));
- }
-
- OrganizationExample example = new OrganizationExample();
- OrganizationExample.Criteria criteria = example.createCriteria();
- criteria.andNameEqualTo(organization.getName());
- if (StringUtils.isNotBlank(organization.getId())) {
- criteria.andIdNotEqualTo(organization.getId());
- }
-
- if (organizationMapper.countByExample(example) > 0) {
- DEException.throwException(Translator.get("organization_name_already_exists"));
- }
-
- }
-
- public void deleteOrganization(String organizationId) {
- WorkspaceExample example = new WorkspaceExample();
- WorkspaceExample.Criteria criteria = example.createCriteria();
- criteria.andOrganizationIdEqualTo(organizationId);
-
- // delete workspace
- List workspaces = workspaceMapper.selectByExample(example);
- List workspaceIdList = workspaces.stream().map(Workspace::getId).collect(Collectors.toList());
- for (String workspaceId : workspaceIdList) {
- workspaceService.deleteWorkspace(workspaceId);
- }
-
- // delete organization member
- UserRoleExample userRoleExample = new UserRoleExample();
- userRoleExample.createCriteria().andSourceIdEqualTo(organizationId);
- userRoleMapper.deleteByExample(userRoleExample);
-
- // delete org
- organizationMapper.deleteByPrimaryKey(organizationId);
- }
-
- public void updateOrganization(Organization organization) {
- checkOrganization(organization);
- organization.setCreateTime(null);
- organization.setUpdateTime(System.currentTimeMillis());
- organizationMapper.updateByPrimaryKeySelective(organization);
- }
-
- public List getOrganizationListByUserId(String userId) {
- List userRoleHelpList = extUserRoleMapper.getUserRoleHelpList(userId);
- List list = new ArrayList<>();
- userRoleHelpList.forEach(r -> {
- if (StringUtils.isEmpty(r.getParentId())) {
- list.add(r.getSourceId());
- } else {
- list.add(r.getParentId());
- }
- });
-
- // ignore list size is 0
- list.add("no_such_id");
-
- OrganizationExample organizationExample = new OrganizationExample();
- organizationExample.createCriteria().andIdIn(list);
- return organizationMapper.selectByExample(organizationExample);
- }
-
- public void updateOrgMember(OrganizationMemberDTO memberDTO) {
- String orgId = memberDTO.getOrganizationId();
- String userId = memberDTO.getId();
- // 已有角色
- List memberRoles = extUserRoleMapper.getOrganizationMemberRoles(orgId, userId);
- // 修改后的角色
- List roles = memberDTO.getRoleIds();
- List allRoleIds = memberRoles.stream().map(Role::getId).collect(Collectors.toList());
- // 更新用户时添加了角色
- for (int i = 0; i < roles.size(); i++) {
- if (checkSourceRole(orgId, userId, roles.get(i)) == 0) {
- UserRole userRole = new UserRole();
- userRole.setId(UUID.randomUUID().toString());
- userRole.setUserId(userId);
- userRole.setRoleId(roles.get(i));
- userRole.setSourceId(orgId);
- userRole.setCreateTime(System.currentTimeMillis());
- userRole.setUpdateTime(System.currentTimeMillis());
- userRoleMapper.insertSelective(userRole);
- }
- }
- allRoleIds.removeAll(roles);
- if (allRoleIds.size() > 0) {
- UserRoleExample userRoleExample = new UserRoleExample();
- userRoleExample.createCriteria().andUserIdEqualTo(userId)
- .andSourceIdEqualTo(orgId)
- .andRoleIdIn(allRoleIds);
- userRoleMapper.deleteByExample(userRoleExample);
- }
- }
-
- public Integer checkSourceRole(String orgId, String userId, String roleId) {
- return extOrganizationMapper.checkSourceRole(orgId, userId, roleId);
- }
-
- public void checkOrgOwner(String organizationId) {
- SessionUser sessionUser = SessionUtils.getUser();
- UserDTO user = userService.getUserDTO(sessionUser.getId());
- List collect = user.getUserRoles().stream()
- .filter(ur -> RoleConstants.ORG_ADMIN.equals(ur.getRoleId()) || RoleConstants.ORG_MEMBER.equals(ur.getRoleId()))
- .map(UserRole::getSourceId)
- .collect(Collectors.toList());
- if (!collect.contains(organizationId)) {
- DEException.throwException(Translator.get("organization_does_not_belong_to_user"));
- }
- }
-}
diff --git a/backend/src/main/java/io/dataease/service/RoleService.java b/backend/src/main/java/io/dataease/service/RoleService.java
deleted file mode 100644
index b35fca9013..0000000000
--- a/backend/src/main/java/io/dataease/service/RoleService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package io.dataease.service;
-
-import io.dataease.base.domain.Role;
-import io.dataease.base.mapper.RoleMapper;
-import io.dataease.base.mapper.ext.ExtRoleMapper;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-@Service
-@Transactional(rollbackFor = Exception.class)
-public class RoleService {
-
- @Resource
- private ExtRoleMapper extRoleMapper;
- @Resource
- private RoleMapper roleMapper;
-
- public List getRoleList(String sign) {
- return extRoleMapper.getRoleList(sign);
- }
-
- public List getAllRole() {
- return roleMapper.selectByExample(null);
- }
-}
diff --git a/backend/src/main/java/io/dataease/service/SSOService.java b/backend/src/main/java/io/dataease/service/SSOService.java
deleted file mode 100644
index 8ecdbb6861..0000000000
--- a/backend/src/main/java/io/dataease/service/SSOService.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package io.dataease.service;
-
-public interface SSOService {
- void logout() throws Exception;
-}
diff --git a/backend/src/main/java/io/dataease/service/TestResourceService.java b/backend/src/main/java/io/dataease/service/TestResourceService.java
deleted file mode 100644
index 3df3d63bf2..0000000000
--- a/backend/src/main/java/io/dataease/service/TestResourceService.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package io.dataease.service;
-
-import io.dataease.base.domain.TestResource;
-import io.dataease.base.domain.TestResourceExample;
-import io.dataease.base.mapper.TestResourceMapper;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.UUID;
-
-@Service
-@Transactional(rollbackFor = Exception.class)
-public class TestResourceService {
-
- @Resource
- private TestResourceMapper testResourceMapper;
-
- public TestResource addTestResource(TestResource testResource) {
- testResource.setId(UUID.randomUUID().toString());
- testResource.setStatus("1");
- testResource.setCreateTime(System.currentTimeMillis());
- testResource.setUpdateTime(System.currentTimeMillis());
- testResourceMapper.insertSelective(testResource);
- return testResource;
- }
-
- public List getTestResourceList(String testResourcePoolId) {
- TestResourceExample testResourceExample = new TestResourceExample();
- testResourceExample.createCriteria().andTestResourcePoolIdEqualTo(testResourcePoolId);
- List testResources = testResourceMapper.selectByExampleWithBLOBs(testResourceExample);
- return testResources;
- }
-
- public void deleteTestResource(String testResourceId) {
- testResourceMapper.deleteByPrimaryKey(testResourceId);
- }
-
- public void updateTestResource(TestResource testResource) {
- testResource.setUpdateTime(System.currentTimeMillis());
- testResourceMapper.updateByPrimaryKeySelective(testResource);
- }
-
- public List getResourcesByPoolId(String resourcePoolId) {
- TestResourceExample example = new TestResourceExample();
- example.createCriteria().andTestResourcePoolIdEqualTo(resourcePoolId);
- return testResourceMapper.selectByExampleWithBLOBs(example);
- }
-
- public TestResource getTestResource(String resourceId) {
- return testResourceMapper.selectByPrimaryKey(resourceId);
- }
-}
diff --git a/backend/src/main/java/io/dataease/service/UserKeyService.java b/backend/src/main/java/io/dataease/service/UserKeyService.java
deleted file mode 100644
index 44a8bf27f9..0000000000
--- a/backend/src/main/java/io/dataease/service/UserKeyService.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package io.dataease.service;
-
-import io.dataease.base.domain.UserKey;
-import io.dataease.base.domain.UserKeyExample;
-import io.dataease.base.mapper.UserKeyMapper;
-import io.dataease.commons.constants.ApiKeyConstants;
-import io.dataease.commons.exception.DEException;
-import io.dataease.i18n.Translator;
-import org.apache.commons.lang3.RandomStringUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.UUID;
-
-@Service
-public class UserKeyService {
-
- @Resource
- private UserKeyMapper userKeyMapper;
-
- @Resource
- private UserService userService;
-
- public List getUserKeysInfo(String userId) {
- UserKeyExample userKeysExample = new UserKeyExample();
- userKeysExample.createCriteria().andUserIdEqualTo(userId);
- userKeysExample.setOrderByClause("create_time");
- return userKeyMapper.selectByExample(userKeysExample);
- }
-
- public UserKey generateUserKey(String userId) {
- if (userService.getUserDTO(userId) == null) {
- DEException.throwException(Translator.get("user_not_exist") + userId);
- }
- UserKeyExample userKeysExample = new UserKeyExample();
- userKeysExample.createCriteria().andUserIdEqualTo(userId);
- List userKeysList = userKeyMapper.selectByExample(userKeysExample);
-
- if (!CollectionUtils.isEmpty(userKeysList) && userKeysList.size() >= 5) {
- DEException.throwException(Translator.get("user_apikey_limit"));
- }
-
- UserKey userKeys = new UserKey();
- userKeys.setId(UUID.randomUUID().toString());
- userKeys.setUserId(userId);
- userKeys.setStatus(ApiKeyConstants.ACTIVE.name());
- userKeys.setAccessKey(RandomStringUtils.randomAlphanumeric(16));
- userKeys.setSecretKey(RandomStringUtils.randomAlphanumeric(16));
- userKeys.setCreateTime(System.currentTimeMillis());
- userKeyMapper.insert(userKeys);
- return userKeyMapper.selectByPrimaryKey(userKeys.getId());
- }
-
- public void deleteUserKey(String id) {
- userKeyMapper.deleteByPrimaryKey(id);
- }
-
- public void activeUserKey(String id) {
- UserKey userKeys = new UserKey();
- userKeys.setId(id);
- userKeys.setStatus(ApiKeyConstants.ACTIVE.name());
- userKeyMapper.updateByPrimaryKeySelective(userKeys);
- }
-
- public void disableUserKey(String id) {
- UserKey userKeys = new UserKey();
- userKeys.setId(id);
- userKeys.setStatus(ApiKeyConstants.DISABLED.name());
- userKeyMapper.updateByPrimaryKeySelective(userKeys);
- }
-
- public UserKey getUserKey(String accessKey) {
- UserKeyExample userKeyExample = new UserKeyExample();
- userKeyExample.createCriteria().andAccessKeyEqualTo(accessKey).andStatusEqualTo(ApiKeyConstants.ACTIVE.name());
- List userKeysList = userKeyMapper.selectByExample(userKeyExample);
- if (!CollectionUtils.isEmpty(userKeysList)) {
- return userKeysList.get(0);
- }
- return null;
- }
-}
diff --git a/backend/src/main/java/io/dataease/service/UserRoleService.java b/backend/src/main/java/io/dataease/service/UserRoleService.java
deleted file mode 100644
index 3766735cc0..0000000000
--- a/backend/src/main/java/io/dataease/service/UserRoleService.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package io.dataease.service;
-
-import io.dataease.base.domain.Role;
-import io.dataease.base.domain.UserRole;
-import io.dataease.base.domain.UserRoleExample;
-import io.dataease.base.mapper.UserRoleMapper;
-import io.dataease.base.mapper.ext.ExtUserRoleMapper;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-@Service
-@Transactional(rollbackFor = Exception.class)
-public class UserRoleService {
-
- @Resource
- private ExtUserRoleMapper extUserRoleMapper;
- @Resource
- private UserRoleMapper userRoleMapper;
-
- public List getOrganizationMemberRoles(String orgId, String userId) {
- return extUserRoleMapper.getOrganizationMemberRoles(orgId, userId);
- }
-
- public List getWorkspaceMemberRoles(String workspaceId, String userId) {
- return extUserRoleMapper.getWorkspaceMemberRoles(workspaceId, userId);
- }
-
- public List