review: 修改 api 结构.
This commit is contained in:
@@ -7,7 +7,6 @@ import com.orion.ops.framework.log.core.enums.IgnoreLogMode;
|
||||
import com.orion.ops.framework.web.core.annotation.RestWrapper;
|
||||
import com.orion.ops.module.infra.define.operator.AuthenticationOperatorType;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserLoginRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserUpdatePasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.vo.UserLoginVO;
|
||||
import com.orion.ops.module.infra.service.AuthenticationService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -58,12 +57,4 @@ public class AuthenticationController {
|
||||
return HttpWrapper.ok();
|
||||
}
|
||||
|
||||
@OperatorLog(AuthenticationOperatorType.UPDATE_PASSWORD)
|
||||
@Operation(summary = "修改密码")
|
||||
@PutMapping("/update-password")
|
||||
public HttpWrapper<?> updatePassword(@Validated @RequestBody UserUpdatePasswordRequest request) {
|
||||
authenticationService.updatePassword(request);
|
||||
return HttpWrapper.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
### 查询当前用户信息
|
||||
GET {{baseUrl}}/infra/mine/get-user
|
||||
Authorization: {{token}}
|
||||
|
||||
|
||||
### 更新当前用户信息
|
||||
PUT {{baseUrl}}/infra/mine/update-user
|
||||
Content-Type: application/json
|
||||
Authorization: {{token}}
|
||||
|
||||
{
|
||||
"nickname": "名称",
|
||||
"mobile": "15555555555",
|
||||
"email": "123@123.com"
|
||||
}
|
||||
|
||||
|
||||
### 修改当前用户密码
|
||||
PUT {{baseUrl}}/infra/mine/update-password
|
||||
Content-Type: application/json
|
||||
Authorization: {{token}}
|
||||
|
||||
{
|
||||
"beforePassword": "21232f297a57a5a743894a0e4a801fc3",
|
||||
"password": "21232f297a57a5a743894a0e4a801fc3"
|
||||
}
|
||||
|
||||
|
||||
### 查询当前用户登录日志
|
||||
GET {{baseUrl}}/infra/mine/login-history
|
||||
Authorization: {{token}}
|
||||
|
||||
###
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.orion.ops.module.infra.controller;
|
||||
|
||||
import com.orion.lang.define.wrapper.HttpWrapper;
|
||||
import com.orion.ops.framework.biz.operator.log.core.annotation.OperatorLog;
|
||||
import com.orion.ops.framework.log.core.annotation.IgnoreLog;
|
||||
import com.orion.ops.framework.log.core.enums.IgnoreLogMode;
|
||||
import com.orion.ops.framework.web.core.annotation.RestWrapper;
|
||||
import com.orion.ops.module.infra.define.operator.AuthenticationOperatorType;
|
||||
import com.orion.ops.module.infra.entity.request.user.SystemUserUpdateRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserUpdatePasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.vo.LoginHistoryVO;
|
||||
import com.orion.ops.module.infra.entity.vo.SystemUserVO;
|
||||
import com.orion.ops.module.infra.service.MineService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 个人服务
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2023/11/1 0:19
|
||||
*/
|
||||
@Tag(name = "infra - 个人服务")
|
||||
@Slf4j
|
||||
@Validated
|
||||
@RestWrapper
|
||||
@RestController
|
||||
@RequestMapping("/infra/mine")
|
||||
@SuppressWarnings({"ELValidationInJSP", "SpringElInspection"})
|
||||
public class MineController {
|
||||
|
||||
@Resource
|
||||
private MineService mineService;
|
||||
|
||||
@IgnoreLog(IgnoreLogMode.RET)
|
||||
@GetMapping("/get-user")
|
||||
@Operation(summary = "查询当前用户信息")
|
||||
public SystemUserVO getCurrentUserInfo() {
|
||||
return mineService.getCurrentUserInfo();
|
||||
}
|
||||
|
||||
@PutMapping("/update-user")
|
||||
@Operation(summary = "更新当前用户信息")
|
||||
public Integer updateCurrentUser(@Validated @RequestBody SystemUserUpdateRequest request) {
|
||||
return mineService.updateCurrentUser(request);
|
||||
}
|
||||
|
||||
@OperatorLog(AuthenticationOperatorType.UPDATE_PASSWORD)
|
||||
@Operation(summary = "修改当前用户密码")
|
||||
@PutMapping("/update-password")
|
||||
public HttpWrapper<?> updateCurrentUserPassword(@Validated @RequestBody UserUpdatePasswordRequest request) {
|
||||
mineService.updateCurrentUserPassword(request);
|
||||
return HttpWrapper.ok();
|
||||
}
|
||||
|
||||
@IgnoreLog(IgnoreLogMode.RET)
|
||||
@GetMapping("/login-history")
|
||||
@Operation(summary = "查询当前用户登录日志")
|
||||
public List<LoginHistoryVO> getCurrentLoginHistory() {
|
||||
return mineService.getCurrentLoginHistory();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -48,7 +48,6 @@ public class OperatorLogController {
|
||||
}
|
||||
|
||||
// fixme 权限配置
|
||||
|
||||
@IgnoreLog(IgnoreLogMode.RET)
|
||||
@GetMapping("/login-history")
|
||||
@Operation(summary = "查询用户登录日志")
|
||||
@@ -56,13 +55,5 @@ public class OperatorLogController {
|
||||
return operatorLogService.getLoginHistory(username);
|
||||
}
|
||||
|
||||
@IgnoreLog(IgnoreLogMode.RET)
|
||||
@GetMapping("/current-login-history")
|
||||
@Operation(summary = "查询当前用户登录日志")
|
||||
public List<LoginHistoryVO> getCurrentLoginHistory() {
|
||||
String username = SecurityUtils.getLoginUsername();
|
||||
return operatorLogService.getLoginHistory(username);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ import com.orion.ops.framework.biz.operator.log.core.annotation.OperatorLog;
|
||||
import com.orion.ops.framework.common.validator.group.Page;
|
||||
import com.orion.ops.framework.log.core.annotation.IgnoreLog;
|
||||
import com.orion.ops.framework.log.core.enums.IgnoreLogMode;
|
||||
import com.orion.ops.framework.security.core.utils.SecurityUtils;
|
||||
import com.orion.ops.framework.web.core.annotation.RestWrapper;
|
||||
import com.orion.ops.module.infra.define.operator.SystemUserOperatorType;
|
||||
import com.orion.ops.module.infra.entity.request.user.*;
|
||||
@@ -96,20 +95,6 @@ public class SystemUserController {
|
||||
return HttpWrapper.ok();
|
||||
}
|
||||
|
||||
@IgnoreLog(IgnoreLogMode.RET)
|
||||
@GetMapping("/get-current")
|
||||
@Operation(summary = "查询当前用户信息")
|
||||
public SystemUserVO getCurrentUserInfo() {
|
||||
return systemUserService.getSystemUserById(SecurityUtils.getLoginUserId());
|
||||
}
|
||||
|
||||
@PutMapping("/update-current")
|
||||
@Operation(summary = "更新当前用户信息")
|
||||
public Integer updateCurrentUser(@Validated @RequestBody SystemUserUpdateRequest request) {
|
||||
request.setId(SecurityUtils.getLoginUserId());
|
||||
return systemUserService.updateSystemUserById(request);
|
||||
}
|
||||
|
||||
@IgnoreLog(IgnoreLogMode.RET)
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "通过 id 查询用户")
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.orion.ops.module.infra.service;
|
||||
import com.orion.ops.framework.common.security.LoginUser;
|
||||
import com.orion.ops.module.infra.entity.dto.LoginTokenDTO;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserLoginRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserUpdatePasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.vo.UserLoginVO;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -43,13 +42,6 @@ public interface AuthenticationService {
|
||||
*/
|
||||
void logout(HttpServletRequest servletRequest);
|
||||
|
||||
/**
|
||||
* 修改密码
|
||||
*
|
||||
* @param request request
|
||||
*/
|
||||
void updatePassword(UserUpdatePasswordRequest request);
|
||||
|
||||
/**
|
||||
* 获取登录用户信息
|
||||
*
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.orion.ops.module.infra.service;
|
||||
|
||||
import com.orion.ops.module.infra.entity.request.user.SystemUserUpdateRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserUpdatePasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.vo.LoginHistoryVO;
|
||||
import com.orion.ops.module.infra.entity.vo.SystemUserVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 个人服务
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2023/11/1 0:25
|
||||
*/
|
||||
public interface MineService {
|
||||
|
||||
/**
|
||||
* 获取当前登录用户信息
|
||||
*
|
||||
* @return user
|
||||
*/
|
||||
SystemUserVO getCurrentUserInfo();
|
||||
|
||||
/**
|
||||
* 更新当前登录用户信息
|
||||
*
|
||||
* @param request request
|
||||
* @return effect
|
||||
*/
|
||||
Integer updateCurrentUser(SystemUserUpdateRequest request);
|
||||
|
||||
/**
|
||||
* 修改当前用户密码
|
||||
*
|
||||
* @param request request
|
||||
*/
|
||||
void updateCurrentUserPassword(UserUpdatePasswordRequest request);
|
||||
|
||||
/**
|
||||
* 获取当前用户登录日志
|
||||
*
|
||||
* @return 登录日志
|
||||
*/
|
||||
List<LoginHistoryVO> getCurrentLoginHistory();
|
||||
|
||||
}
|
||||
@@ -24,8 +24,6 @@ import com.orion.ops.module.infra.entity.domain.SystemRoleDO;
|
||||
import com.orion.ops.module.infra.entity.domain.SystemUserDO;
|
||||
import com.orion.ops.module.infra.entity.dto.LoginTokenDTO;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserLoginRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserResetPasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserUpdatePasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.vo.UserLoginVO;
|
||||
import com.orion.ops.module.infra.enums.LoginTokenStatusEnum;
|
||||
import com.orion.ops.module.infra.enums.UserStatusEnum;
|
||||
@@ -60,9 +58,6 @@ public class AuthenticationServiceImpl implements AuthenticationService {
|
||||
@Resource
|
||||
private SystemUserRoleDAO systemUserRoleDAO;
|
||||
|
||||
@Resource
|
||||
private SystemUserService systemUserService;
|
||||
|
||||
@Resource
|
||||
private PermissionService permissionService;
|
||||
|
||||
@@ -127,22 +122,6 @@ public class AuthenticationServiceImpl implements AuthenticationService {
|
||||
redisTemplate.delete(Lists.of(loginKey, refreshKey));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePassword(UserUpdatePasswordRequest request) {
|
||||
Long userId = SecurityUtils.getLoginUserId();
|
||||
// 查询用户信息
|
||||
SystemUserDO record = systemUserDAO.selectById(userId);
|
||||
Valid.notNull(record, ErrorMessage.USER_ABSENT);
|
||||
// 对比原始密码
|
||||
String beforePassword = Signatures.md5(request.getBeforePassword());
|
||||
Valid.eq(beforePassword, record.getPassword(), ErrorMessage.BEFORE_PASSWORD_ERROR);
|
||||
// 重置密码
|
||||
UserResetPasswordRequest reset = new UserResetPasswordRequest();
|
||||
reset.setId(userId);
|
||||
reset.setPassword(request.getPassword());
|
||||
systemUserService.resetPassword(reset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LoginUser getLoginUser(Long id) {
|
||||
String userInfoKey = UserCacheKeyDefine.USER_INFO.format(id);
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.orion.ops.module.infra.service.impl;
|
||||
|
||||
import com.orion.lang.utils.crypto.Signatures;
|
||||
import com.orion.ops.framework.common.constant.ErrorMessage;
|
||||
import com.orion.ops.framework.common.utils.Valid;
|
||||
import com.orion.ops.framework.security.core.utils.SecurityUtils;
|
||||
import com.orion.ops.module.infra.dao.SystemUserDAO;
|
||||
import com.orion.ops.module.infra.entity.domain.SystemUserDO;
|
||||
import com.orion.ops.module.infra.entity.request.user.SystemUserUpdateRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserResetPasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserUpdatePasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.vo.LoginHistoryVO;
|
||||
import com.orion.ops.module.infra.entity.vo.SystemUserVO;
|
||||
import com.orion.ops.module.infra.service.MineService;
|
||||
import com.orion.ops.module.infra.service.OperatorLogService;
|
||||
import com.orion.ops.module.infra.service.SystemUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 个人服务实现
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2023/11/1 0:25
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class MineServiceImpl implements MineService {
|
||||
|
||||
@Resource
|
||||
private SystemUserService systemUserService;
|
||||
|
||||
@Resource
|
||||
private OperatorLogService operatorLogService;
|
||||
|
||||
@Resource
|
||||
private SystemUserDAO systemUserDAO;
|
||||
|
||||
@Override
|
||||
public SystemUserVO getCurrentUserInfo() {
|
||||
return systemUserService.getSystemUserById(SecurityUtils.getLoginUserId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer updateCurrentUser(SystemUserUpdateRequest request) {
|
||||
request.setId(SecurityUtils.getLoginUserId());
|
||||
return systemUserService.updateSystemUserById(request);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateCurrentUserPassword(UserUpdatePasswordRequest request) {
|
||||
Long userId = SecurityUtils.getLoginUserId();
|
||||
// 查询用户信息
|
||||
SystemUserDO record = systemUserDAO.selectById(userId);
|
||||
Valid.notNull(record, ErrorMessage.USER_ABSENT);
|
||||
// 对比原始密码
|
||||
String beforePassword = Signatures.md5(request.getBeforePassword());
|
||||
Valid.eq(beforePassword, record.getPassword(), ErrorMessage.BEFORE_PASSWORD_ERROR);
|
||||
// 重置密码
|
||||
UserResetPasswordRequest reset = new UserResetPasswordRequest();
|
||||
reset.setId(userId);
|
||||
reset.setPassword(request.getPassword());
|
||||
systemUserService.resetPassword(reset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LoginHistoryVO> getCurrentLoginHistory() {
|
||||
String username = SecurityUtils.getLoginUsername();
|
||||
return operatorLogService.getLoginHistory(username);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user