|
|
|
@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo;
|
|
|
|
|
import com.github.pagehelper.util.StringUtil;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
import org.springframework.cache.Cache;
|
|
|
|
|
import org.springframework.cache.annotation.CacheEvict;
|
|
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
@ -99,6 +100,9 @@ public class TokensManagerImpl implements ${domain}.module.wsys.mgr.TokensManage
|
|
|
|
|
|
|
|
|
|
long id = IDgenerator.nextId();
|
|
|
|
|
Tokens entity = MapperUtil.map(request, Tokens.class);
|
|
|
|
|
if (StringUtil.isEmpty(entity.getUserAlias())){
|
|
|
|
|
entity.setUserAlias(entity.getUserName());
|
|
|
|
|
}
|
|
|
|
|
entity.setId(id);
|
|
|
|
|
|
|
|
|
|
long result = tokensMapper.insert(entity, token);
|
|
|
|
@ -118,27 +122,38 @@ public class TokensManagerImpl implements ${domain}.module.wsys.mgr.TokensManage
|
|
|
|
|
* @param token 令牌
|
|
|
|
|
* @return 响应
|
|
|
|
|
*/
|
|
|
|
|
@CacheEvict(value = CacheConfig.TOKEN_CACHE, key = "#request.token", condition = "!#result.hasError()")
|
|
|
|
|
public TokensDeleteResponse delete(TokensDeleteRequest request, Token token) {
|
|
|
|
|
TokensDeleteResponse response = new TokensDeleteResponse();
|
|
|
|
|
|
|
|
|
|
ValidationUtil.validate(request, response);
|
|
|
|
|
if (response.hasError()) {
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
TokensFindRequest tokensFindRequest = new TokensFindRequest();
|
|
|
|
|
tokensFindRequest.setValid(true);
|
|
|
|
|
tokensFindRequest.setToken(request.getToken());
|
|
|
|
|
tokensFindRequest.setPageSize(0);
|
|
|
|
|
TokensFindResponse tokensFindResponse = this.find(tokensFindRequest, token);
|
|
|
|
|
for (Tokens tokens : tokensFindResponse.getResult()) {
|
|
|
|
|
long result = tokensMapper.delete(tokens.getId(), token);
|
|
|
|
|
if (request.getId() != null) {
|
|
|
|
|
Tokens tokens = tokensMapper.getById(request.getId(), token);
|
|
|
|
|
long result = tokensMapper.delete(request.getId(), token);
|
|
|
|
|
if (1L != result) {
|
|
|
|
|
response.addError(ErrorType.BUSINESS_ERROR, Message.DELETE_FAILURE);
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
response.setResult(result);
|
|
|
|
|
Cache cache = CacheConfig.getCache(CacheConfig.TOKEN_CACHE);
|
|
|
|
|
cache.evict(tokens.getToken());
|
|
|
|
|
} else if (StringUtil.isNotEmpty(request.getToken())) {
|
|
|
|
|
TokensFindRequest tokensFindRequest = new TokensFindRequest();
|
|
|
|
|
tokensFindRequest.setValid(true);
|
|
|
|
|
tokensFindRequest.setToken(request.getToken());
|
|
|
|
|
tokensFindRequest.setPageSize(0);
|
|
|
|
|
TokensFindResponse tokensFindResponse = this.find(tokensFindRequest, token);
|
|
|
|
|
for (Tokens tokens : tokensFindResponse.getResult()) {
|
|
|
|
|
long result = tokensMapper.delete(tokens.getId(), token);
|
|
|
|
|
if (1L != result) {
|
|
|
|
|
response.addError(ErrorType.BUSINESS_ERROR, Message.DELETE_FAILURE);
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
Cache cache = CacheConfig.getCache(CacheConfig.TOKEN_CACHE);
|
|
|
|
|
cache.evict(tokens.getToken());
|
|
|
|
|
}
|
|
|
|
|
response.setResult(tokensFindResponse.getTotalCount());
|
|
|
|
|
} else {
|
|
|
|
|
response.addError(ErrorType.BUSINESS_ERROR, "登录凭证标识不存在!");
|
|
|
|
|
}
|
|
|
|
|
response.setResult(tokensFindResponse.getTotalCount());
|
|
|
|
|
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
@ -161,11 +176,14 @@ public class TokensManagerImpl implements ${domain}.module.wsys.mgr.TokensManage
|
|
|
|
|
|
|
|
|
|
Tokens entity = tokensMapper.getById(request.getId(), token);
|
|
|
|
|
if (entity == null) {
|
|
|
|
|
response.addError(ErrorType.BUSINESS_ERROR, Message.GET_FAILURE);
|
|
|
|
|
return response;
|
|
|
|
|
response.addError(ErrorType.BUSINESS_ERROR, Message.GET_FAILURE);
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MapperUtil.map(request, entity);
|
|
|
|
|
if (StringUtil.isEmpty(entity.getUserAlias())){
|
|
|
|
|
entity.setUserAlias(entity.getUserName());
|
|
|
|
|
}
|
|
|
|
|
long result = tokensMapper.update(entity, token);
|
|
|
|
|
if (1L != result) {
|
|
|
|
|
response.addError(ErrorType.BUSINESS_ERROR, Message.UPDATE_FAILURE);
|
|
|
|
@ -240,19 +258,15 @@ public class TokensManagerImpl implements ${domain}.module.wsys.mgr.TokensManage
|
|
|
|
|
} else {
|
|
|
|
|
Tokens tokens = tokensFindResponse.getResult().get(0);
|
|
|
|
|
Token newToken = new Token();
|
|
|
|
|
newToken.setId(tokens.getId());
|
|
|
|
|
newToken.setToken(tokens.getToken());
|
|
|
|
|
newToken.setUserId(tokens.getUserId());
|
|
|
|
|
newToken.setUserName(tokens.getUserName());
|
|
|
|
|
newToken.setUserAlias(tokens.getUserAlias());
|
|
|
|
|
if (tokens.getUserName().equals(admin)) {//超级管理员
|
|
|
|
|
newToken.setId(0);
|
|
|
|
|
newToken.setToken(tokensFindResponse.getResult().get(0).getToken());
|
|
|
|
|
newToken.setUserId(0);
|
|
|
|
|
newToken.setUserName(admin);
|
|
|
|
|
newToken.putRes(".*");
|
|
|
|
|
} else { // 管理员或用户
|
|
|
|
|
<#if project.frameValue() = 1>
|
|
|
|
|
newToken.setId(tokens.getId());
|
|
|
|
|
newToken.setToken(tokensFindResponse.getResult().get(0).getToken());
|
|
|
|
|
newToken.setUserId(tokens.getUserId());
|
|
|
|
|
newToken.setUserName(tokens.getUserName());
|
|
|
|
|
|
|
|
|
|
// 获取用户的资源
|
|
|
|
|
ResLoadRequest resLoadRequest = new ResLoadRequest();
|
|
|
|
|
resLoadRequest.setPageSize(0);
|
|
|
|
|