package cn.com.qmth.scancentral.controller; import cn.com.qmth.scancentral.bean.ScannerLoginInfo; import cn.com.qmth.scancentral.bean.User; import cn.com.qmth.scancentral.service.AuthService; import cn.com.qmth.scancentral.service.SessionService; import cn.com.qmth.scancentral.vo.AdminLoginVo; import cn.com.qmth.scancentral.vo.LogoutTimeVo; import cn.com.qmth.scancentral.vo.ScannerLoginVo; import com.qmth.boot.api.constant.ApiConstant; import com.qmth.boot.api.utils.RequestUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; @RestController @Api(tags = "登录相关接口") @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/user") public class LoginController extends BaseController { @Autowired private AuthService authService; @Autowired private SessionService sessionService; @ApiOperation(value = "管理员登录") @PostMapping("/login") public AdminLoginVo login(@RequestParam String loginName, @RequestParam String password, HttpServletRequest request) { return AdminLoginVo.of(authService.adminLogin(loginName, password, RequestUtil.getIpAddress(request))); } @ApiOperation(value = "扫描员登录") @PostMapping("/scanner/login") public ScannerLoginVo scannerLogin(ScannerLoginInfo loginInfo, HttpServletRequest request) { String ip = RequestUtil.getIpAddress(request); return ScannerLoginVo.of(authService.login(ip, loginInfo)); } @ApiOperation(value = "登出接口") @PostMapping("/logout") public LogoutTimeVo logout() { User user = getAccessUser(); sessionService.userLogout(user); LogoutTimeVo vo = new LogoutTimeVo(); vo.setLogoutTime(System.currentTimeMillis()); return vo; } }