package com.gyee.alarm.controller; import com.gyee.alarm.model.vo.AjaxResult; import com.gyee.alarm.model.vo.AjaxStatus; import com.gyee.alarm.model.vo.TokenVo; import com.gyee.alarm.service.TokenService; import com.gyee.common.model.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.Date; @Controller @RequestMapping("/auth") @Api(value = "权限管理", tags = "权限管理") public class AuthController { @Resource private TokenService tokenService; @PostMapping("/login") @ResponseBody @ApiOperation(value = "使用账号密码登录") public AjaxResult login(@RequestBody TokenVo tokenVo) { if (StringUtils.notEmp(tokenVo)) { if (!tokenService.sessionMap.containsKey(tokenVo.getToken())) { tokenVo.setTime(new Date()); tokenService.sessionMap.put(tokenVo.getToken(), tokenVo); } tokenService.judegeSession(); } return AjaxResult.successData(AjaxStatus.success.code, "ok"); } @PostMapping("/logout") @ApiOperation(value = "登出系统") @ResponseBody public AjaxResult logout(@RequestBody TokenVo tokenVo) { if (StringUtils.notEmp(tokenVo)) { if (tokenService.sessionMap.containsKey(tokenVo.getToken())) { tokenService.sessionMap.remove(tokenVo.getToken()); } if (tokenService.sessionWtMap.containsKey(tokenVo.getToken())) { tokenService.sessionWtMap.remove(tokenVo.getToken()); } if (tokenService.sessionWpMap.containsKey(tokenVo.getToken())) { tokenService.sessionWpMap.remove(tokenVo.getToken()); } if (tokenService.sessionSubMap.containsKey(tokenVo.getToken())) { tokenService.sessionSubMap.remove(tokenVo.getToken()); } if (tokenService.sessionWeMap.containsKey(tokenVo.getToken())) { tokenService.sessionWeMap.remove(tokenVo.getToken()); } } tokenService.judegeSession(); return AjaxResult.successData(AjaxStatus.success.code, "ok"); } }