LoginController.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package cn.com.qmth.scancentral.controller;
  2. import cn.com.qmth.scancentral.bean.ScannerLoginInfo;
  3. import cn.com.qmth.scancentral.bean.User;
  4. import cn.com.qmth.scancentral.service.AuthService;
  5. import cn.com.qmth.scancentral.service.SessionService;
  6. import cn.com.qmth.scancentral.vo.AdminLoginVo;
  7. import cn.com.qmth.scancentral.vo.LogoutTimeVo;
  8. import cn.com.qmth.scancentral.vo.ScannerLoginVo;
  9. import com.qmth.boot.api.constant.ApiConstant;
  10. import com.qmth.boot.api.utils.RequestUtil;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.PostMapping;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RequestParam;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import javax.servlet.http.HttpServletRequest;
  19. @RestController
  20. @Api(tags = "登录相关接口")
  21. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/user")
  22. public class LoginController extends BaseController {
  23. @Autowired
  24. private AuthService authService;
  25. @Autowired
  26. private SessionService sessionService;
  27. @ApiOperation(value = "管理员登录")
  28. @PostMapping("/login")
  29. public AdminLoginVo login(@RequestParam String loginName, @RequestParam String password,
  30. HttpServletRequest request) {
  31. return AdminLoginVo.of(authService.adminLogin(loginName, password, RequestUtil.getIpAddress(request)));
  32. }
  33. @ApiOperation(value = "扫描员登录")
  34. @PostMapping("/scanner/login")
  35. public ScannerLoginVo scannerLogin(ScannerLoginInfo loginInfo, HttpServletRequest request) {
  36. String ip = RequestUtil.getIpAddress(request);
  37. return ScannerLoginVo.of(authService.login(ip, loginInfo));
  38. }
  39. @ApiOperation(value = "登出接口")
  40. @PostMapping("/logout")
  41. public LogoutTimeVo logout() {
  42. User user = getAccessUser();
  43. sessionService.userLogout(user);
  44. LogoutTimeVo vo = new LogoutTimeVo();
  45. vo.setLogoutTime(System.currentTimeMillis());
  46. return vo;
  47. }
  48. }