|
@@ -0,0 +1,59 @@
|
|
|
+/**
|
|
|
+ * Copyright (c) 2018 业主系统 All rights reserved.
|
|
|
+ * <p>
|
|
|
+ * https://www.yezhu.io
|
|
|
+ * <p>
|
|
|
+ * 版权所有,侵权必究!
|
|
|
+ */
|
|
|
+
|
|
|
+package com.kioor.user.controller;
|
|
|
+
|
|
|
+
|
|
|
+import com.kioor.annotation.Login;
|
|
|
+import com.kioor.common.utils.Result;
|
|
|
+import com.kioor.common.validator.ValidatorUtils;
|
|
|
+import com.kioor.user.dto.LoginDTO;
|
|
|
+import com.kioor.user.service.TokenService;
|
|
|
+import com.kioor.user.service.UserService;
|
|
|
+import io.swagger.v3.oas.annotations.Operation;
|
|
|
+import io.swagger.v3.oas.annotations.Parameter;
|
|
|
+import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 登录接口
|
|
|
+ *
|
|
|
+ * @author Mark sunlightcs@gmail.com
|
|
|
+ */
|
|
|
+@AllArgsConstructor
|
|
|
+@RestController
|
|
|
+@RequestMapping("/api/user")
|
|
|
+@Tag(name = "登录接口")
|
|
|
+public class ApiUserController {
|
|
|
+ private final UserService userService;
|
|
|
+ private final TokenService tokenService;
|
|
|
+
|
|
|
+ @PostMapping
|
|
|
+ @Operation(summary = "登录")
|
|
|
+ public Result<Map<String, Object>> login(@RequestBody LoginDTO dto) {
|
|
|
+ //表单校验
|
|
|
+ ValidatorUtils.validateEntity(dto);
|
|
|
+
|
|
|
+ //用户登录
|
|
|
+ Map<String, Object> map = userService.login(dto);
|
|
|
+
|
|
|
+ return new Result().ok(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Login
|
|
|
+ @PostMapping("logout")
|
|
|
+ @Operation(summary = "退出")
|
|
|
+ public Result logout(@Parameter(hidden = true) @RequestAttribute("userId") Long userId) {
|
|
|
+ tokenService.expireToken(userId);
|
|
|
+ return new Result();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|