登出接口

This commit is contained in:
s2042968 2024-11-26 11:06:17 +08:00
parent 39a279b96b
commit 010eb97a26
9 changed files with 66 additions and 2 deletions

View File

@ -7,6 +7,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@RequestMapping("/data/ed/user")
@RestController
@ -60,4 +61,10 @@ public class UserController {
public ElectromagneticResult<?> deleteUser(@RequestBody UserDeleteRequest userDeleteRequest) {
return userFacade.deleteUser(userDeleteRequest);
}
@ApiOperation(value="登出", notes = "")
@RequestMapping(value = "/logout", method = RequestMethod.POST)
public ElectromagneticResult<?> logout(@RequestHeader("Authorization") String token) {
return userFacade.logout(token);
}
}

View File

@ -17,4 +17,11 @@ public interface TokenRepository {
* @return
*/
public Token selectToken(String token);
/**
* 删除令牌
* @param token
* @return
*/
public int deleteToken(String token);
}

View File

@ -24,4 +24,9 @@ public interface TokenService {
* 查看token是否有效
*/
public Boolean isTokenValid(String tokenStr);
/**
* 删除token
*/
public int deleteToken(String tokenStr);
}

View File

@ -71,4 +71,12 @@ public class TokenServiceImpl implements TokenService {
}
return false;
}
/**
* 删除token
*/
@Override
public int deleteToken(String tokenStr){
return tokenRepository.deleteToken(tokenStr);
}
}

View File

@ -3,6 +3,8 @@ package com.electromagnetic.industry.software.data.manage.facade.user;
import com.electromagnetic.industry.software.data.manage.request.user.*;
import electromagnetic.data.framework.share.model.ElectromagneticResult;
import javax.servlet.http.HttpServletRequest;
public interface UserFacade {
/**
@ -61,4 +63,11 @@ public interface UserFacade {
* @return
*/
ElectromagneticResult<?> deleteUser(UserDeleteRequest userDeleteRequest);
/**
* 用户登出
* @param token
* @return
*/
ElectromagneticResult<?> logout(String token);
}

View File

@ -19,4 +19,11 @@ public interface TokenMapper {
* @return Token
*/
Token selectToken(String token);
/**
* 删除token
* @param token
* @return
*/
int deleteToken(String token);
}

View File

@ -30,4 +30,12 @@ public class TokenRepositoryImpl implements TokenRepository {
*/
@Override
public Token selectToken(String token) {return tokenMapper.selectToken(token);}
/**
* 删除令牌
* @param token
* @return
*/
@Override
public int deleteToken(String token) {return tokenMapper.deleteToken(token);};
}

View File

@ -36,4 +36,8 @@
where token=#{token}
</select>
<delete id="deleteToken" parameterType="String">
delete from tokens where token=#{token}
</delete>
</mapper>

View File

@ -24,6 +24,7 @@ import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@Service
@ -195,6 +196,14 @@ public class UserFacadeImpl implements UserFacade {
}
}
/**
* 用户登出
* @param token
* @return
*/
@Override
public ElectromagneticResult<?> logout(String token) {
token = token.substring(7);
return ElectromagneticResultUtil.success(tokenService.deleteToken(token));
}
}