|  |  | 
 |  |  | import cn.lihu.jh.framework.common.enums.UserTypeEnum; | 
 |  |  | import cn.lihu.jh.framework.common.pojo.CommonResult; | 
 |  |  | import cn.lihu.jh.framework.security.config.SecurityProperties; | 
 |  |  | import cn.lihu.jh.framework.security.core.LoginUser; | 
 |  |  | import cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils; | 
 |  |  | import cn.lihu.jh.module.ecg.api.doctor.DoctorApi; | 
 |  |  | import cn.lihu.jh.module.system.controller.admin.auth.vo.*; | 
 |  |  | import cn.lihu.jh.module.system.convert.auth.AuthConvert; | 
 |  |  | import cn.lihu.jh.module.system.dal.dataobject.permission.MenuDO; | 
 |  |  | 
 |  |  |  | 
 |  |  | import static cn.lihu.jh.framework.common.pojo.CommonResult.success; | 
 |  |  | import static cn.lihu.jh.framework.common.util.collection.CollectionUtils.convertSet; | 
 |  |  | import static cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | 
 |  |  | import static cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils.*; | 
 |  |  |  | 
 |  |  | @Tag(name = "管理后台 - 认证") | 
 |  |  | @RestController | 
 |  |  | 
 |  |  |     @Resource | 
 |  |  |     private SecurityProperties securityProperties; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     private DoctorApi doctorApi; | 
 |  |  |  | 
 |  |  |     @PostMapping("/login") | 
 |  |  |     @PermitAll | 
 |  |  |     @Operation(summary = "使用账号密码登录") | 
 |  |  | 
 |  |  |     @PermitAll | 
 |  |  |     @Operation(summary = "登出系统") | 
 |  |  |     public CommonResult<Boolean> logout(HttpServletRequest request) { | 
 |  |  |         // 登出前,先离座 | 
 |  |  |         doctorApi.bedDoctorOff(getLoginUserId(), getLoginUserNickname()); | 
 |  |  |  | 
 |  |  |         String token = SecurityFrameworkUtils.obtainAuthorization(request, | 
 |  |  |                 securityProperties.getTokenHeader(), securityProperties.getTokenParameter()); | 
 |  |  |  | 
 |  |  |         if (StrUtil.isNotBlank(token)) { | 
 |  |  |             authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType()); | 
 |  |  |         } |