登出接口

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 org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@RequestMapping("/data/ed/user") @RequestMapping("/data/ed/user")
@RestController @RestController
@ -60,4 +61,10 @@ public class UserController {
public ElectromagneticResult<?> deleteUser(@RequestBody UserDeleteRequest userDeleteRequest) { public ElectromagneticResult<?> deleteUser(@RequestBody UserDeleteRequest userDeleteRequest) {
return userFacade.deleteUser(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 * @return
*/ */
public Token selectToken(String token); public Token selectToken(String token);
/**
* 删除令牌
* @param token
* @return
*/
public int deleteToken(String token);
} }

View File

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

View File

@ -71,4 +71,12 @@ public class TokenServiceImpl implements TokenService {
} }
return false; 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 com.electromagnetic.industry.software.data.manage.request.user.*;
import electromagnetic.data.framework.share.model.ElectromagneticResult; import electromagnetic.data.framework.share.model.ElectromagneticResult;
import javax.servlet.http.HttpServletRequest;
public interface UserFacade { public interface UserFacade {
/** /**
@ -61,4 +63,11 @@ public interface UserFacade {
* @return * @return
*/ */
ElectromagneticResult<?> deleteUser(UserDeleteRequest userDeleteRequest); ElectromagneticResult<?> deleteUser(UserDeleteRequest userDeleteRequest);
/**
* 用户登出
* @param token
* @return
*/
ElectromagneticResult<?> logout(String token);
} }

View File

@ -19,4 +19,11 @@ public interface TokenMapper {
* @return Token * @return Token
*/ */
Token selectToken(String 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 @Override
public Token selectToken(String token) {return tokenMapper.selectToken(token);} 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} where token=#{token}
</select> </select>
<delete id="deleteToken" parameterType="String">
delete from tokens where token=#{token}
</delete>
</mapper> </mapper>

View File

@ -24,6 +24,7 @@ import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
@Service @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));
}
} }