|
@ -55,6 +55,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.http.*;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.security.authentication.AuthenticationManager;
|
|
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
|
import org.springframework.security.oauth2.common.OAuth2AccessToken;
|
|
@ -178,6 +180,8 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
|
private HcyyService hcyyService;
|
|
|
@Autowired
|
|
|
private BaseSmsDao baseSmsDao;
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
|
|
|
@PostConstruct
|
|
|
private void init() {
|
|
@ -255,13 +259,17 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
|
}
|
|
|
|
|
|
|
|
|
@PostMapping(value = "/doctor/logOff")
|
|
|
@PostMapping(value = "/oauth/doctor/logOff")
|
|
|
public JSONObject doctorLogOff(HttpServletRequest request){
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
try {
|
|
|
String userAgent = request.getHeader("userAgent");
|
|
|
org.json.JSONObject json = new org.json.JSONObject(userAgent);
|
|
|
userDetailsService.logOff(json.getString("uid"));
|
|
|
BaseLoginLogDO loginLogDO = getLoginLog();
|
|
|
if(loginLogDO == null){
|
|
|
jsonObject.put("msg","该操作没有权限");
|
|
|
jsonObject.put("status",200);
|
|
|
return jsonObject;
|
|
|
}
|
|
|
userDetailsService.logOff(loginLogDO.getUserId());
|
|
|
jsonObject.put("msg","注销成功");
|
|
|
jsonObject.put("status",200);
|
|
|
return jsonObject;
|
|
@ -273,6 +281,28 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public HttpServletRequest getRequest(){
|
|
|
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
|
}
|
|
|
|
|
|
|
|
|
private BaseLoginLogDO getLoginLog(){
|
|
|
String accessToken = this.extractToken(getRequest());
|
|
|
String sql = "SELECT a.* from base_login_log a WHERE a.token='"+accessToken+"' ORDER BY a.create_time desc LIMIT 1";
|
|
|
List<BaseLoginLogDO> baseLoginLogDOList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(BaseLoginLogDO.class));
|
|
|
//BaseLoginLogDO loginLogDO = baseLoginLogDao.findByToken(accessToken);
|
|
|
return baseLoginLogDOList.size()>0?baseLoginLogDOList.get(0):null;
|
|
|
}
|
|
|
|
|
|
private String extractToken(HttpServletRequest request) {
|
|
|
String accessToken = request.getHeader("token");
|
|
|
if (null == accessToken) {
|
|
|
accessToken = request.getParameter("token");
|
|
|
}
|
|
|
return accessToken;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 登陆
|
|
|
*
|