| 
					
				 | 
			
			
				@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 登陆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 |